/[escript]/trunk/ripley/src/Brick.cpp
ViewVC logotype

Diff of /trunk/ripley/src/Brick.cpp

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

revision 3760 by caltinay, Mon Jan 9 05:21:18 2012 UTC revision 3761 by caltinay, Mon Jan 9 06:50:33 2012 UTC
# Line 2211  void Brick::assemblePDESingle(Paso_Syste Line 2211  void Brick::assemblePDESingle(Paso_Syste
2211      const double h0 = m_l0/m_gNE0;      const double h0 = m_l0/m_gNE0;
2212      const double h1 = m_l1/m_gNE1;      const double h1 = m_l1/m_gNE1;
2213      const double h2 = m_l2/m_gNE2;      const double h2 = m_l2/m_gNE2;
2214      /* GENERATOR SNIP_PDE_SINGLE_PRE TOP */      /*** GENERATOR SNIP_PDE_SINGLE_PRE TOP */
2215      const double w0 = 0.0009303791403858427308*h1*h2/h0;      const double w0 = 0.0009303791403858427308*h1*h2/h0;
2216      const double w1 = 0.0009303791403858427308*h2;      const double w1 = 0.0009303791403858427308*h2;
2217      const double w10 = 0.012958509748503046158*h0*h2/h1;      const double w10 = 0.012958509748503046158*h0*h2/h1;
# Line 2411  void Brick::assemblePDESingle(Paso_Syste Line 2411  void Brick::assemblePDESingle(Paso_Syste
2411                          vector<double> EM_S(8*8, 0);                          vector<double> EM_S(8*8, 0);
2412                          vector<double> EM_F(8, 0);                          vector<double> EM_F(8, 0);
2413                          const index_t e = k0 + m_NE0*k1 + m_NE0*m_NE1*k2;                          const index_t e = k0 + m_NE0*k1 + m_NE0*m_NE1*k2;
2414                          /* GENERATOR SNIP_PDE_SINGLE TOP */                          /*** GENERATOR SNIP_PDE_SINGLE TOP */
2415                          ///////////////                          ///////////////
2416                          // process A //                          // process A //
2417                          ///////////////                          ///////////////
# Line 5321  void Brick::assemblePDESingle(Paso_Syste Line 5321  void Brick::assemblePDESingle(Paso_Syste
5321                              //cout << "-- AddtoSystem -- " << endl;                              //cout << "-- AddtoSystem -- " << endl;
5322                              addToSystemMatrix(mat, rowIndex, 1, rowIndex, 1, EM_S);                              addToSystemMatrix(mat, rowIndex, 1, rowIndex, 1, EM_S);
5323                          }                          }
5324                        } // end k0 loop
5325                    } // end k1 loop
5326                } // end k2 loop
5327            } // end of colouring
5328        } // end of parallel region
5329    }
5330    
5331    //protected
5332    void Brick::assemblePDESystem(Paso_SystemMatrix* mat, escript::Data& rhs,
5333            const escript::Data& A, const escript::Data& B,
5334            const escript::Data& C, const escript::Data& D,
5335            const escript::Data& X, const escript::Data& Y,
5336            const escript::Data& d, const escript::Data& y) const
5337    {
5338        const double h0 = m_l0/m_gNE0;
5339        const double h1 = m_l1/m_gNE1;
5340        const double h2 = m_l2/m_gNE2;
5341        dim_t numEq, numComp;
5342        if (!mat)
5343            numEq=numComp=(rhs.isEmpty() ? 1 : rhs.getDataPointSize());
5344        else {
5345            numEq=mat->logical_row_block_size;
5346            numComp=mat->logical_col_block_size;
5347        }
5348    
5349        /* GENERATOR SNIP_PDE_SYSTEM_PRE TOP */
5350        const double w0 = 0.0009303791403858427308*h1*h2/h0;
5351        const double w1 = 0.0009303791403858427308*h2;
5352        const double w10 = 0.012958509748503046158*h0*h2/h1;
5353        const double w100 = 0.038141762351741127649*h0*h1;
5354        const double w101 = 0.000052682092703316795705*h0*h1;
5355        const double w102 = 0.0007337668937680108255*h0*h1;
5356        const double w103 = 0.010220054420048834761*h0*h1;
5357        const double w104 = -0.0001966122466178319053*h1*h2;
5358        const double w105 = -0.0001966122466178319053*h0*h2;
5359        const double w106 = -0.0007337668937680108255*h1*h2;
5360        const double w107 = -0.0007337668937680108255*h0*h2;
5361        const double w108 = -0.0027384553284542113967*h1*h2;
5362        const double w109 = -0.0027384553284542113967*h0*h2;
5363        const double w11 = -0.0034722222222222222222*h0;
5364        const double w110 = -0.010220054420048834761*h1*h2;
5365        const double w111 = -0.010220054420048834761*h0*h2;
5366        const double w112 = -0.0007337668937680108255*h0*h1;
5367        const double w113 = -0.010220054420048834761*h0*h1;
5368        const double w114 = -0.038141762351741127649*h0*h2;
5369        const double w115 = -0.000052682092703316795705*h0*h2;
5370        const double w116 = -0.0001966122466178319053*h0*h1;
5371        const double w117 = -0.0027384553284542113967*h0*h1;
5372        const double w118 = 0.000052682092703316795705*h0*h2;
5373        const double w119 = 0.038141762351741127649*h0*h2;
5374        const double w12 = 0.0034722222222222222222*h1;
5375        const double w120 = 0.000052682092703316795705*h1*h2;
5376        const double w121 = 0.038141762351741127649*h1*h2;
5377        const double w122 = -0.000052682092703316795705*h0*h1;
5378        const double w123 = -0.038141762351741127649*h0*h1;
5379        const double w124 = -0.000052682092703316795705*h1*h2;
5380        const double w125 = -0.038141762351741127649*h1*h2;
5381        const double w126 = 0.027777777777777777778*h1*h2;
5382        const double w127 = 0.027777777777777777778*h0*h2;
5383        const double w128 = 0.055555555555555555556*h0*h1;
5384        const double w129 = -0.027777777777777777778*h1*h2;
5385        const double w13 = 0.012958509748503046158*h0;
5386        const double w130 = -0.027777777777777777778*h0*h2;
5387        const double w131 = 0.013888888888888888889*h0*h1;
5388        const double w132 = -0.055555555555555555556*h0*h2;
5389        const double w133 = -0.027777777777777777778*h0*h1;
5390        const double w134 = 0.055555555555555555556*h0*h2;
5391        const double w135 = 0.027777777777777777778*h0*h1;
5392        const double w136 = -0.013888888888888888889*h0*h1;
5393        const double w137 = 0.055555555555555555556*h1*h2;
5394        const double w138 = -0.013888888888888888889*h1*h2;
5395        const double w139 = -0.013888888888888888889*h0*h2;
5396        const double w14 = -0.0034722222222222222222*h0*h1/h2;
5397        const double w140 = -0.055555555555555555556*h0*h1;
5398        const double w141 = 0.013888888888888888889*h1*h2;
5399        const double w142 = 0.013888888888888888889*h0*h2;
5400        const double w143 = -0.055555555555555555556*h1*h2;
5401        const double w144 = 0.000041549056553524783501*h0*h1*h2;
5402        const double w145 = 0.0005787037037037037037*h0*h1*h2;
5403        const double w146 = 0.0080603027952983270684*h0*h1*h2;
5404        const double w147 = 0.0001550631900643071218*h0*h1*h2;
5405        const double w148 = 0.002159751624750507693*h0*h1*h2;
5406        const double w149 = 0.03008145955644280058*h0*h1*h2;
5407        const double w15 = 0.012958509748503046158*h1*h2/h0;
5408        const double w150 = 0.000011133036149792012204*h0*h1*h2;
5409        const double w151 = 0.018518518518518518519*h0*h1*h2;
5410        const double w152 = 0.0092592592592592592592*h0*h1*h2;
5411        const double w153 = 0.0046296296296296296296*h0*h1*h2;
5412        const double w154 = 0.037037037037037037037*h0*h1*h2;
5413        const double w155 = -0.077751058491018276949*h1*h2;
5414        const double w156 = -0.077751058491018276949*h0*h2;
5415        const double w157 = -0.077751058491018276949*h0*h1;
5416        const double w158 = -0.020833333333333333333*h0*h2;
5417        const double w159 = -0.020833333333333333333*h0*h1;
5418        const double w16 = -0.0034722222222222222222*h1;
5419        const double w160 = -0.020833333333333333333*h1*h2;
5420        const double w161 = -0.0055822748423150563848*h0*h1;
5421        const double w162 = -0.0055822748423150563848*h0*h2;
5422        const double w163 = -0.0055822748423150563848*h1*h2;
5423        const double w164 = 0.077751058491018276949*h1*h2;
5424        const double w165 = 0.020833333333333333333*h1*h2;
5425        const double w166 = 0.0055822748423150563848*h1*h2;
5426        const double w167 = 0.077751058491018276949*h0*h2;
5427        const double w168 = 0.020833333333333333333*h0*h2;
5428        const double w169 = 0.0055822748423150563848*h0*h2;
5429        const double w17 = -0.0009303791403858427308*h0;
5430        const double w170 = 0.077751058491018276949*h0*h1;
5431        const double w171 = 0.020833333333333333333*h0*h1;
5432        const double w172 = 0.0055822748423150563848*h0*h1;
5433        const double w173 = -0.25*h1*h2;
5434        const double w174 = -0.25*h0*h2;
5435        const double w175 = -0.25*h0*h1;
5436        const double w176 = 0.25*h1*h2;
5437        const double w177 = 0.25*h0*h2;
5438        const double w178 = 0.25*h0*h1;
5439        const double w179 = 0.061320326520293008568*h0*h1*h2;
5440        const double w18 = 0.012958509748503046158*h1;
5441        const double w180 = 0.01643073197072526838*h0*h1*h2;
5442        const double w181 = 0.004402601362608064953*h0*h1*h2;
5443        const double w182 = 0.0011796734797069914318*h0*h1*h2;
5444        const double w183 = 0.125*h0*h1*h2;
5445        const double w19 = 0.0034722222222222222222*h0;
5446        const double w2 = -0.00024929433932114870101*h1;
5447        const double w20 = 0.012958509748503046158*h2;
5448        const double w21 = -0.012958509748503046158*h1;
5449        const double w22 = -0.012958509748503046158*h0;
5450        const double w23 = 0.04836181677178996241*h1;
5451        const double w24 = 0.04836181677178996241*h0;
5452        const double w25 = -0.04836181677178996241*h0*h1/h2;
5453        const double w26 = 0.00024929433932114870101*h1;
5454        const double w27 = 0.00024929433932114870101*h0;
5455        const double w28 = -0.04836181677178996241*h1;
5456        const double w29 = -0.04836181677178996241*h0;
5457        const double w3 = 0.0009303791403858427308*h0*h2/h1;
5458        const double w30 = -0.0009303791403858427308*h1*h2/h0;
5459        const double w31 = -0.0009303791403858427308*h2;
5460        const double w32 = -0.0009303791403858427308*h0*h2/h1;
5461        const double w33 = 0.0034722222222222222222*h0*h1/h2;
5462        const double w34 = -0.0034722222222222222222*h2;
5463        const double w35 = -0.00024929433932114870101*h2;
5464        const double w36 = -0.012958509748503046158*h1*h2/h0;
5465        const double w37 = -0.012958509748503046158*h2;
5466        const double w38 = -0.012958509748503046158*h0*h2/h1;
5467        const double w39 = -0.04836181677178996241*h2;
5468        const double w4 = -0.00024929433932114870101*h0;
5469        const double w40 = -0.0034722222222222222222*h0*h2/h1;
5470        const double w41 = 0.0009303791403858427308*h0*h1/h2;
5471        const double w42 = 0.04836181677178996241*h2;
5472        const double w43 = -0.04836181677178996241*h0*h2/h1;
5473        const double w44 = 0.012958509748503046158*h0*h1/h2;
5474        const double w45 = -0.00024929433932114870101*h0*h2/h1;
5475        const double w46 = 0.00024929433932114870101*h2;
5476        const double w47 = -0.0034722222222222222222*h1*h2/h0;
5477        const double w48 = -0.00024929433932114870101*h1*h2/h0;
5478        const double w49 = -0.04836181677178996241*h1*h2/h0;
5479        const double w5 = 0.0009303791403858427308*h1;
5480        const double w50 = 0.0034722222222222222222*h0*h2/h1;
5481        const double w51 = -0.0009303791403858427308*h0*h1/h2;
5482        const double w52 = -0.012958509748503046158*h0*h1/h2;
5483        const double w53 = 0.0034722222222222222222*h1*h2/h0;
5484        const double w54 = 0.00024929433932114870101*h0*h1/h2;
5485        const double w55 = 0.04836181677178996241*h0*h2/h1;
5486        const double w56 = 0.04836181677178996241*h1*h2/h0;
5487        const double w57 = 0.04836181677178996241*h0*h1/h2;
5488        const double w58 = 0.00024929433932114870101*h1*h2/h0;
5489        const double w59 = 0.00024929433932114870101*h0*h2/h1;
5490        const double w6 = 0.0009303791403858427308*h0;
5491        const double w60 = 0.055555555555555555556*h1*h2/h0;
5492        const double w61 = 0.041666666666666666667*h2;
5493        const double w62 = -0.083333333333333333333*h1;
5494        const double w63 = 0.055555555555555555556*h0*h2/h1;
5495        const double w64 = -0.083333333333333333333*h0;
5496        const double w65 = 0.083333333333333333333*h1;
5497        const double w66 = 0.083333333333333333333*h0;
5498        const double w67 = -0.11111111111111111111*h0*h1/h2;
5499        const double w68 = -0.055555555555555555556*h1*h2/h0;
5500        const double w69 = -0.083333333333333333333*h2;
5501        const double w7 = -0.00024929433932114870101*h0*h1/h2;
5502        const double w70 = -0.041666666666666666667*h1;
5503        const double w71 = -0.055555555555555555556*h0*h2/h1;
5504        const double w72 = -0.041666666666666666667*h0;
5505        const double w73 = 0.041666666666666666667*h1;
5506        const double w74 = 0.041666666666666666667*h0;
5507        const double w75 = 0.027777777777777777778*h0*h1/h2;
5508        const double w76 = 0.083333333333333333333*h2;
5509        const double w77 = -0.11111111111111111111*h0*h2/h1;
5510        const double w78 = 0.055555555555555555556*h0*h1/h2;
5511        const double w79 = -0.11111111111111111111*h1*h2/h0;
5512        const double w8 = 0.0034722222222222222222*h2;
5513        const double w80 = -0.027777777777777777778*h1*h2/h0;
5514        const double w81 = -0.041666666666666666667*h2;
5515        const double w82 = -0.027777777777777777778*h0*h2/h1;
5516        const double w83 = -0.027777777777777777778*h0*h1/h2;
5517        const double w84 = 0.027777777777777777778*h0*h2/h1;
5518        const double w85 = -0.055555555555555555556*h0*h1/h2;
5519        const double w86 = 0.11111111111111111111*h1*h2/h0;
5520        const double w87 = 0.11111111111111111111*h0*h2/h1;
5521        const double w88 = 0.11111111111111111111*h0*h1/h2;
5522        const double w89 = 0.027777777777777777778*h1*h2/h0;
5523        const double w9 = -0.0009303791403858427308*h1;
5524        const double w90 = 0.0001966122466178319053*h1*h2;
5525        const double w91 = 0.0001966122466178319053*h0*h2;
5526        const double w92 = 0.0001966122466178319053*h0*h1;
5527        const double w93 = 0.0007337668937680108255*h1*h2;
5528        const double w94 = 0.0027384553284542113967*h0*h2;
5529        const double w95 = 0.0027384553284542113967*h0*h1;
5530        const double w96 = 0.0027384553284542113967*h1*h2;
5531        const double w97 = 0.0007337668937680108255*h0*h2;
5532        const double w98 = 0.010220054420048834761*h1*h2;
5533        const double w99 = 0.010220054420048834761*h0*h2;
5534        /* GENERATOR SNIP_PDE_SYSTEM_PRE BOTTOM */
5535    
5536        rhs.requireWrite();
5537    #pragma omp parallel
5538        {
5539            for (index_t k2_0=0; k2_0<2; k2_0++) { // colouring
5540    #pragma omp for
5541                for (index_t k2=k2_0; k2<m_NE2; k2+=2) {
5542                    for (index_t k1=0; k1<m_NE1; ++k1) {
5543                        for (index_t k0=0; k0<m_NE0; ++k0)  {
5544                            bool add_EM_S=false;
5545                            bool add_EM_F=false;
5546                            vector<double> EM_S(8*8*numEq*numComp, 0);
5547                            vector<double> EM_F(8*numEq, 0);
5548                            const index_t e = k0 + m_NE0*k1 + m_NE0*m_NE1*k2;
5549                            /* GENERATOR SNIP_PDE_SYSTEM TOP */
5550                            ///////////////
5551                            // process A //
5552                            ///////////////
5553                            if (!A.isEmpty()) {
5554                                add_EM_S=true;
5555                                const double* A_p=const_cast<escript::Data*>(&A)->getSampleDataRO(e);
5556                                if (A.actsExpanded()) {
5557                                    for (index_t k=0; k<numEq; k++) {
5558                                        for (index_t m=0; m<numComp; m++) {
5559                                            const register double A_00_0 = A_p[INDEX5(k,0,m,0,0, numEq,3,numComp,3)];
5560                                            const register double A_01_0 = A_p[INDEX5(k,0,m,1,0, numEq,3,numComp,3)];
5561                                            const register double A_02_0 = A_p[INDEX5(k,0,m,2,0, numEq,3,numComp,3)];
5562                                            const register double A_10_0 = A_p[INDEX5(k,1,m,0,0, numEq,3,numComp,3)];
5563                                            const register double A_11_0 = A_p[INDEX5(k,1,m,1,0, numEq,3,numComp,3)];
5564                                            const register double A_12_0 = A_p[INDEX5(k,1,m,2,0, numEq,3,numComp,3)];
5565                                            const register double A_20_0 = A_p[INDEX5(k,2,m,0,0, numEq,3,numComp,3)];
5566                                            const register double A_21_0 = A_p[INDEX5(k,2,m,1,0, numEq,3,numComp,3)];
5567                                            const register double A_22_0 = A_p[INDEX5(k,2,m,2,0, numEq,3,numComp,3)];
5568                                            const register double A_00_1 = A_p[INDEX5(k,0,m,0,1, numEq,3,numComp,3)];
5569                                            const register double A_01_1 = A_p[INDEX5(k,0,m,1,1, numEq,3,numComp,3)];
5570                                            const register double A_02_1 = A_p[INDEX5(k,0,m,2,1, numEq,3,numComp,3)];
5571                                            const register double A_10_1 = A_p[INDEX5(k,1,m,0,1, numEq,3,numComp,3)];
5572                                            const register double A_11_1 = A_p[INDEX5(k,1,m,1,1, numEq,3,numComp,3)];
5573                                            const register double A_12_1 = A_p[INDEX5(k,1,m,2,1, numEq,3,numComp,3)];
5574                                            const register double A_20_1 = A_p[INDEX5(k,2,m,0,1, numEq,3,numComp,3)];
5575                                            const register double A_21_1 = A_p[INDEX5(k,2,m,1,1, numEq,3,numComp,3)];
5576                                            const register double A_22_1 = A_p[INDEX5(k,2,m,2,1, numEq,3,numComp,3)];
5577                                            const register double A_00_2 = A_p[INDEX5(k,0,m,0,2, numEq,3,numComp,3)];
5578                                            const register double A_01_2 = A_p[INDEX5(k,0,m,1,2, numEq,3,numComp,3)];
5579                                            const register double A_02_2 = A_p[INDEX5(k,0,m,2,2, numEq,3,numComp,3)];
5580                                            const register double A_10_2 = A_p[INDEX5(k,1,m,0,2, numEq,3,numComp,3)];
5581                                            const register double A_11_2 = A_p[INDEX5(k,1,m,1,2, numEq,3,numComp,3)];
5582                                            const register double A_12_2 = A_p[INDEX5(k,1,m,2,2, numEq,3,numComp,3)];
5583                                            const register double A_20_2 = A_p[INDEX5(k,2,m,0,2, numEq,3,numComp,3)];
5584                                            const register double A_21_2 = A_p[INDEX5(k,2,m,1,2, numEq,3,numComp,3)];
5585                                            const register double A_22_2 = A_p[INDEX5(k,2,m,2,2, numEq,3,numComp,3)];
5586                                            const register double A_00_3 = A_p[INDEX5(k,0,m,0,3, numEq,3,numComp,3)];
5587                                            const register double A_01_3 = A_p[INDEX5(k,0,m,1,3, numEq,3,numComp,3)];
5588                                            const register double A_02_3 = A_p[INDEX5(k,0,m,2,3, numEq,3,numComp,3)];
5589                                            const register double A_10_3 = A_p[INDEX5(k,1,m,0,3, numEq,3,numComp,3)];
5590                                            const register double A_11_3 = A_p[INDEX5(k,1,m,1,3, numEq,3,numComp,3)];
5591                                            const register double A_12_3 = A_p[INDEX5(k,1,m,2,3, numEq,3,numComp,3)];
5592                                            const register double A_20_3 = A_p[INDEX5(k,2,m,0,3, numEq,3,numComp,3)];
5593                                            const register double A_21_3 = A_p[INDEX5(k,2,m,1,3, numEq,3,numComp,3)];
5594                                            const register double A_22_3 = A_p[INDEX5(k,2,m,2,3, numEq,3,numComp,3)];
5595                                            const register double A_00_4 = A_p[INDEX5(k,0,m,0,4, numEq,3,numComp,3)];
5596                                            const register double A_01_4 = A_p[INDEX5(k,0,m,1,4, numEq,3,numComp,3)];
5597                                            const register double A_02_4 = A_p[INDEX5(k,0,m,2,4, numEq,3,numComp,3)];
5598                                            const register double A_10_4 = A_p[INDEX5(k,1,m,0,4, numEq,3,numComp,3)];
5599                                            const register double A_11_4 = A_p[INDEX5(k,1,m,1,4, numEq,3,numComp,3)];
5600                                            const register double A_12_4 = A_p[INDEX5(k,1,m,2,4, numEq,3,numComp,3)];
5601                                            const register double A_20_4 = A_p[INDEX5(k,2,m,0,4, numEq,3,numComp,3)];
5602                                            const register double A_21_4 = A_p[INDEX5(k,2,m,1,4, numEq,3,numComp,3)];
5603                                            const register double A_22_4 = A_p[INDEX5(k,2,m,2,4, numEq,3,numComp,3)];
5604                                            const register double A_00_5 = A_p[INDEX5(k,0,m,0,5, numEq,3,numComp,3)];
5605                                            const register double A_01_5 = A_p[INDEX5(k,0,m,1,5, numEq,3,numComp,3)];
5606                                            const register double A_02_5 = A_p[INDEX5(k,0,m,2,5, numEq,3,numComp,3)];
5607                                            const register double A_10_5 = A_p[INDEX5(k,1,m,0,5, numEq,3,numComp,3)];
5608                                            const register double A_11_5 = A_p[INDEX5(k,1,m,1,5, numEq,3,numComp,3)];
5609                                            const register double A_12_5 = A_p[INDEX5(k,1,m,2,5, numEq,3,numComp,3)];
5610                                            const register double A_20_5 = A_p[INDEX5(k,2,m,0,5, numEq,3,numComp,3)];
5611                                            const register double A_21_5 = A_p[INDEX5(k,2,m,1,5, numEq,3,numComp,3)];
5612                                            const register double A_22_5 = A_p[INDEX5(k,2,m,2,5, numEq,3,numComp,3)];
5613                                            const register double A_00_6 = A_p[INDEX5(k,0,m,0,6, numEq,3,numComp,3)];
5614                                            const register double A_01_6 = A_p[INDEX5(k,0,m,1,6, numEq,3,numComp,3)];
5615                                            const register double A_02_6 = A_p[INDEX5(k,0,m,2,6, numEq,3,numComp,3)];
5616                                            const register double A_10_6 = A_p[INDEX5(k,1,m,0,6, numEq,3,numComp,3)];
5617                                            const register double A_11_6 = A_p[INDEX5(k,1,m,1,6, numEq,3,numComp,3)];
5618                                            const register double A_12_6 = A_p[INDEX5(k,1,m,2,6, numEq,3,numComp,3)];
5619                                            const register double A_20_6 = A_p[INDEX5(k,2,m,0,6, numEq,3,numComp,3)];
5620                                            const register double A_21_6 = A_p[INDEX5(k,2,m,1,6, numEq,3,numComp,3)];
5621                                            const register double A_22_6 = A_p[INDEX5(k,2,m,2,6, numEq,3,numComp,3)];
5622                                            const register double A_00_7 = A_p[INDEX5(k,0,m,0,7, numEq,3,numComp,3)];
5623                                            const register double A_01_7 = A_p[INDEX5(k,0,m,1,7, numEq,3,numComp,3)];
5624                                            const register double A_02_7 = A_p[INDEX5(k,0,m,2,7, numEq,3,numComp,3)];
5625                                            const register double A_10_7 = A_p[INDEX5(k,1,m,0,7, numEq,3,numComp,3)];
5626                                            const register double A_11_7 = A_p[INDEX5(k,1,m,1,7, numEq,3,numComp,3)];
5627                                            const register double A_12_7 = A_p[INDEX5(k,1,m,2,7, numEq,3,numComp,3)];
5628                                            const register double A_20_7 = A_p[INDEX5(k,2,m,0,7, numEq,3,numComp,3)];
5629                                            const register double A_21_7 = A_p[INDEX5(k,2,m,1,7, numEq,3,numComp,3)];
5630                                            const register double A_22_7 = A_p[INDEX5(k,2,m,2,7, numEq,3,numComp,3)];
5631                                            const register double tmp160_0 = A_12_0 + A_12_6 + A_21_0 + A_21_6;
5632                                            const register double tmp8_0 = A_21_0 + A_21_6;
5633                                            const register double tmp135_0 = A_10_1 + A_10_2 + A_10_5 + A_10_6;
5634                                            const register double tmp67_0 = A_02_2 + A_02_7;
5635                                            const register double tmp211_0 = A_12_6 + A_21_6;
5636                                            const register double tmp180_0 = A_10_2 + A_10_6;
5637                                            const register double tmp37_0 = A_00_0 + A_00_1 + A_00_2 + A_00_3;
5638                                            const register 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;
5639                                            const register double tmp195_0 = A_02_2 + A_20_2;
5640                                            const register double tmp70_0 = A_01_0 + A_01_7;
5641                                            const register double tmp139_0 = A_02_3 + A_02_4 + A_20_1 + A_20_6;
5642                                            const register double tmp200_0 = A_12_3 + A_12_5 + A_21_3 + A_21_5;
5643                                            const register double tmp60_0 = A_22_0 + A_22_2 + A_22_4 + A_22_6;
5644                                            const register double tmp192_0 = A_01_5 + A_10_5;
5645                                            const register double tmp46_0 = A_21_0 + A_21_7;
5646                                            const register double tmp48_0 = A_10_0 + A_10_7;
5647                                            const register double tmp166_0 = A_11_5 + A_11_7;
5648                                            const register double tmp221_0 = A_02_1 + A_02_6 + A_20_3 + A_20_4;
5649                                            const register double tmp50_0 = A_02_4 + A_02_6 + A_20_4 + A_20_6;
5650                                            const register double tmp217_0 = A_02_3 + A_02_4 + A_20_3 + A_20_4;
5651                                            const register double tmp216_0 = A_01_2 + A_01_5 + A_10_2 + A_10_5;
5652                                            const register double tmp104_0 = A_22_2 + A_22_6;
5653                                            const register double tmp72_0 = A_20_3 + A_20_6;
5654                                            const register double tmp79_0 = A_10_4 + A_10_7;
5655                                            const register double tmp86_0 = A_01_2 + A_01_6 + A_10_1 + A_10_5;
5656                                            const register double tmp214_0 = A_12_0 + A_12_7 + A_21_0 + A_21_7;
5657                                            const register double tmp32_0 = A_02_0 + A_02_2;
5658                                            const register double tmp112_0 = A_01_0 + A_01_4 + A_10_3 + A_10_7;
5659                                            const register double tmp197_0 = A_12_0 + A_21_0;
5660                                            const register double tmp106_0 = A_22_1 + A_22_5;
5661                                            const register double tmp2_0 = A_00_0 + A_00_1 + A_00_4 + A_00_5;
5662                                            const register double tmp115_0 = A_02_5 + A_02_7 + A_20_0 + A_20_2;
5663                                            const register double tmp175_0 = A_01_3 + A_01_7;
5664                                            const register double tmp126_0 = A_01_2 + A_01_5 + A_10_1 + A_10_6;
5665                                            const register 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;
5666                                            const register double tmp47_0 = A_12_0 + A_12_6;
5667                                            const register double tmp205_0 = A_02_7 + A_20_7;
5668                                            const register double tmp148_0 = A_01_3 + A_01_4;
5669                                            const register double tmp113_0 = A_01_3 + A_01_7 + A_10_0 + A_10_4;
5670                                            const register double tmp43_0 = A_20_4 + A_20_6;
5671                                            const register double tmp161_0 = A_02_1 + A_02_6 + A_20_1 + A_20_6;
5672                                            const register 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;
5673                                            const register double tmp176_0 = A_01_1 + A_01_2 + A_01_5 + A_01_6;
5674                                            const register double tmp105_0 = A_01_2 + A_01_6 + A_10_2 + A_10_6;
5675                                            const register double tmp22_0 = A_01_5 + A_10_6;
5676                                            const register double tmp91_0 = A_02_4 + A_02_6 + A_20_1 + A_20_3;
5677                                            const register double tmp206_0 = A_12_7 + A_21_7;
5678                                            const register double tmp188_0 = A_02_5 + A_20_5;
5679                                            const register double tmp117_0 = A_21_1 + A_21_6;
5680                                            const register double tmp165_0 = A_01_1 + A_01_6;
5681                                            const register double tmp66_0 = A_00_4 + A_00_5;
5682                                            const register 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;
5683                                            const register double tmp31_0 = A_21_4 + A_21_5;
5684                                            const register double tmp3_0 = A_11_0 + A_11_2 + A_11_4 + A_11_6;
5685                                            const register double tmp183_0 = A_12_0 + A_12_7;
5686                                            const register double tmp61_0 = A_02_1 + A_02_3 + A_20_1 + A_20_3;
5687                                            const register double tmp54_0 = A_10_5 + A_10_6;
5688                                            const register double tmp18_0 = A_02_3 + A_02_6;
5689                                            const register 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;
5690                                            const register double tmp29_0 = A_21_2 + A_21_3;
5691                                            const register double tmp17_0 = A_01_3 + A_01_7 + A_10_3 + A_10_7;
5692                                            const register double tmp212_0 = A_02_6 + A_20_6;
5693                                            const register double tmp220_0 = A_02_3 + A_20_6;
5694                                            const register double tmp78_0 = A_20_0 + A_20_7;
5695                                            const register double tmp215_0 = A_01_6 + A_10_6;
5696                                            const register double tmp203_0 = A_01_7 + A_10_7;
5697                                            const register double tmp87_0 = A_12_2 + A_12_3 + A_21_4 + A_21_5;
5698                                            const register double tmp114_0 = A_02_0 + A_02_2 + A_20_5 + A_20_7;
5699                                            const register double tmp0_0 = A_01_0 + A_01_4 + A_10_0 + A_10_4;
5700                                            const register double tmp202_0 = A_01_3 + A_01_4 + A_10_3 + A_10_4;
5701                                            const register double tmp4_0 = A_20_0 + A_20_5;
5702                                            const register double tmp65_0 = A_00_2 + A_00_3;
5703                                            const register double tmp24_0 = A_20_1 + A_20_3;
5704                                            const register double tmp64_0 = A_10_0 + A_10_3;
5705                                            const register double tmp170_0 = A_02_0 + A_02_2 + A_20_0 + A_20_2;
5706                                            const register double tmp11_0 = A_20_1 + A_20_6;
5707                                            const register double tmp82_0 = A_12_4 + A_12_5 + A_21_4 + A_21_5;
5708                                            const register double tmp99_0 = A_01_4 + A_10_7;
5709                                            const register double tmp49_0 = A_12_1 + A_12_7;
5710                                            const register double tmp130_0 = A_12_0 + A_12_1 + A_12_6 + A_12_7;
5711                                            const register double tmp144_0 = A_01_0 + A_10_3;
5712                                            const register double tmp109_0 = A_22_0 + A_22_3 + A_22_4 + A_22_7;
5713                                            const register double tmp185_0 = A_02_0 + A_02_7 + A_20_2 + A_20_5;
5714                                            const register double tmp157_0 = A_01_4 + A_10_4;
5715                                            const register double tmp51_0 = A_22_1 + A_22_3 + A_22_5 + A_22_7;
5716                                            const register double tmp146_0 = A_00_6 + A_00_7;
5717                                            const register double tmp147_0 = A_12_0 + A_12_1 + A_21_0 + A_21_1;
5718                                            const register double tmp150_0 = A_00_2 + A_00_3 + A_00_4 + A_00_5;
5719                                            const register double tmp62_0 = A_21_3 + A_21_5;
5720                                            const register double tmp223_0 = A_12_2 + A_21_4;
5721                                            const register double tmp16_0 = A_02_2 + A_02_5;
5722                                            const register double tmp168_0 = A_11_1 + A_11_3 + A_11_4 + A_11_6;
5723                                            const register double tmp88_0 = A_12_4 + A_12_5 + A_21_2 + A_21_3;
5724                                            const register double tmp142_0 = A_01_7 + A_10_4;
5725                                            const register double tmp34_0 = A_20_0 + A_20_2 + A_20_5 + A_20_7;
5726                                            const register double tmp71_0 = A_00_0 + A_00_1 + A_00_6 + A_00_7;
5727                                            const register double tmp213_0 = A_02_1 + A_20_1;
5728                                            const register double tmp227_0 = A_12_2 + A_12_5 + A_21_3 + A_21_4;
5729                                            const register double tmp228_0 = A_12_1 + A_21_7;
5730                                            const register double tmp140_0 = A_01_2 + A_01_6;
5731                                            const register double tmp74_0 = A_22_0 + A_22_1 + A_22_4 + A_22_5;
5732                                            const register double tmp167_0 = A_11_0 + A_11_2;
5733                                            const register double tmp143_0 = A_01_3 + A_01_4 + A_10_0 + A_10_7;
5734                                            const register double tmp83_0 = A_02_0 + A_02_5;
5735                                            const register double tmp14_0 = A_22_1 + A_22_2 + A_22_5 + A_22_6;
5736                                            const register double tmp5_0 = A_12_1 + A_12_6;
5737                                            const register double tmp94_0 = A_02_1 + A_02_3;
5738                                            const register double tmp193_0 = A_01_1 + A_01_6 + A_10_1 + A_10_6;
5739                                            const register double tmp97_0 = A_02_0 + A_02_2 + A_02_5 + A_02_7;
5740                                            const register double tmp131_0 = A_01_1 + A_01_5;
5741                                            const register double tmp124_0 = A_01_6 + A_10_5;
5742                                            const register double tmp149_0 = A_12_6 + A_12_7 + A_21_6 + A_21_7;
5743                                            const register double tmp187_0 = A_01_2 + A_10_2;
5744                                            const register double tmp93_0 = A_01_1 + A_01_2 + A_10_1 + A_10_2;
5745                                            const register double tmp25_0 = A_01_4 + A_01_7 + A_10_4 + A_10_7;
5746                                            const register double tmp156_0 = A_12_2 + A_12_5 + A_21_2 + A_21_5;
5747                                            const register double tmp20_0 = A_21_2 + A_21_5;
5748                                            const register double tmp55_0 = A_21_2 + A_21_4;
5749                                            const register double tmp208_0 = A_12_1 + A_12_6 + A_21_0 + A_21_7;
5750                                            const register double tmp125_0 = A_12_4 + A_12_5;
5751                                            const register double tmp158_0 = A_01_0 + A_01_7 + A_10_0 + A_10_7;
5752                                            const register double tmp108_0 = A_01_1 + A_01_5 + A_10_1 + A_10_5;
5753                                            const register double tmp199_0 = A_12_2 + A_12_4 + A_21_2 + A_21_4;
5754                                            const register double tmp10_0 = A_02_1 + A_02_4;
5755                                            const register double tmp182_0 = A_02_3 + A_02_6 + A_20_3 + A_20_6;
5756                                            const register double tmp132_0 = A_02_1 + A_20_4;
5757                                            const register double tmp191_0 = A_12_3 + A_12_4 + A_21_3 + A_21_4;
5758                                            const register double tmp35_0 = A_11_0 + A_11_1 + A_11_2 + A_11_3;
5759                                            const register double tmp164_0 = A_10_3 + A_10_4;
5760                                            const register double tmp190_0 = A_12_5 + A_21_5;
5761                                            const register double tmp73_0 = A_02_1 + A_02_6;
5762                                            const register double tmp98_0 = A_01_0 + A_01_7 + A_10_3 + A_10_4;
5763                                            const register double tmp225_0 = A_12_4 + A_21_2;
5764                                            const register double tmp103_0 = A_02_4 + A_02_6;
5765                                            const register double tmp194_0 = A_02_0 + A_02_7 + A_20_0 + A_20_7;
5766                                            const register double tmp207_0 = A_12_0 + A_21_6;
5767                                            const register double tmp102_0 = A_20_5 + A_20_7;
5768                                            const register double tmp1_0 = A_22_3 + A_22_7;
5769                                            const register double tmp172_0 = A_10_1 + A_10_5;
5770                                            const register double tmp222_0 = A_12_5 + A_21_3;
5771                                            const register double tmp201_0 = A_02_2 + A_02_5 + A_20_2 + A_20_5;
5772                                            const register double tmp155_0 = A_12_4 + A_21_4;
5773                                            const register double tmp174_0 = A_02_1 + A_02_4 + A_20_1 + A_20_4;
5774                                            const register double tmp59_0 = A_01_0 + A_01_3;
5775                                            const register double tmp21_0 = A_20_2 + A_20_7;
5776                                            const register double tmp141_0 = A_02_2 + A_02_7 + A_20_2 + A_20_7;
5777                                            const register double tmp210_0 = A_01_1 + A_10_1;
5778                                            const register double tmp145_0 = A_00_0 + A_00_1;
5779                                            const register double tmp121_0 = A_12_0 + A_12_1 + A_21_6 + A_21_7;
5780                                            const register double tmp224_0 = A_12_3 + A_12_4 + A_21_2 + A_21_5;
5781                                            const register double tmp186_0 = A_02_2 + A_20_7;
5782                                            const register double tmp53_0 = A_11_4 + A_11_6;
5783                                            const register double tmp184_0 = A_02_5 + A_20_0;
5784                                            const register double tmp38_0 = A_12_0 + A_12_1;
5785                                            const register 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;
5786                                            const register double tmp230_0 = A_12_6 + A_21_0;
5787                                            const register double tmp23_0 = A_11_4 + A_11_5 + A_11_6 + A_11_7;
5788                                            const register double tmp81_0 = A_20_1 + A_20_4;
5789                                            const register double tmp134_0 = A_10_3 + A_10_7;
5790                                            const register double tmp129_0 = A_21_0 + A_21_1;
5791                                            const register double tmp137_0 = A_01_0 + A_01_3 + A_01_4 + A_01_7;
5792                                            const register double tmp198_0 = A_01_0 + A_10_0;
5793                                            const register double tmp9_0 = A_21_1 + A_21_7;
5794                                            const register double tmp179_0 = A_01_0 + A_01_4;
5795                                            const register double tmp100_0 = A_20_1 + A_20_3 + A_20_4 + A_20_6;
5796                                            const register double tmp173_0 = A_02_0 + A_20_5;
5797                                            const register double tmp42_0 = A_21_0 + A_21_1 + A_21_6 + A_21_7;
5798                                            const register double tmp226_0 = A_12_3 + A_21_5;
5799                                            const register double tmp6_0 = A_22_0 + A_22_4;
5800                                            const register double tmp218_0 = A_12_1 + A_21_1;
5801                                            const register double tmp28_0 = A_01_2 + A_10_1;
5802                                            const register double tmp133_0 = A_02_6 + A_20_3;
5803                                            const register double tmp13_0 = A_00_2 + A_00_3 + A_00_6 + A_00_7;
5804                                            const register double tmp27_0 = A_12_2 + A_12_3 + A_12_4 + A_12_5;
5805                                            const register double tmp75_0 = A_10_1 + A_10_6;
5806                                            const register double tmp36_0 = A_01_0 + A_01_3 + A_10_0 + A_10_3;
5807                                            const register double tmp138_0 = A_10_0 + A_10_4;
5808                                            const register double tmp189_0 = A_12_2 + A_21_2;
5809                                            const register double tmp181_0 = A_02_7 + A_20_2;
5810                                            const register double tmp85_0 = A_02_1 + A_02_3 + A_20_4 + A_20_6;
5811                                            const register double tmp122_0 = A_01_1 + A_10_2;
5812                                            const register double tmp95_0 = A_01_3 + A_10_0;
5813                                            const register double tmp120_0 = A_12_6 + A_12_7 + A_21_0 + A_21_1;
5814                                            const register double tmp196_0 = A_02_0 + A_20_0;
5815                                            const register double tmp171_0 = A_02_3 + A_02_4;
5816                                            const register double tmp204_0 = A_12_1 + A_12_6 + A_21_1 + A_21_6;
5817                                            const register double tmp45_0 = A_10_1 + A_10_2;
5818                                            const register double tmp101_0 = A_01_5 + A_01_6 + A_10_5 + A_10_6;
5819                                            const register double tmp58_0 = A_11_0 + A_11_2 + A_11_5 + A_11_7;
5820                                            const register double tmp107_0 = A_20_3 + A_20_4;
5821                                            const register double tmp30_0 = A_01_1 + A_01_6 + A_10_2 + A_10_5;
5822                                            const register double tmp63_0 = A_12_2 + A_12_5;
5823                                            const register double tmp127_0 = A_12_2 + A_12_3;
5824                                            const register double tmp177_0 = A_02_2 + A_02_5 + A_20_0 + A_20_7;
5825                                            const register double tmp178_0 = A_10_0 + A_10_3 + A_10_4 + A_10_7;
5826                                            const register double tmp76_0 = A_01_1 + A_01_2;
5827                                            const register double tmp80_0 = A_22_2 + A_22_3 + A_22_6 + A_22_7;
5828                                            const register double tmp41_0 = A_12_6 + A_12_7;
5829                                            const register 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;
5830                                            const register 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;
5831                                            const register 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;
5832                                            const register double tmp169_0 = A_21_3 + A_21_4;
5833                                            const register double tmp96_0 = A_20_0 + A_20_2;
5834                                            const register double tmp111_0 = A_12_3 + A_12_4;
5835                                            const register double tmp118_0 = A_20_2 + A_20_5;
5836                                            const register double tmp19_0 = A_12_3 + A_12_5;
5837                                            const register double tmp68_0 = A_01_5 + A_01_6;
5838                                            const register double tmp7_0 = A_11_1 + A_11_3 + A_11_5 + A_11_7;
5839                                            const register double tmp154_0 = A_12_3 + A_21_3;
5840                                            const register double tmp152_0 = A_02_4 + A_20_4;
5841                                            const register double tmp153_0 = A_02_3 + A_20_3;
5842                                            const register double tmp163_0 = A_02_5 + A_02_7 + A_20_5 + A_20_7;
5843                                            const register double tmp44_0 = A_01_4 + A_01_7;
5844                                            const register double tmp39_0 = A_02_1 + A_02_3 + A_02_4 + A_02_6;
5845                                            const register double tmp123_0 = A_21_2 + A_21_3 + A_21_4 + A_21_5;
5846                                            const register double tmp40_0 = A_02_5 + A_02_7;
5847                                            const register double tmp110_0 = A_02_0 + A_02_7;
5848                                            const register double tmp77_0 = A_12_2 + A_12_3 + A_21_2 + A_21_3;
5849                                            const register double tmp209_0 = A_12_7 + A_21_1;
5850                                            const register double tmp219_0 = A_02_4 + A_20_1;
5851                                            const register double tmp84_0 = A_01_1 + A_01_5 + A_10_2 + A_10_6;
5852                                            const register double tmp162_0 = A_12_1 + A_12_7 + A_21_1 + A_21_7;
5853                                            const register double tmp159_0 = A_01_3 + A_10_3;
5854                                            const register double tmp56_0 = A_11_1 + A_11_3;
5855                                            const register double tmp52_0 = A_01_2 + A_01_5;
5856                                            const register double tmp26_0 = A_00_4 + A_00_5 + A_00_6 + A_00_7;
5857                                            const register double tmp229_0 = A_12_0 + A_12_7 + A_21_1 + A_21_6;
5858                                            const register double tmp151_0 = A_10_2 + A_10_5;
5859                                            const register double tmp136_0 = A_02_0 + A_02_5 + A_20_0 + A_20_5;
5860                                            const register double tmp128_0 = A_21_6 + A_21_7;
5861                                            const register double tmp15_0 = A_12_2 + A_12_4;
5862                                            const register double tmp296_1 = tmp159_0*w42;
5863                                            const register double tmp130_1 = tmp67_0*w5;
5864                                            const register double tmp98_1 = A_01_6*w42;
5865                                            const register double tmp231_1 = tmp125_0*w6;
5866                                            const register double tmp42_1 = tmp34_0*w12;
5867                                            const register double tmp199_1 = A_02_5*w28;
5868                                            const register double tmp113_1 = tmp29_0*w13;
5869                                            const register double tmp330_1 = tmp152_0*w28;
5870                                            const register double tmp90_1 = A_01_1*w46;
5871                                            const register double tmp446_1 = tmp77_0*w22;
5872                                            const register double tmp108_1 = tmp43_0*w5;
5873                                            const register double tmp524_1 = A_12_6*w29;
5874                                            const register double tmp232_1 = tmp126_0*w34;
5875                                            const register double tmp33_1 = tmp25_0*w37;
5876                                            const register double tmp461_1 = tmp180_0*w1;
5877                                            const register double tmp14_1 = tmp8_0*w6;
5878                                            const register double tmp447_1 = tmp205_0*w26;
5879                                            const register double tmp452_1 = tmp198_0*w42;
5880                                            const register double tmp217_1 = tmp81_0*w9;
5881                                            const register double tmp76_1 = tmp59_0*w20;
5882                                            const register double tmp421_1 = tmp134_0*w31;
5883                                            const register double tmp485_1 = tmp51_0*w51;
5884                                            const register double tmp240_1 = tmp131_0*w1;
5885                                            const register double tmp160_1 = tmp91_0*w9;
5886                                            const register double tmp174_1 = A_20_1*w26;
5887                                            const register double tmp273_1 = A_10_1*w46;
5888                                            const register double tmp159_1 = tmp90_0*w47;
5889                                            const register double tmp228_1 = tmp103_0*w5;
5890                                            const register double tmp313_1 = tmp166_0*w45;
5891                                            const register double tmp45_1 = tmp37_0*w30;
5892                                            const register double tmp512_1 = tmp147_0*w13;
5893                                            const register double tmp73_1 = tmp56_0*w43;
5894                                            const register double tmp61_1 = A_01_6*w46;
5895                                            const register double tmp316_1 = tmp167_0*w43;
5896                                            const register double tmp189_1 = tmp112_0*w20;
5897                                            const register double tmp455_1 = tmp215_0*w39;
5898                                            const register double tmp360_1 = A_21_5*w24;
5899                                            const register double tmp258_1 = A_20_7*w2;
5900                                            const register double tmp196_1 = A_20_6*w26;
5901                                            const register double tmp37_1 = tmp29_0*w6;
5902                                            const register double tmp9_1 = A_12_7*w29;
5903                                            const register double tmp80_1 = tmp63_0*w19;
5904                                            const register double tmp312_1 = tmp165_0*w8;
5905                                            const register double tmp264_1 = tmp101_0*w1;
5906                                            const register double tmp124_1 = A_02_3*w26;
5907                                            const register double tmp229_1 = tmp123_0*w11;
5908                                            const register double tmp333_1 = tmp159_0*w46;
5909                                            const register double tmp533_1 = tmp222_0*w4;
5910                                            const register double tmp201_1 = tmp108_0*w37;
5911                                            const register double tmp444_1 = tmp35_0*w10;
5912                                            const register double tmp51_1 = tmp43_0*w18;
5913                                            const register double tmp214_1 = A_21_7*w29;
5914                                            const register double tmp518_1 = tmp86_0*w37;
5915                                            const register double tmp192_1 = tmp115_0*w5;
5916                                            const register double tmp355_1 = A_21_2*w27;
5917                                            const register double tmp156_1 = tmp87_0*w22;
5918                                            const register double tmp516_1 = tmp230_0*w27;
5919                                            const register double tmp366_1 = tmp104_0*w57;
5920                                            const register double tmp271_1 = tmp146_0*w49;
5921                                            const register double tmp437_1 = tmp218_0*w24;
5922                                            const register double tmp436_1 = tmp104_0*w54;
5923                                            const register double tmp167_1 = tmp98_0*w8;
5924                                            const register double tmp136_1 = tmp70_0*w34;
5925                                            const register double tmp406_1 = tmp207_0*w27;
5926                                            const register double tmp193_1 = tmp116_0*w12;
5927                                            const register double tmp486_1 = tmp225_0*w29;
5928                                            const register double tmp469_1 = tmp224_0*w11;
5929                                            const register double tmp287_1 = tmp71_0*w53;
5930                                            const register double tmp430_1 = tmp213_0*w28;
5931                                            const register double tmp462_1 = tmp220_0*w2;
5932                                            const register double tmp294_1 = tmp53_0*w59;
5933                                            const register double tmp218_1 = tmp118_0*w16;
5934                                            const register double tmp116_1 = tmp25_0*w31;
5935                                            const register double tmp495_1 = tmp76_0*w37;
5936                                            const register double tmp501_1 = tmp99_0*w46;
5937                                            const register double tmp0_1 = tmp0_0*w1;
5938                                            const register double tmp99_1 = tmp62_0*w17;
5939                                            const register double tmp429_1 = tmp212_0*w2;
5940                                            const register double tmp249_1 = tmp136_0*w9;
5941                                            const register double tmp504_1 = tmp229_0*w19;
5942                                            const register double tmp197_1 = A_12_2*w27;
5943                                            const register double tmp531_1 = tmp122_0*w35;
5944                                            const register double tmp265_1 = tmp142_0*w46;
5945                                            const register double tmp488_1 = tmp226_0*w4;
5946                                            const register double tmp528_1 = tmp115_0*w18;
5947                                            const register double tmp438_1 = tmp219_0*w2;
5948                                            const register double tmp233_1 = tmp127_0*w13;
5949                                            const register double tmp491_1 = tmp79_0*w1;
5950                                            const register double tmp215_1 = A_21_0*w4;
5951                                            const register double tmp24_1 = tmp18_0*w21;
5952                                            const register double tmp538_1 = tmp209_0*w27;
5953                                            const register double tmp379_1 = tmp167_0*w55;
5954                                            const register double tmp332_1 = tmp154_0*w4;
5955                                            const register double tmp498_1 = tmp68_0*w31;
5956                                            const register double tmp41_1 = tmp33_0*w33;
5957                                            const register double tmp464_1 = tmp179_0*w37;
5958                                            const register double tmp317_1 = tmp168_0*w40;
5959                                            const register double tmp378_1 = tmp106_0*w54;
5960                                            const register double tmp184_1 = tmp109_0*w14;
5961                                            const register double tmp292_1 = tmp14_0*w33;
5962                                            const register double tmp11_1 = tmp5_0*w11;
5963                                            const register double tmp354_1 = A_02_6*w26;
5964                                            const register double tmp84_1 = tmp37_0*w0;
5965                                            const register double tmp422_1 = tmp13_0*w30;
5966                                            const register double tmp132_1 = tmp69_0*w11;
5967                                            const register double tmp251_1 = tmp138_0*w31;
5968                                            const register double tmp18_1 = tmp12_0*w8;
5969                                            const register double tmp88_1 = A_21_1*w4;
5970                                            const register double tmp188_1 = A_12_2*w24;
5971                                            const register double tmp465_1 = tmp175_0*w31;
5972                                            const register double tmp235_1 = tmp128_0*w17;
5973                                            const register double tmp323_1 = A_02_1*w26;
5974                                            const register double tmp31_1 = tmp23_0*w38;
5975                                            const register double tmp397_1 = tmp170_0*w5;
5976                                            const register double tmp175_1 = tmp7_0*w3;
5977                                            const register double tmp148_1 = tmp81_0*w21;
5978                                            const register double tmp238_1 = tmp130_0*w19;
5979                                            const register double tmp59_1 = tmp46_0*w11;
5980                                            const register double tmp432_1 = tmp215_0*w35;
5981                                            const register double tmp398_1 = A_01_2*w46;
5982                                            const register double tmp497_1 = A_10_5*w46;
5983                                            const register double tmp28_1 = tmp21_0*w18;
5984                                            const register double tmp115_1 = tmp23_0*w32;
5985                                            const register double tmp441_1 = tmp23_0*w3;
5986                                            const register double tmp131_1 = tmp68_0*w37;
5987                                            const register double tmp289_1 = tmp155_0*w4;
5988                                            const register double tmp278_1 = tmp80_0*w44;
5989                                            const register double tmp5_1 = A_21_4*w27;
5990                                            const register double tmp254_1 = tmp140_0*w20;
5991                                            const register double tmp183_1 = tmp108_0*w31;
5992                                            const register double tmp279_1 = tmp151_0*w8;
5993                                            const register double tmp298_1 = tmp161_0*w16;
5994                                            const register double tmp505_1 = tmp230_0*w24;
5995                                            const register double tmp246_1 = tmp80_0*w52;
5996                                            const register double tmp100_1 = tmp53_0*w43;
5997                                            const register double tmp440_1 = tmp221_0*w16;
5998                                            const register double tmp481_1 = tmp188_0*w23;
5999                                            const register double tmp480_1 = tmp187_0*w35;
6000                                            const register double tmp384_1 = tmp150_0*w53;
6001                                            const register double tmp142_1 = tmp76_0*w31;
6002                                            const register double tmp372_1 = tmp191_0*w11;
6003                                            const register double tmp307_1 = A_10_7*w35;
6004                                            const register double tmp186_1 = tmp111_0*w19;
6005                                            const register double tmp127_1 = A_20_2*w2;
6006                                            const register double tmp391_1 = tmp167_0*w59;
6007                                            const register double tmp223_1 = tmp113_0*w20;
6008                                            const register double tmp454_1 = tmp197_0*w24;
6009                                            const register double tmp241_1 = tmp74_0*w51;
6010                                            const register double tmp529_1 = tmp114_0*w5;
6011                                            const register double tmp202_1 = tmp104_0*w7;
6012                                            const register double tmp236_1 = tmp96_0*w21;
6013                                            const register double tmp358_1 = tmp183_0*w11;
6014                                            const register double tmp102_1 = tmp51_0*w41;
6015                                            const register double tmp493_1 = A_20_5*w2;
6016                                            const register double tmp468_1 = tmp223_0*w4;
6017                                            const register double tmp435_1 = tmp217_0*w16;
6018                                            const register double tmp110_1 = tmp37_0*w36;
6019                                            const register double tmp479_1 = tmp189_0*w4;
6020                                            const register double tmp120_1 = tmp38_0*w22;
6021                                            const register double tmp16_1 = tmp10_0*w9;
6022                                            const register double tmp407_1 = tmp90_0*w53;
6023                                            const register double tmp442_1 = tmp66_0*w48;
6024                                            const register double tmp60_1 = A_10_4*w35;
6025                                            const register double tmp69_1 = tmp53_0*w45;
6026                                            const register double tmp144_1 = tmp77_0*w17;
6027                                            const register double tmp507_1 = tmp146_0*w48;
6028                                            const register double tmp424_1 = tmp174_0*w18;
6029                                            const register double tmp352_1 = tmp181_0*w23;
6030                                            const register double tmp451_1 = tmp199_0*w13;
6031                                            const register double tmp253_1 = tmp139_0*w16;
6032                                            const register double tmp353_1 = tmp182_0*w18;
6033                                            const register double tmp521_1 = tmp88_0*w22;
6034                                            const register double tmp346_1 = tmp175_0*w37;
6035                                            const register double tmp416_1 = tmp138_0*w37;
6036                                            const register double tmp324_1 = A_10_0*w35;
6037                                            const register double tmp152_1 = tmp84_0*w37;
6038                                            const register double tmp119_1 = tmp32_0*w21;
6039                                            const register double tmp86_1 = A_21_6*w29;
6040                                            const register double tmp290_1 = tmp156_0*w11;
6041                                            const register double tmp382_1 = tmp196_0*w26;
6042                                            const register double tmp91_1 = tmp49_0*w6;
6043                                            const register double tmp499_1 = A_10_2*w42;
6044                                            const register double tmp226_1 = tmp121_0*w13;
6045                                            const register double tmp477_1 = tmp195_0*w26;
6046                                            const register double tmp150_1 = A_02_4*w23;
6047                                            const register double tmp318_1 = tmp15_0*w22;
6048                                            const register double tmp396_1 = tmp206_0*w24;
6049                                            const register double tmp474_1 = A_02_0*w28;
6050                                            const register double tmp245_1 = tmp134_0*w37;
6051                                            const register double tmp3_1 = A_20_4*w26;
6052                                            const register double tmp44_1 = tmp36_0*w31;
6053                                            const register double tmp487_1 = tmp60_0*w52;
6054                                            const register double tmp293_1 = tmp158_0*w8;
6055                                            const register double tmp314_1 = A_01_2*w42;
6056                                            const register double tmp414_1 = tmp80_0*w51;
6057                                            const register double tmp472_1 = A_21_3*w27;
6058                                            const register double tmp321_1 = A_21_2*w24;
6059                                            const register double tmp225_1 = tmp120_0*w6;
6060                                            const register double tmp377_1 = tmp166_0*w59;
6061                                            const register double tmp413_1 = tmp186_0*w26;
6062                                            const register double tmp385_1 = tmp166_0*w55;
6063                                            const register double tmp310_1 = tmp164_0*w34;
6064                                            const register double tmp158_1 = tmp89_0*w34;
6065                                            const register double tmp449_1 = tmp203_0*w46;
6066                                            const register double tmp439_1 = tmp220_0*w28;
6067                                            const register double tmp22_1 = tmp16_0*w16;
6068                                            const register double tmp164_1 = tmp95_0*w46;
6069                                            const register double tmp417_1 = tmp74_0*w52;
6070                                            const register double tmp257_1 = tmp6_0*w25;
6071                                            const register double tmp203_1 = tmp18_0*w9;
6072                                            const register double tmp286_1 = tmp153_0*w28;
6073                                            const register double tmp155_1 = tmp33_0*w14;
6074                                            const register double tmp389_1 = tmp201_0*w12;
6075                                            const register double tmp508_1 = tmp145_0*w49;
6076                                            const register double tmp300_1 = tmp56_0*w55;
6077                                            const register double tmp299_1 = tmp162_0*w22;
6078                                            const register double tmp173_1 = tmp104_0*w25;
6079                                            const register double tmp32_1 = tmp24_0*w5;
6080                                            const register double tmp227_1 = tmp122_0*w39;
6081                                            const register double tmp484_1 = tmp3_0*w38;
6082                                            const register double tmp171_1 = tmp102_0*w21;
6083                                            const register double tmp478_1 = tmp190_0*w29;
6084                                            const register double tmp320_1 = tmp170_0*w18;
6085                                            const register double tmp327_1 = tmp6_0*w57;
6086                                            const register double tmp490_1 = tmp7_0*w32;
6087                                            const register double tmp419_1 = tmp127_0*w6;
6088                                            const register double tmp463_1 = tmp219_0*w28;
6089                                            const register double tmp12_1 = tmp6_0*w7;
6090                                            const register double tmp49_1 = tmp41_0*w22;
6091                                            const register double tmp344_1 = tmp173_0*w26;
6092                                            const register double tmp243_1 = tmp132_0*w2;
6093                                            const register double tmp83_1 = A_10_4*w39;
6094                                            const register double tmp297_1 = tmp160_0*w17;
6095                                            const register double tmp275_1 = tmp148_0*w34;
6096                                            const register double tmp168_1 = tmp99_0*w42;
6097                                            const register double tmp409_1 = tmp3_0*w32;
6098                                            const register double tmp1_1 = tmp1_0*w25;
6099                                            const register double tmp426_1 = tmp210_0*w39;
6100                                            const register double tmp375_1 = tmp109_0*w33;
6101                                            const register double tmp50_1 = tmp42_0*w19;
6102                                            const register double tmp513_1 = A_10_1*w42;
6103                                            const register double tmp97_1 = tmp45_0*w31;
6104                                            const register double tmp403_1 = tmp140_0*w1;
6105                                            const register double tmp71_1 = A_01_1*w42;
6106                                            const register double tmp520_1 = tmp84_0*w31;
6107                                            const register double tmp510_1 = A_10_6*w46;
6108                                            const register double tmp302_1 = A_10_0*w39;
6109                                            const register double tmp364_1 = tmp128_0*w22;
6110                                            const register double tmp515_1 = tmp142_0*w42;
6111                                            const register double tmp283_1 = tmp65_0*w56;
6112                                            const register double tmp222_1 = tmp112_0*w1;
6113                                            const register double tmp428_1 = tmp211_0*w27;
6114                                            const register double tmp371_1 = tmp190_0*w4;
6115                                            const register double tmp423_1 = tmp184_0*w23;
6116                                            const register double tmp276_1 = tmp149_0*w13;
6117                                            const register double tmp65_1 = tmp50_0*w9;
6118                                            const register double tmp305_1 = A_12_0*w29;
6119                                            const register double tmp170_1 = tmp101_0*w20;
6120                                            const register double tmp350_1 = tmp179_0*w31;
6121                                            const register double tmp466_1 = tmp172_0*w20;
6122                                            const register double tmp361_1 = tmp184_0*w26;
6123                                            const register double tmp431_1 = tmp214_0*w19;
6124                                            const register double tmp363_1 = tmp129_0*w17;
6125                                            const register double tmp178_1 = A_02_2*w28;
6126                                            const register double tmp527_1 = tmp120_0*w13;
6127                                            const register double tmp415_1 = tmp182_0*w5;
6128                                            const register double tmp450_1 = tmp200_0*w6;
6129                                            const register double tmp269_1 = A_01_7*w39;
6130                                            const register double tmp285_1 = tmp152_0*w2;
6131                                            const register double tmp272_1 = A_01_0*w35;
6132                                            const register double tmp339_1 = tmp136_0*w21;
6133                                            const register double tmp502_1 = tmp95_0*w42;
6134                                            const register double tmp38_1 = tmp30_0*w34;
6135                                            const register double tmp514_1 = tmp144_0*w46;
6136                                            const register double tmp96_1 = tmp56_0*w45;
6137                                            const register double tmp399_1 = tmp167_0*w45;
6138                                            const register double tmp483_1 = tmp173_0*w23;
6139                                            const register double tmp522_1 = tmp87_0*w17;
6140                                            const register double tmp519_1 = tmp91_0*w21;
6141                                            const register double tmp209_1 = A_12_5*w24;
6142                                            const register double tmp126_1 = tmp65_0*w48;
6143                                            const register double tmp367_1 = tmp187_0*w39;
6144                                            const register double tmp221_1 = tmp67_0*w18;
6145                                            const register double tmp381_1 = tmp146_0*w56;
6146                                            const register double tmp70_1 = tmp54_0*w31;
6147                                            const register double tmp216_1 = tmp117_0*w11;
6148                                            const register double tmp473_1 = A_02_7*w2;
6149                                            const register double tmp149_1 = tmp82_0*w22;
6150                                            const register double tmp357_1 = A_12_6*w4;
6151                                            const register double tmp534_1 = tmp226_0*w29;
6152                                            const register double tmp95_1 = tmp26_0*w15;
6153                                            const register double tmp500_1 = tmp64_0*w20;
6154                                            const register double tmp387_1 = tmp199_0*w6;
6155                                            const register double tmp471_1 = A_20_4*w23;
6156                                            const register double tmp281_1 = tmp74_0*w41;
6157                                            const register double tmp351_1 = tmp180_0*w20;
6158                                            const register double tmp63_1 = tmp48_0*w34;
6159                                            const register double tmp365_1 = tmp186_0*w23;
6160                                            const register double tmp448_1 = tmp206_0*w27;
6161                                            const register double tmp39_1 = tmp31_0*w13;
6162                                            const register double tmp453_1 = tmp196_0*w23;
6163                                            const register double tmp402_1 = tmp163_0*w18;
6164                                            const register double tmp137_1 = tmp71_0*w47;
6165                                            const register double tmp6_1 = A_02_0*w2;
6166                                            const register double tmp34_1 = tmp26_0*w36;
6167                                            const register double tmp383_1 = tmp197_0*w27;
6168                                            const register double tmp166_1 = tmp97_0*w12;
6169                                            const register double tmp114_1 = tmp40_0*w9;
6170                                            const register double tmp306_1 = A_12_7*w4;
6171                                            const register double tmp530_1 = tmp124_0*w39;
6172                                            const register double tmp388_1 = tmp200_0*w13;
6173                                            const register double tmp252_1 = tmp2_0*w30;
6174                                            const register double tmp210_1 = A_02_4*w26;
6175                                            const register double tmp200_1 = tmp21_0*w5;
6176                                            const register double tmp181_1 = tmp3_0*w10;
6177                                            const register double tmp425_1 = tmp106_0*w57;
6178                                            const register double tmp261_1 = A_21_7*w4;
6179                                            const register double tmp64_1 = tmp49_0*w13;
6180                                            const register double tmp506_1 = A_01_0*w39;
6181                                            const register double tmp457_1 = tmp213_0*w2;
6182                                            const register double tmp2_1 = tmp2_0*w0;
6183                                            const register double tmp393_1 = tmp203_0*w42;
6184                                            const register double tmp133_1 = A_01_3*w35;
6185                                            const register double tmp147_1 = tmp80_0*w41;
6186                                            const register double tmp8_1 = tmp4_0*w5;
6187                                            const register double tmp267_1 = tmp144_0*w42;
6188                                            const register double tmp17_1 = tmp11_0*w12;
6189                                            const register double tmp284_1 = tmp58_0*w50;
6190                                            const register double tmp328_1 = tmp66_0*w56;
6191                                            const register double tmp405_1 = tmp60_0*w51;
6192                                            const register double tmp467_1 = tmp222_0*w29;
6193                                            const register double tmp535_1 = tmp225_0*w4;
6194                                            const register double tmp356_1 = A_12_1*w29;
6195                                            const register double tmp274_1 = tmp147_0*w6;
6196                                            const register double tmp476_1 = tmp192_0*w39;
6197                                            const register double tmp206_1 = tmp10_0*w21;
6198                                            const register double tmp334_1 = tmp141_0*w9;
6199                                            const register double tmp482_1 = tmp181_0*w26;
6200                                            const register double tmp212_1 = A_20_7*w28;
6201                                            const register double tmp219_1 = tmp72_0*w21;
6202                                            const register double tmp47_1 = tmp39_0*w16;
6203                                            const register double tmp89_1 = A_10_3*w35;
6204                                            const register double tmp52_1 = tmp44_0*w1;
6205                                            const register double tmp492_1 = A_01_3*w39;
6206                                            const register double tmp81_1 = A_12_3*w24;
6207                                            const register double tmp77_1 = tmp60_0*w41;
6208                                            const register double tmp153_1 = tmp85_0*w21;
6209                                            const register double tmp304_1 = tmp163_0*w5;
6210                                            const register double tmp489_1 = tmp227_0*w11;
6211                                            const register double tmp107_1 = tmp35_0*w38;
6212                                            const register double tmp30_1 = tmp22_0*w39;
6213                                            const register double tmp260_1 = A_21_0*w29;
6214                                            const register double tmp343_1 = tmp172_0*w1;
6215                                            const register double tmp511_1 = tmp149_0*w6;
6216                                            const register double tmp139_1 = tmp73_0*w12;
6217                                            const register double tmp66_1 = tmp51_0*w44;
6218                                            const register double tmp208_1 = tmp4_0*w18;
6219                                            const register double tmp134_1 = tmp23_0*w10;
6220                                            const register double tmp205_1 = tmp105_0*w31;
6221                                            const register double tmp349_1 = tmp178_0*w8;
6222                                            const register double tmp341_1 = tmp53_0*w55;
6223                                            const register double tmp72_1 = tmp55_0*w17;
6224                                            const register double tmp79_1 = tmp62_0*w22;
6225                                            const register double tmp26_1 = tmp20_0*w19;
6226                                            const register double tmp141_1 = tmp75_0*w8;
6227                                            const register double tmp118_1 = tmp41_0*w17;
6228                                            const register double tmp259_1 = A_20_0*w28;
6229                                            const register double tmp458_1 = tmp212_0*w28;
6230                                            const register double tmp68_1 = tmp37_0*w15;
6231                                            const register double tmp154_1 = tmp86_0*w31;
6232                                            const register double tmp335_1 = tmp56_0*w59;
6233                                            const register double tmp359_1 = A_02_1*w23;
6234                                            const register double tmp56_1 = A_21_1*w29;
6235                                            const register double tmp392_1 = tmp145_0*w58;
6236                                            const register double tmp270_1 = tmp145_0*w48;
6237                                            const register double tmp92_1 = tmp47_0*w13;
6238                                            const register double tmp433_1 = tmp216_0*w34;
6239                                            const register double tmp420_1 = tmp125_0*w13;
6240                                            const register double tmp408_1 = tmp51_0*w52;
6241                                            const register double tmp494_1 = A_20_2*w28;
6242                                            const register double tmp362_1 = tmp185_0*w12;
6243                                            const register double tmp411_1 = tmp208_0*w19;
6244                                            const register double tmp336_1 = tmp65_0*w58;
6245                                            const register double tmp475_1 = A_21_4*w24;
6246                                            const register double tmp85_1 = A_12_3*w27;
6247                                            const register double tmp19_1 = tmp13_0*w15;
6248                                            const register double tmp537_1 = tmp132_0*w28;
6249                                            const register double tmp67_1 = tmp52_0*w8;
6250                                            const register double tmp459_1 = tmp210_0*w35;
6251                                            const register double tmp248_1 = tmp135_0*w34;
6252                                            const register double tmp326_1 = A_02_6*w23;
6253                                            const register double tmp23_1 = tmp17_0*w20;
6254                                            const register double tmp35_1 = tmp27_0*w11;
6255                                            const register double tmp62_1 = tmp47_0*w6;
6256                                            const register double tmp180_1 = tmp106_0*w7;
6257                                            const register double tmp277_1 = tmp150_0*w47;
6258                                            const register double tmp373_1 = tmp192_0*w35;
6259                                            const register double tmp337_1 = tmp157_0*w42;
6260                                            const register double tmp106_1 = tmp28_0*w39;
6261                                            const register double tmp369_1 = tmp168_0*w50;
6262                                            const register double tmp434_1 = tmp146_0*w58;
6263                                            const register double tmp331_1 = tmp155_0*w29;
6264                                            const register double tmp503_1 = tmp228_0*w27;
6265                                            const register double tmp93_1 = tmp61_0*w9;
6266                                            const register double tmp25_1 = tmp19_0*w22;
6267                                            const register double tmp146_1 = tmp79_0*w20;
6268                                            const register double tmp280_1 = A_10_6*w42;
6269                                            const register double tmp94_1 = tmp60_0*w44;
6270                                            const register double tmp400_1 = A_01_5*w42;
6271                                            const register double tmp151_1 = tmp83_0*w18;
6272                                            const register double tmp78_1 = tmp61_0*w21;
6273                                            const register double tmp301_1 = tmp6_0*w54;
6274                                            const register double tmp48_1 = tmp40_0*w21;
6275                                            const register double tmp75_1 = tmp58_0*w40;
6276                                            const register double tmp82_1 = tmp59_0*w1;
6277                                            const register double tmp74_1 = tmp57_0*w16;
6278                                            const register double tmp36_1 = tmp28_0*w35;
6279                                            const register double tmp370_1 = tmp189_0*w29;
6280                                            const register double tmp224_1 = tmp119_0*w19;
6281                                            const register double tmp109_1 = tmp36_0*w37;
6282                                            const register double tmp345_1 = tmp174_0*w5;
6283                                            const register double tmp101_1 = tmp44_0*w20;
6284                                            const register double tmp308_1 = A_01_5*w46;
6285                                            const register double tmp295_1 = tmp66_0*w58;
6286                                            const register double tmp117_1 = tmp26_0*w30;
6287                                            const register double tmp125_1 = tmp35_0*w3;
6288                                            const register double tmp309_1 = tmp9_0*w6;
6289                                            const register double tmp412_1 = tmp209_0*w24;
6290                                            const register double tmp46_1 = tmp38_0*w17;
6291                                            const register double tmp7_1 = A_02_7*w28;
6292                                            const register double tmp40_1 = tmp32_0*w9;
6293                                            const register double tmp386_1 = tmp198_0*w46;
6294                                            const register double tmp517_1 = tmp228_0*w24;
6295                                            const register double tmp532_1 = tmp223_0*w29;
6296                                            const register double tmp220_1 = A_02_3*w23;
6297                                            const register double tmp268_1 = tmp93_0*w20;
6298                                            const register double tmp322_1 = A_10_7*w39;
6299                                            const register double tmp311_1 = tmp8_0*w13;
6300                                            const register double tmp123_1 = A_01_4*w39;
6301                                            const register double tmp187_1 = A_20_6*w23;
6302                                            const register double tmp177_1 = A_02_5*w2;
6303                                            const register double tmp58_1 = A_21_6*w4;
6304                                            const register double tmp404_1 = tmp7_0*w38;
6305                                            const register double tmp122_1 = tmp64_0*w1;
6306                                            const register double tmp163_1 = tmp94_0*w5;
6307                                            const register double tmp15_1 = tmp9_0*w13;
6308                                            const register double tmp128_1 = A_20_5*w28;
6309                                            const register double tmp204_1 = tmp2_0*w15;
6310                                            const register double tmp539_1 = tmp207_0*w24;
6311                                            const register double tmp57_1 = tmp45_0*w37;
6312                                            const register double tmp53_1 = A_10_3*w39;
6313                                            const register double tmp157_1 = tmp88_0*w17;
6314                                            const register double tmp169_1 = tmp100_0*w16;
6315                                            const register double tmp162_1 = tmp93_0*w1;
6316                                            const register double tmp325_1 = tmp171_0*w12;
6317                                            const register double tmp179_1 = tmp105_0*w37;
6318                                            const register double tmp207_1 = A_20_1*w23;
6319                                            const register double tmp427_1 = tmp145_0*w56;
6320                                            const register double tmp368_1 = tmp188_0*w26;
6321                                            const register double tmp460_1 = tmp211_0*w24;
6322                                            const register double tmp347_1 = tmp176_0*w34;
6323                                            const register double tmp234_1 = tmp102_0*w9;
6324                                            const register double tmp21_1 = tmp15_0*w17;
6325                                            const register double tmp112_1 = tmp31_0*w6;
6326                                            const register double tmp319_1 = tmp169_0*w19;
6327                                            const register double tmp509_1 = A_01_7*w35;
6328                                            const register double tmp418_1 = tmp2_0*w36;
6329                                            const register double tmp266_1 = tmp143_0*w8;
6330                                            const register double tmp244_1 = tmp133_0*w28;
6331                                            const register double tmp138_1 = tmp72_0*w9;
6332                                            const register double tmp20_1 = tmp14_0*w14;
6333                                            const register double tmp29_1 = A_21_3*w24;
6334                                            const register double tmp190_1 = tmp113_0*w1;
6335                                            const register double tmp338_1 = tmp162_0*w17;
6336                                            const register double tmp87_1 = tmp54_0*w37;
6337                                            const register double tmp374_1 = tmp193_0*w34;
6338                                            const register double tmp195_1 = tmp13_0*w0;
6339                                            const register double tmp194_1 = tmp106_0*w25;
6340                                            const register double tmp111_1 = tmp22_0*w35;
6341                                            const register double tmp213_1 = tmp83_0*w5;
6342                                            const register double tmp291_1 = tmp157_0*w46;
6343                                            const register double tmp329_1 = tmp153_0*w2;
6344                                            const register double tmp256_1 = tmp17_0*w1;
6345                                            const register double tmp342_1 = tmp1_0*w54;
6346                                            const register double tmp376_1 = tmp194_0*w12;
6347                                            const register double tmp239_1 = tmp94_0*w18;
6348                                            const register double tmp340_1 = tmp160_0*w22;
6349                                            const register double tmp262_1 = tmp1_0*w7;
6350                                            const register double tmp54_1 = tmp26_0*w0;
6351                                            const register double tmp470_1 = A_20_3*w26;
6352                                            const register double tmp121_1 = tmp24_0*w18;
6353                                            const register double tmp523_1 = tmp85_0*w9;
6354                                            const register double tmp182_1 = tmp107_0*w12;
6355                                            const register double tmp140_1 = tmp74_0*w44;
6356                                            const register double tmp250_1 = tmp137_0*w8;
6357                                            const register double tmp104_1 = tmp55_0*w22;
6358                                            const register double tmp303_1 = A_21_5*w27;
6359                                            const register double tmp4_1 = tmp3_0*w3;
6360                                            const register double tmp526_1 = tmp121_0*w6;
6361                                            const register double tmp410_1 = tmp131_0*w20;
6362                                            const register double tmp255_1 = tmp141_0*w21;
6363                                            const register double tmp394_1 = tmp204_0*w19;
6364                                            const register double tmp172_1 = tmp103_0*w18;
6365                                            const register double tmp211_1 = A_20_0*w2;
6366                                            const register double tmp263_1 = tmp0_0*w20;
6367                                            const register double tmp230_1 = tmp124_0*w35;
6368                                            const register double tmp496_1 = A_01_4*w35;
6369                                            const register double tmp176_1 = A_12_5*w27;
6370                                            const register double tmp401_1 = tmp166_0*w43;
6371                                            const register double tmp43_1 = tmp35_0*w32;
6372                                            const register double tmp395_1 = tmp205_0*w23;
6373                                            const register double tmp348_1 = tmp177_0*w12;
6374                                            const register double tmp390_1 = tmp202_0*w8;
6375                                            const register double tmp525_1 = A_12_1*w4;
6376                                            const register double tmp237_1 = tmp129_0*w22;
6377                                            const register double tmp105_1 = A_12_4*w24;
6378                                            const register double tmp242_1 = tmp92_0*w50;
6379                                            const register double tmp161_1 = tmp92_0*w40;
6380                                            const register double tmp10_1 = A_12_0*w4;
6381                                            const register double tmp536_1 = tmp133_0*w2;
6382                                            const register double tmp55_1 = A_12_4*w27;
6383                                            const register double tmp445_1 = tmp82_0*w17;
6384                                            const register double tmp198_1 = A_02_2*w2;
6385                                            const register double tmp27_1 = A_20_3*w23;
6386                                            const register double tmp143_1 = A_10_5*w42;
6387                                            const register double tmp165_1 = tmp96_0*w9;
6388                                            const register double tmp145_1 = tmp78_0*w16;
6389                                            const register double tmp282_1 = tmp1_0*w57;
6390                                            const register double tmp13_1 = tmp7_0*w10;
6391                                            const register double tmp129_1 = tmp66_0*w49;
6392                                            const register double tmp443_1 = tmp65_0*w49;
6393                                            const register double tmp135_1 = A_10_2*w46;
6394                                            const register double tmp103_1 = tmp50_0*w21;
6395                                            const register double tmp247_1 = tmp13_0*w36;
6396                                            const register double tmp185_1 = tmp110_0*w16;
6397                                            const register double tmp191_1 = tmp114_0*w18;
6398                                            const register double tmp315_1 = tmp19_0*w17;
6399                                            const register double tmp380_1 = tmp195_0*w23;
6400                                            const register double tmp456_1 = tmp218_0*w27;
6401                                            const register double tmp288_1 = tmp154_0*w29;
6402                                            EM_S[INDEX4(k,m,7,3,numEq,numComp,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;
6403                                            EM_S[INDEX4(k,m,4,7,numEq,numComp,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;
6404                                            EM_S[INDEX4(k,m,1,3,numEq,numComp,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;
6405                                            EM_S[INDEX4(k,m,6,4,numEq,numComp,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;
6406                                            EM_S[INDEX4(k,m,3,0,numEq,numComp,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;
6407                                            EM_S[INDEX4(k,m,5,4,numEq,numComp,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;
6408                                            EM_S[INDEX4(k,m,0,7,numEq,numComp,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;
6409                                            EM_S[INDEX4(k,m,5,6,numEq,numComp,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;
6410                                            EM_S[INDEX4(k,m,2,6,numEq,numComp,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;
6411                                            EM_S[INDEX4(k,m,1,6,numEq,numComp,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;
6412                                            EM_S[INDEX4(k,m,5,1,numEq,numComp,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;
6413                                            EM_S[INDEX4(k,m,3,7,numEq,numComp,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;
6414                                            EM_S[INDEX4(k,m,2,5,numEq,numComp,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;
6415                                            EM_S[INDEX4(k,m,0,3,numEq,numComp,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;
6416                                            EM_S[INDEX4(k,m,7,2,numEq,numComp,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;
6417                                            EM_S[INDEX4(k,m,4,0,numEq,numComp,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;
6418                                            EM_S[INDEX4(k,m,1,2,numEq,numComp,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;
6419                                            EM_S[INDEX4(k,m,6,7,numEq,numComp,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;
6420                                            EM_S[INDEX4(k,m,3,3,numEq,numComp,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;
6421                                            EM_S[INDEX4(k,m,2,0,numEq,numComp,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;
6422                                            EM_S[INDEX4(k,m,7,6,numEq,numComp,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;
6423                                            EM_S[INDEX4(k,m,4,4,numEq,numComp,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;
6424                                            EM_S[INDEX4(k,m,6,3,numEq,numComp,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;
6425                                            EM_S[INDEX4(k,m,1,5,numEq,numComp,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;
6426                                            EM_S[INDEX4(k,m,3,6,numEq,numComp,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;
6427                                            EM_S[INDEX4(k,m,2,2,numEq,numComp,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;
6428                                            EM_S[INDEX4(k,m,7,7,numEq,numComp,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;
6429                                            EM_S[INDEX4(k,m,5,7,numEq,numComp,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;
6430                                            EM_S[INDEX4(k,m,5,3,numEq,numComp,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;
6431                                            EM_S[INDEX4(k,m,4,1,numEq,numComp,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;
6432                                            EM_S[INDEX4(k,m,1,1,numEq,numComp,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;
6433                                            EM_S[INDEX4(k,m,2,7,numEq,numComp,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;
6434                                            EM_S[INDEX4(k,m,3,2,numEq,numComp,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;
6435                                            EM_S[INDEX4(k,m,0,0,numEq,numComp,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;
6436                                            EM_S[INDEX4(k,m,6,6,numEq,numComp,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;
6437                                            EM_S[INDEX4(k,m,5,0,numEq,numComp,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;
6438                                            EM_S[INDEX4(k,m,7,1,numEq,numComp,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;
6439                                            EM_S[INDEX4(k,m,4,5,numEq,numComp,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;
6440                                            EM_S[INDEX4(k,m,0,4,numEq,numComp,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;
6441                                            EM_S[INDEX4(k,m,5,5,numEq,numComp,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;
6442                                            EM_S[INDEX4(k,m,1,4,numEq,numComp,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;
6443                                            EM_S[INDEX4(k,m,6,0,numEq,numComp,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;
6444                                            EM_S[INDEX4(k,m,7,5,numEq,numComp,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;
6445                                            EM_S[INDEX4(k,m,2,3,numEq,numComp,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;
6446                                            EM_S[INDEX4(k,m,2,1,numEq,numComp,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;
6447                                            EM_S[INDEX4(k,m,4,2,numEq,numComp,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;
6448                                            EM_S[INDEX4(k,m,1,0,numEq,numComp,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;
6449                                            EM_S[INDEX4(k,m,6,5,numEq,numComp,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;
6450                                            EM_S[INDEX4(k,m,3,5,numEq,numComp,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;
6451                                            EM_S[INDEX4(k,m,0,1,numEq,numComp,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;
6452                                            EM_S[INDEX4(k,m,7,0,numEq,numComp,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;
6453                                            EM_S[INDEX4(k,m,4,6,numEq,numComp,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;
6454                                            EM_S[INDEX4(k,m,5,2,numEq,numComp,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;
6455                                            EM_S[INDEX4(k,m,6,1,numEq,numComp,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;
6456                                            EM_S[INDEX4(k,m,3,1,numEq,numComp,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;
6457                                            EM_S[INDEX4(k,m,0,2,numEq,numComp,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;
6458                                            EM_S[INDEX4(k,m,7,4,numEq,numComp,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;
6459                                            EM_S[INDEX4(k,m,0,6,numEq,numComp,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;
6460                                            EM_S[INDEX4(k,m,6,2,numEq,numComp,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;
6461                                            EM_S[INDEX4(k,m,4,3,numEq,numComp,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;
6462                                            EM_S[INDEX4(k,m,1,7,numEq,numComp,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;
6463                                            EM_S[INDEX4(k,m,0,5,numEq,numComp,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;
6464                                            EM_S[INDEX4(k,m,3,4,numEq,numComp,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;
6465                                            EM_S[INDEX4(k,m,2,4,numEq,numComp,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;
6466                                        }
6467                                    }
6468                                } else { /* constant data */
6469                                    for (index_t k=0; k<numEq; k++) {
6470                                        for (index_t m=0; m<numComp; m++) {
6471                                            const register double A_00 = A_p[INDEX4(k,0,m,0, numEq,3, numComp)];
6472                                            const register double A_01 = A_p[INDEX4(k,0,m,1, numEq,3, numComp)];
6473                                            const register double A_02 = A_p[INDEX4(k,0,m,2, numEq,3, numComp)];
6474                                            const register double A_10 = A_p[INDEX4(k,1,m,0, numEq,3, numComp)];
6475                                            const register double A_11 = A_p[INDEX4(k,1,m,1, numEq,3, numComp)];
6476                                            const register double A_12 = A_p[INDEX4(k,1,m,2, numEq,3, numComp)];
6477                                            const register double A_20 = A_p[INDEX4(k,2,m,0, numEq,3, numComp)];
6478                                            const register double A_21 = A_p[INDEX4(k,2,m,1, numEq,3, numComp)];
6479                                            const register double A_22 = A_p[INDEX4(k,2,m,2, numEq,3, numComp)];
6480                                            const register double tmp0_0 = A_01 + A_10;
6481                                            const register double tmp1_0 = A_02 + A_20;
6482                                            const register double tmp2_0 = A_12 + A_21;
6483                                            const register double tmp25_1 = A_01*w69;
6484                                            const register double tmp2_1 = tmp0_0*w61;
6485                                            const register double tmp33_1 = A_20*w70;
6486                                            const register double tmp23_1 = A_02*w65;
6487                                            const register double tmp41_1 = A_01*w61;
6488                                            const register double tmp34_1 = A_02*w73;
6489                                            const register double tmp8_1 = A_11*w71;
6490                                            const register double tmp50_1 = A_10*w61;
6491                                            const register double tmp15_1 = A_22*w75;
6492                                            const register double tmp9_1 = A_21*w74;
6493                                            const register double tmp19_1 = A_10*w69;
6494                                            const register double tmp11_1 = A_00*w68;
6495                                            const register double tmp52_1 = tmp2_0*w66;
6496                                            const register double tmp37_1 = tmp2_0*w74;
6497                                            const register double tmp0_1 = A_00*w60;
6498                                            const register double tmp17_1 = A_21*w64;
6499                                            const register double tmp26_1 = A_00*w79;
6500                                            const register double tmp5_1 = A_21*w66;
6501                                            const register double tmp29_1 = A_00*w80;
6502                                            const register double tmp7_1 = A_22*w67;
6503                                            const register double tmp48_1 = A_11*w87;
6504                                            const register double tmp44_1 = A_11*w84;
6505                                            const register double tmp27_1 = tmp2_0*w72;
6506                                            const register double tmp42_1 = A_22*w85;
6507                                            const register double tmp18_1 = A_11*w77;
6508                                            const register double tmp35_1 = tmp0_0*w76;
6509                                            const register double tmp46_1 = A_00*w86;
6510                                            const register double tmp32_1 = A_22*w83;
6511                                            const register double tmp22_1 = A_01*w76;
6512                                            const register double tmp4_1 = A_02*w62;
6513                                            const register double tmp10_1 = A_02*w70;
6514                                            const register double tmp3_1 = A_20*w65;
6515                                            const register double tmp39_1 = A_21*w72;
6516                                            const register double tmp51_1 = tmp1_0*w65;
6517                                            const register double tmp12_1 = A_20*w73;
6518                                            const register double tmp40_1 = A_10*w81;
6519                                            const register double tmp43_1 = tmp1_0*w62;
6520                                            const register double tmp28_1 = A_10*w76;
6521                                            const register double tmp45_1 = tmp2_0*w64;
6522                                            const register double tmp49_1 = A_01*w81;
6523                                            const register double tmp36_1 = tmp1_0*w73;
6524                                            const register double tmp53_1 = A_00*w89;
6525                                            const register double tmp6_1 = A_11*w63;
6526                                            const register double tmp31_1 = A_11*w82;
6527                                            const register double tmp21_1 = A_22*w78;
6528                                            const register double tmp16_1 = tmp1_0*w70;
6529                                            const register double tmp14_1 = A_12*w72;
6530                                            const register double tmp38_1 = A_12*w74;
6531                                            const register double tmp30_1 = tmp0_0*w81;
6532                                            const register double tmp47_1 = A_22*w88;
6533                                            const register double tmp13_1 = tmp0_0*w69;
6534                                            const register double tmp20_1 = A_12*w66;
6535                                            const register double tmp1_1 = A_12*w64;
6536                                            const register double tmp24_1 = A_20*w62;
6537                                            EM_S[INDEX4(k,m,7,3,numEq,numComp,8)]+=tmp0_1 + tmp1_1 + tmp2_1 + tmp3_1 + tmp4_1 + tmp5_1 + tmp6_1 + tmp7_1;
6538                                            EM_S[INDEX4(k,m,4,7,numEq,numComp,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp13_1 + tmp14_1 + tmp15_1 + tmp8_1 + tmp9_1;
6539                                            EM_S[INDEX4(k,m,1,3,numEq,numComp,8)]+=tmp0_1 + tmp16_1 + tmp17_1 + tmp18_1 + tmp19_1 + tmp20_1 + tmp21_1 + tmp22_1;
6540                                            EM_S[INDEX4(k,m,6,4,numEq,numComp,8)]+=tmp0_1 + tmp16_1 + tmp17_1 + tmp18_1 + tmp19_1 + tmp20_1 + tmp21_1 + tmp22_1;
6541                                            EM_S[INDEX4(k,m,3,0,numEq,numComp,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp13_1 + tmp14_1 + tmp15_1 + tmp8_1 + tmp9_1;
6542                                            EM_S[INDEX4(k,m,5,4,numEq,numComp,8)]+=tmp21_1 + tmp23_1 + tmp24_1 + tmp25_1 + tmp26_1 + tmp27_1 + tmp28_1 + tmp6_1;
6543                                            EM_S[INDEX4(k,m,0,7,numEq,numComp,8)]+=tmp16_1 + tmp27_1 + tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1;
6544                                            EM_S[INDEX4(k,m,5,6,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp35_1 + tmp8_1 + tmp9_1;
6545                                            EM_S[INDEX4(k,m,2,6,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp30_1 + tmp3_1 + tmp4_1 + tmp6_1 + tmp7_1;
6546                                            EM_S[INDEX4(k,m,1,6,numEq,numComp,8)]+=tmp27_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp36_1;
6547                                            EM_S[INDEX4(k,m,5,1,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp30_1 + tmp3_1 + tmp4_1 + tmp6_1 + tmp7_1;
6548                                            EM_S[INDEX4(k,m,3,7,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp23_1 + tmp24_1 + tmp2_1 + tmp6_1 + tmp7_1;
6549                                            EM_S[INDEX4(k,m,2,5,numEq,numComp,8)]+=tmp16_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp37_1;
6550                                            EM_S[INDEX4(k,m,0,3,numEq,numComp,8)]+=tmp11_1 + tmp13_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp38_1 + tmp39_1 + tmp8_1;
6551                                            EM_S[INDEX4(k,m,7,2,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp9_1;
6552                                            EM_S[INDEX4(k,m,4,0,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp20_1 + tmp23_1 + tmp24_1 + tmp2_1 + tmp6_1 + tmp7_1;
6553                                            EM_S[INDEX4(k,m,1,2,numEq,numComp,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp15_1 + tmp35_1 + tmp38_1 + tmp39_1 + tmp8_1;
6554                                            EM_S[INDEX4(k,m,6,7,numEq,numComp,8)]+=tmp21_1 + tmp25_1 + tmp26_1 + tmp28_1 + tmp37_1 + tmp3_1 + tmp4_1 + tmp6_1;
6555                                            EM_S[INDEX4(k,m,3,3,numEq,numComp,8)]+=tmp35_1 + tmp43_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1;
6556                                            EM_S[INDEX4(k,m,2,0,numEq,numComp,8)]+=tmp0_1 + tmp18_1 + tmp19_1 + tmp1_1 + tmp21_1 + tmp22_1 + tmp36_1 + tmp5_1;
6557                                            EM_S[INDEX4(k,m,7,6,numEq,numComp,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp23_1 + tmp24_1 + tmp26_1 + tmp37_1 + tmp6_1;
6558                                            EM_S[INDEX4(k,m,4,4,numEq,numComp,8)]+=tmp35_1 + tmp43_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1;
6559                                            EM_S[INDEX4(k,m,6,3,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp42_1 + tmp44_1 + tmp49_1 + tmp50_1 + tmp51_1 + tmp9_1;
6560                                            EM_S[INDEX4(k,m,1,5,numEq,numComp,8)]+=tmp0_1 + tmp1_1 + tmp23_1 + tmp24_1 + tmp30_1 + tmp5_1 + tmp6_1 + tmp7_1;
6561                                            EM_S[INDEX4(k,m,3,6,numEq,numComp,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp44_1 + tmp51_1;
6562                                            EM_S[INDEX4(k,m,2,2,numEq,numComp,8)]+=tmp13_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1;
6563                                            EM_S[INDEX4(k,m,7,7,numEq,numComp,8)]+=tmp35_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1 + tmp52_1;
6564                                            EM_S[INDEX4(k,m,5,7,numEq,numComp,8)]+=tmp0_1 + tmp18_1 + tmp19_1 + tmp1_1 + tmp21_1 + tmp22_1 + tmp36_1 + tmp5_1;
6565                                            EM_S[INDEX4(k,m,5,3,numEq,numComp,8)]+=tmp10_1 + tmp12_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp52_1 + tmp53_1 + tmp8_1;
6566                                            EM_S[INDEX4(k,m,4,1,numEq,numComp,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp44_1 + tmp51_1;
6567                                            EM_S[INDEX4(k,m,1,1,numEq,numComp,8)]+=tmp13_1 + tmp43_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp52_1;
6568                                            EM_S[INDEX4(k,m,2,7,numEq,numComp,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp49_1 + tmp50_1;
6569                                            EM_S[INDEX4(k,m,3,2,numEq,numComp,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp26_1 + tmp27_1 + tmp3_1 + tmp4_1 + tmp6_1;
6570                                            EM_S[INDEX4(k,m,0,0,numEq,numComp,8)]+=tmp35_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1 + tmp52_1;
6571                                            EM_S[INDEX4(k,m,6,6,numEq,numComp,8)]+=tmp13_1 + tmp43_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp52_1;
6572                                            EM_S[INDEX4(k,m,5,0,numEq,numComp,8)]+=tmp11_1 + tmp38_1 + tmp39_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp49_1 + tmp50_1;
6573                                            EM_S[INDEX4(k,m,7,1,numEq,numComp,8)]+=tmp10_1 + tmp12_1 + tmp42_1 + tmp45_1 + tmp49_1 + tmp50_1 + tmp53_1 + tmp8_1;
6574                                            EM_S[INDEX4(k,m,4,5,numEq,numComp,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp26_1 + tmp27_1 + tmp3_1 + tmp4_1 + tmp6_1;
6575                                            EM_S[INDEX4(k,m,0,4,numEq,numComp,8)]+=tmp0_1 + tmp1_1 + tmp2_1 + tmp3_1 + tmp4_1 + tmp5_1 + tmp6_1 + tmp7_1;
6576                                            EM_S[INDEX4(k,m,5,5,numEq,numComp,8)]+=tmp13_1 + tmp45_1 + tmp46_1 + tmp47_1 + tmp48_1 + tmp51_1;
6577                                            EM_S[INDEX4(k,m,1,4,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp42_1 + tmp44_1 + tmp49_1 + tmp50_1 + tmp51_1 + tmp9_1;
6578                                            EM_S[INDEX4(k,m,6,0,numEq,numComp,8)]+=tmp33_1 + tmp34_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp45_1 + tmp53_1 + tmp8_1;
6579                                            EM_S[INDEX4(k,m,7,5,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp18_1 + tmp20_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp36_1;
6580                                            EM_S[INDEX4(k,m,2,3,numEq,numComp,8)]+=tmp21_1 + tmp23_1 + tmp24_1 + tmp25_1 + tmp26_1 + tmp27_1 + tmp28_1 + tmp6_1;
6581                                            EM_S[INDEX4(k,m,2,1,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp35_1 + tmp8_1 + tmp9_1;
6582                                            EM_S[INDEX4(k,m,4,2,numEq,numComp,8)]+=tmp33_1 + tmp34_1 + tmp42_1 + tmp49_1 + tmp50_1 + tmp52_1 + tmp53_1 + tmp8_1;
6583                                            EM_S[INDEX4(k,m,1,0,numEq,numComp,8)]+=tmp21_1 + tmp25_1 + tmp26_1 + tmp28_1 + tmp37_1 + tmp3_1 + tmp4_1 + tmp6_1;
6584                                            EM_S[INDEX4(k,m,6,5,numEq,numComp,8)]+=tmp10_1 + tmp11_1 + tmp12_1 + tmp15_1 + tmp35_1 + tmp38_1 + tmp39_1 + tmp8_1;
6585                                            EM_S[INDEX4(k,m,3,5,numEq,numComp,8)]+=tmp33_1 + tmp34_1 + tmp42_1 + tmp49_1 + tmp50_1 + tmp52_1 + tmp53_1 + tmp8_1;
6586                                            EM_S[INDEX4(k,m,0,1,numEq,numComp,8)]+=tmp19_1 + tmp21_1 + tmp22_1 + tmp23_1 + tmp24_1 + tmp26_1 + tmp37_1 + tmp6_1;
6587                                            EM_S[INDEX4(k,m,7,0,numEq,numComp,8)]+=tmp16_1 + tmp27_1 + tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1;
6588                                            EM_S[INDEX4(k,m,4,6,numEq,numComp,8)]+=tmp0_1 + tmp16_1 + tmp18_1 + tmp1_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp5_1;
6589                                            EM_S[INDEX4(k,m,5,2,numEq,numComp,8)]+=tmp16_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp37_1;
6590                                            EM_S[INDEX4(k,m,6,1,numEq,numComp,8)]+=tmp27_1 + tmp29_1 + tmp2_1 + tmp31_1 + tmp32_1 + tmp36_1;
6591                                            EM_S[INDEX4(k,m,3,1,numEq,numComp,8)]+=tmp0_1 + tmp16_1 + tmp18_1 + tmp1_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp5_1;
6592                                            EM_S[INDEX4(k,m,0,2,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp18_1 + tmp20_1 + tmp21_1 + tmp25_1 + tmp28_1 + tmp36_1;
6593                                            EM_S[INDEX4(k,m,7,4,numEq,numComp,8)]+=tmp11_1 + tmp13_1 + tmp15_1 + tmp33_1 + tmp34_1 + tmp38_1 + tmp39_1 + tmp8_1;
6594                                            EM_S[INDEX4(k,m,0,6,numEq,numComp,8)]+=tmp10_1 + tmp12_1 + tmp42_1 + tmp45_1 + tmp49_1 + tmp50_1 + tmp53_1 + tmp8_1;
6595                                            EM_S[INDEX4(k,m,6,2,numEq,numComp,8)]+=tmp0_1 + tmp1_1 + tmp23_1 + tmp24_1 + tmp30_1 + tmp5_1 + tmp6_1 + tmp7_1;
6596                                            EM_S[INDEX4(k,m,4,3,numEq,numComp,8)]+=tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1 + tmp36_1 + tmp37_1;
6597                                            EM_S[INDEX4(k,m,1,7,numEq,numComp,8)]+=tmp33_1 + tmp34_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp45_1 + tmp53_1 + tmp8_1;
6598                                            EM_S[INDEX4(k,m,0,5,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp43_1 + tmp44_1 + tmp9_1;
6599                                            EM_S[INDEX4(k,m,3,4,numEq,numComp,8)]+=tmp29_1 + tmp30_1 + tmp31_1 + tmp32_1 + tmp36_1 + tmp37_1;
6600                                            EM_S[INDEX4(k,m,2,4,numEq,numComp,8)]+=tmp10_1 + tmp12_1 + tmp40_1 + tmp41_1 + tmp42_1 + tmp52_1 + tmp53_1 + tmp8_1;
6601                                        }
6602                                    }
6603                                }
6604                            }
6605                            ///////////////
6606                            // process B //
6607                            ///////////////
6608                            if (!B.isEmpty()) {
6609                                add_EM_S=true;
6610                                const double* B_p=const_cast<escript::Data*>(&B)->getSampleDataRO(e);
6611                                if (B.actsExpanded()) {
6612                                    for (index_t k=0; k<numEq; k++) {
6613                                        for (index_t m=0; m<numComp; m++) {
6614                                            const register double B_0_0 = B_p[INDEX4(k,0,m,0, numEq,3,numComp)];
6615                                            const register double B_1_0 = B_p[INDEX4(k,1,m,0, numEq,3,numComp)];
6616                                            const register double B_2_0 = B_p[INDEX4(k,2,m,0, numEq,3,numComp)];
6617                                            const register double B_0_1 = B_p[INDEX4(k,0,m,1, numEq,3,numComp)];
6618                                            const register double B_1_1 = B_p[INDEX4(k,1,m,1, numEq,3,numComp)];
6619                                            const register double B_2_1 = B_p[INDEX4(k,2,m,1, numEq,3,numComp)];
6620                                            const register double B_0_2 = B_p[INDEX4(k,0,m,2, numEq,3,numComp)];
6621                                            const register double B_1_2 = B_p[INDEX4(k,1,m,2, numEq,3,numComp)];
6622                                            const register double B_2_2 = B_p[INDEX4(k,2,m,2, numEq,3,numComp)];
6623                                            const register double B_0_3 = B_p[INDEX4(k,0,m,3, numEq,3,numComp)];
6624                                            const register double B_1_3 = B_p[INDEX4(k,1,m,3, numEq,3,numComp)];
6625                                            const register double B_2_3 = B_p[INDEX4(k,2,m,3, numEq,3,numComp)];
6626                                            const register double B_0_4 = B_p[INDEX4(k,0,m,4, numEq,3,numComp)];
6627                                            const register double B_1_4 = B_p[INDEX4(k,1,m,4, numEq,3,numComp)];
6628                                            const register double B_2_4 = B_p[INDEX4(k,2,m,4, numEq,3,numComp)];
6629                                            const register double B_0_5 = B_p[INDEX4(k,0,m,5, numEq,3,numComp)];
6630                                            const register double B_1_5 = B_p[INDEX4(k,1,m,5, numEq,3,numComp)];
6631                                            const register double B_2_5 = B_p[INDEX4(k,2,m,5, numEq,3,numComp)];
6632                                            const register double B_0_6 = B_p[INDEX4(k,0,m,6, numEq,3,numComp)];
6633                                            const register double B_1_6 = B_p[INDEX4(k,1,m,6, numEq,3,numComp)];
6634                                            const register double B_2_6 = B_p[INDEX4(k,2,m,6, numEq,3,numComp)];
6635                                            const register double B_0_7 = B_p[INDEX4(k,0,m,7, numEq,3,numComp)];
6636                                            const register double B_1_7 = B_p[INDEX4(k,1,m,7, numEq,3,numComp)];
6637                                            const register double B_2_7 = B_p[INDEX4(k,2,m,7, numEq,3,numComp)];
6638                                            const register double tmp24_0 = B_2_0 + B_2_2;
6639                                            const register double tmp19_0 = B_2_0 + B_2_1 + B_2_2 + B_2_3;
6640                                            const register double tmp20_0 = B_1_0 + B_1_5;
6641                                            const register double tmp22_0 = B_2_1 + B_2_3;
6642                                            const register double tmp29_0 = B_2_2 + B_2_3;
6643                                            const register double tmp34_0 = B_1_0 + B_1_1 + B_1_4 + B_1_5;
6644                                            const register double tmp15_0 = B_2_4 + B_2_5 + B_2_6 + B_2_7;
6645                                            const register double tmp7_0 = B_0_0 + B_0_4;
6646                                            const register double tmp40_0 = B_1_1 + B_1_4;
6647                                            const register double tmp14_0 = B_1_4 + B_1_5;
6648                                            const register double tmp35_0 = B_1_2 + B_1_3 + B_1_6 + B_1_7;
6649                                            const register double tmp17_0 = B_1_6 + B_1_7;
6650                                            const register double tmp8_0 = B_1_2 + B_1_6;
6651                                            const register double tmp28_0 = B_2_4 + B_2_5;
6652                                            const register double tmp10_0 = B_0_1 + B_0_3;
6653                                            const register double tmp9_0 = B_2_5 + B_2_6;
6654                                            const register double tmp30_0 = B_2_0 + B_2_1;
6655                                            const register double tmp27_0 = B_0_0 + B_0_6;
6656                                            const register double tmp32_0 = B_0_0 + B_0_2 + B_0_4 + B_0_6;
6657                                            const register double tmp16_0 = B_0_0 + B_0_2;
6658                                            const register double tmp2_0 = B_1_3 + B_1_7;
6659                                            const register double tmp3_0 = B_2_1 + B_2_2;
6660                                            const register double tmp33_0 = B_0_1 + B_0_3 + B_0_5 + B_0_7;
6661                                            const register double tmp23_0 = B_2_5 + B_2_7;
6662                                            const register double tmp36_0 = B_2_4 + B_2_7;
6663                                            const register double tmp39_0 = B_0_3 + B_0_5;
6664                                            const register double tmp41_0 = B_1_3 + B_1_6;
6665                                            const register double tmp5_0 = B_1_0 + B_1_4;
6666                                            const register double tmp18_0 = B_1_0 + B_1_1;
6667                                            const register double tmp0_0 = B_0_1 + B_0_5;
6668                                            const register double tmp37_0 = B_2_0 + B_2_3;
6669                                            const register double tmp25_0 = B_2_4 + B_2_6;
6670                                            const register double tmp38_0 = B_0_2 + B_0_4;
6671                                            const register double tmp31_0 = B_2_6 + B_2_7;
6672                                            const register double tmp1_0 = B_0_2 + B_0_6;
6673                                            const register double tmp11_0 = B_0_4 + B_0_6;
6674                                            const register double tmp21_0 = B_1_2 + B_1_7;
6675                                            const register double tmp6_0 = B_1_1 + B_1_5;
6676                                            const register double tmp13_0 = B_1_2 + B_1_3;
6677                                            const register double tmp12_0 = B_0_5 + B_0_7;
6678                                            const register double tmp26_0 = B_0_1 + B_0_7;
6679                                            const register double tmp4_0 = B_0_3 + B_0_7;
6680                                            const register double tmp324_1 = B_0_6*w104;
6681                                            const register double tmp209_1 = B_1_4*w114;
6682                                            const register double tmp255_1 = B_2_3*w103;
6683                                            const register double tmp37_1 = B_1_1*w111;
6684                                            const register double tmp326_1 = tmp38_0*w108;
6685                                            const register double tmp179_1 = tmp21_0*w94;
6686                                            const register double tmp102_1 = tmp4_0*w93;
6687                                            const register double tmp251_1 = B_0_2*w125;
6688                                            const register double tmp321_1 = B_0_4*w90;
6689                                            const register double tmp198_1 = tmp41_0*w97;
6690                                            const register double tmp15_1 = tmp11_0*w108;
6691                                            const register double tmp158_1 = tmp17_0*w99;
6692                                            const register double tmp138_1 = tmp35_0*w94;
6693                                            const register double tmp5_1 = B_2_3*w100;
6694                                            const register double tmp51_1 = tmp25_0*w103;
6695                                            const register double tmp258_1 = B_2_7*w100;
6696                                            const register double tmp221_1 = B_0_4*w125;
6697                                            const register double tmp70_1 = B_0_5*w98;
6698                                            const register double tmp202_1 = tmp38_0*w96;
6699                                            const register double tmp247_1 = tmp41_0*w94;
6700                                            const register double tmp122_1 = tmp34_0*w94;
6701                                            const register double tmp349_1 = B_2_1*w101;
6702                                            const register double tmp167_1 = tmp31_0*w103;
6703                                            const register double tmp408_1 = tmp8_0*w111;
6704                                            const register double tmp20_1 = tmp16_0*w104;
6705                                            const register double tmp2_1 = B_2_7*w103;
6706                                            const register double tmp398_1 = B_1_7*w99;
6707                                            const register double tmp262_1 = B_1_7*w119;
6708                                            const register double tmp97_1 = tmp5_0*w94;
6709                                            const register double tmp157_1 = tmp30_0*w92;
6710                                            const register double tmp67_1 = tmp18_0*w107;
6711                                            const register double tmp144_1 = tmp7_0*w110;
6712                                            const register double tmp264_1 = B_0_0*w120;
6713                                            const register double tmp396_1 = tmp6_0*w97;
6714                                            const register double tmp218_1 = B_1_6*w111;
6715                                            const register double tmp147_1 = tmp8_0*w109;
6716                                            const register double tmp39_1 = tmp12_0*w108;
6717                                            const register double tmp58_1 = tmp15_0*w112;
6718                                            const register double tmp214_1 = B_1_3*w115;
6719                                            const register double tmp69_1 = tmp30_0*w95;
6720                                            const register double tmp54_1 = tmp18_0*w99;
6721                                            const register double tmp261_1 = B_2_0*w101;
6722                                            const register double tmp390_1 = tmp24_0*w103;
6723                                            const register double tmp374_1 = B_2_1*w103;
6724                                            const register double tmp151_1 = tmp2_0*w105;
6725                                            const register double tmp274_1 = tmp22_0*w95;
6726                                            const register double tmp126_1 = tmp16_0*w108;
6727                                            const register double tmp302_1 = B_2_6*w122;
6728                                            const register double tmp14_1 = tmp10_0*w106;
6729                                            const register double tmp190_1 = B_1_2*w99;
6730                                            const register double tmp9_1 = B_2_4*w101;
6731                                            const register double tmp150_1 = B_2_7*w101;
6732                                            const register double tmp66_1 = tmp29_0*w92;
6733                                            const register double tmp334_1 = B_0_7*w124;
6734                                            const register double tmp252_1 = tmp38_0*w93;
6735                                            const register double tmp392_1 = tmp5_0*w99;
6736                                            const register double tmp4_1 = tmp2_0*w99;
6737                                            const register double tmp63_1 = B_0_4*w121;
6738                                            const register double tmp152_1 = tmp5_0*w111;
6739                                            const register double tmp133_1 = tmp4_0*w96;
6740                                            const register double tmp195_1 = tmp40_0*w94;
6741                                            const register double tmp145_1 = B_2_3*w92;
6742                                            const register double tmp35_1 = tmp25_0*w116;
6743                                            const register double tmp316_1 = B_0_3*w98;
6744                                            const register double tmp208_1 = B_2_0*w103;
6745                                            const register double tmp373_1 = B_1_2*w115;
6746                                            const register double tmp62_1 = tmp26_0*w93;
6747                                            const register double tmp85_1 = tmp10_0*w90;
6748                                            const register double tmp187_1 = tmp11_0*w106;
6749                                            const register double tmp342_1 = B_2_5*w92;
6750                                            const register double tmp77_1 = tmp33_0*w108;
6751                                            const register double tmp121_1 = B_2_4*w116;
6752                                            const register double tmp379_1 = B_2_2*w101;
6753                                            const register double tmp391_1 = tmp23_0*w92;
6754                                            const register double tmp451_1 = tmp22_0*w116;
6755                                            const register double tmp73_1 = B_0_2*w90;
6756                                            const register double tmp436_1 = B_1_6*w114;
6757                                            const register double tmp233_1 = tmp29_0*w117;
6758                                            const register double tmp426_1 = tmp23_0*w113;
6759                                            const register double tmp124_1 = tmp11_0*w104;
6760                                            const register double tmp148_1 = B_2_0*w100;
6761                                            const register double tmp314_1 = tmp29_0*w113;
6762                                            const register double tmp163_1 = B_0_0*w124;
6763                                            const register double tmp301_1 = B_1_6*w115;
6764                                            const register double tmp171_1 = B_2_4*w122;
6765                                            const register double tmp7_1 = tmp4_0*w98;
6766                                            const register double tmp11_1 = tmp7_0*w90;
6767                                            const register double tmp308_1 = B_2_2*w116;
6768                                            const register double tmp117_1 = B_2_3*w113;
6769                                            const register double tmp403_1 = B_0_5*w104;
6770                                            const register double tmp178_1 = tmp9_0*w112;
6771                                            const register double tmp128_1 = tmp17_0*w107;
6772                                            const register double tmp89_1 = tmp1_0*w110;
6773                                            const register double tmp434_1 = tmp19_0*w95;
6774                                            const register double tmp270_1 = B_1_7*w114;
6775                                            const register double tmp358_1 = tmp6_0*w99;
6776                                            const register double tmp411_1 = tmp14_0*w107;
6777                                            const register double tmp433_1 = B_0_1*w125;
6778                                            const register double tmp376_1 = B_2_6*w92;
6779                                            const register double tmp42_1 = B_1_6*w99;
6780                                            const register double tmp72_1 = tmp13_0*w105;
6781                                            const register double tmp287_1 = tmp2_0*w111;
6782                                            const register double tmp191_1 = tmp24_0*w113;
6783                                            const register double tmp6_1 = tmp3_0*w95;
6784                                            const register double tmp309_1 = B_1_4*w105;
6785                                            const register double tmp367_1 = B_0_5*w125;
6786                                            const register double tmp234_1 = tmp28_0*w112;
6787                                            const register double tmp339_1 = B_1_2*w111;
6788                                            const register double tmp335_1 = tmp41_0*w107;
6789                                            const register double tmp173_1 = B_2_7*w113;
6790                                            const register double tmp384_1 = tmp28_0*w113;
6791                                            const register double tmp81_1 = tmp19_0*w112;
6792                                            const register double tmp328_1 = B_2_7*w122;
6793                                            const register double tmp413_1 = tmp30_0*w113;
6794                                            const register double tmp111_1 = B_2_6*w101;
6795                                            const register double tmp378_1 = B_0_4*w98;
6796                                            const register double tmp211_1 = tmp21_0*w107;
6797                                            const register double tmp79_1 = tmp35_0*w109;
6798                                            const register double tmp354_1 = tmp1_0*w93;
6799                                            const register double tmp333_1 = B_2_0*w123;
6800                                            const register double tmp169_1 = B_0_3*w121;
6801                                            const register double tmp300_1 = B_0_1*w121;
6802                                            const register double tmp118_1 = B_2_7*w123;
6803                                            const register double tmp372_1 = B_0_5*w121;
6804                                            const register double tmp104_1 = B_2_5*w103;
6805                                            const register double tmp304_1 = B_2_5*w113;
6806                                            const register double tmp397_1 = tmp22_0*w102;
6807                                            const register double tmp61_1 = tmp14_0*w97;
6808                                            const register double tmp290_1 = tmp4_0*w106;
6809                                            const register double tmp269_1 = tmp23_0*w103;
6810                                            const register double tmp361_1 = tmp5_0*w97;
6811                                            const register double tmp189_1 = tmp16_0*w110;
6812                                            const register double tmp116_1 = B_2_0*w122;
6813                                            const register double tmp449_1 = tmp24_0*w117;
6814                                            const register double tmp268_1 = tmp11_0*w96;
6815                                            const register double tmp325_1 = tmp39_0*w106;
6816                                            const register double tmp27_1 = tmp20_0*w107;
6817                                            const register double tmp174_1 = B_2_3*w123;
6818                                            const register double tmp422_1 = tmp14_0*w99;
6819                                            const register double tmp146_1 = tmp6_0*w107;
6820                                            const register double tmp277_1 = B_1_2*w105;
6821                                            const register double tmp443_1 = B_1_6*w118;
6822                                            const register double tmp446_1 = B_1_7*w105;
6823                                            const register double tmp91_1 = tmp8_0*w99;
6824                                            const register double tmp405_1 = B_0_3*w125;
6825                                            const register double tmp57_1 = tmp17_0*w91;
6826                                            const register double tmp455_1 = B_2_6*w103;
6827                                            const register double tmp110_1 = tmp0_0*w98;
6828                                            const register double tmp341_1 = B_1_6*w119;
6829                                            const register double tmp203_1 = B_0_7*w98;
6830                                            const register double tmp371_1 = B_2_7*w116;
6831                                            const register double tmp382_1 = B_0_3*w90;
6832                                            const register double tmp320_1 = tmp28_0*w116;
6833                                            const register double tmp107_1 = tmp2_0*w109;
6834                                            const register double tmp149_1 = tmp4_0*w104;
6835                                            const register double tmp159_1 = tmp29_0*w95;
6836                                            const register double tmp253_1 = B_0_7*w121;
6837                                            const register double tmp90_1 = B_2_1*w122;
6838                                            const register double tmp360_1 = tmp2_0*w94;
6839                                            const register double tmp414_1 = tmp28_0*w117;
6840                                            const register double tmp26_1 = tmp16_0*w96;
6841                                            const register double tmp84_1 = tmp11_0*w98;
6842                                            const register double tmp225_1 = tmp1_0*w108;
6843                                            const register double tmp1_1 = tmp1_0*w96;
6844                                            const register double tmp344_1 = B_2_6*w100;
6845                                            const register double tmp400_1 = B_1_5*w119;
6846                                            const register double tmp345_1 = tmp36_0*w95;
6847                                            const register double tmp407_1 = tmp5_0*w109;
6848                                            const register double tmp228_1 = B_2_2*w122;
6849                                            const register double tmp113_1 = tmp8_0*w105;
6850                                            const register double tmp347_1 = B_0_0*w104;
6851                                            const register double tmp286_1 = tmp23_0*w95;
6852                                            const register double tmp395_1 = tmp8_0*w94;
6853                                            const register double tmp401_1 = B_1_2*w118;
6854                                            const register double tmp380_1 = B_1_7*w111;
6855                                            const register double tmp327_1 = B_0_1*w110;
6856                                            const register double tmp55_1 = tmp19_0*w117;
6857                                            const register double tmp291_1 = tmp7_0*w108;
6858                                            const register double tmp31_1 = tmp10_0*w98;
6859                                            const register double tmp125_1 = tmp12_0*w106;
6860                                            const register double tmp330_1 = tmp40_0*w109;
6861                                            const register double tmp323_1 = tmp17_0*w97;
6862                                            const register double tmp136_1 = tmp31_0*w95;
6863                                            const register double tmp16_1 = tmp12_0*w110;
6864                                            const register double tmp418_1 = B_0_6*w90;
6865                                            const register double tmp428_1 = tmp25_0*w112;
6866                                            const register double tmp385_1 = tmp30_0*w117;
6867                                            const register double tmp351_1 = B_1_1*w118;
6868                                            const register double tmp165_1 = B_0_7*w125;
6869                                            const register double tmp298_1 = tmp29_0*w102;
6870                                            const register double tmp295_1 = tmp34_0*w109;
6871                                            const register double tmp296_1 = tmp28_0*w95;
6872                                            const register double tmp283_1 = tmp25_0*w92;
6873                                            const register double tmp230_1 = B_2_5*w123;
6874                                            const register double tmp350_1 = B_0_1*w124;
6875                                            const register double tmp293_1 = tmp31_0*w92;
6876                                            const register double tmp8_1 = tmp5_0*w91;
6877                                            const register double tmp215_1 = tmp9_0*w95;
6878                                            const register double tmp329_1 = B_1_0*w114;
6879                                            const register double tmp115_1 = tmp6_0*w111;
6880                                            const register double tmp387_1 = tmp29_0*w116;
6881                                            const register double tmp442_1 = B_1_1*w119;
6882                                            const register double tmp281_1 = tmp33_0*w96;
6883                                            const register double tmp415_1 = B_0_1*w98;
6884                                            const register double tmp311_1 = B_1_3*w111;
6885                                            const register double tmp50_1 = tmp23_0*w102;
6886                                            const register double tmp294_1 = tmp35_0*w107;
6887                                            const register double tmp362_1 = tmp27_0*w106;
6888                                            const register double tmp340_1 = B_2_2*w103;
6889                                            const register double tmp282_1 = tmp22_0*w103;
6890                                            const register double tmp254_1 = tmp39_0*w96;
6891                                            const register double tmp186_1 = tmp12_0*w104;
6892                                            const register double tmp106_1 = tmp5_0*w107;
6893                                            const register double tmp170_1 = tmp26_0*w96;
6894                                            const register double tmp427_1 = tmp22_0*w117;
6895                                            const register double tmp452_1 = B_2_1*w92;
6896                                            const register double tmp437_1 = B_1_1*w115;
6897                                            const register double tmp431_1 = B_0_0*w110;
6898                                            const register double tmp201_1 = B_0_6*w121;
6899                                            const register double tmp310_1 = B_0_6*w120;
6900                                            const register double tmp331_1 = B_2_4*w113;
6901                                            const register double tmp212_1 = tmp20_0*w109;
6902                                            const register double tmp47_1 = B_1_4*w119;
6903                                            const register double tmp420_1 = B_0_7*w120;
6904                                            const register double tmp38_1 = tmp16_0*w106;
6905                                            const register double tmp184_1 = tmp20_0*w97;
6906                                            const register double tmp280_1 = tmp32_0*w93;
6907                                            const register double tmp123_1 = tmp35_0*w97;
6908                                            const register double tmp359_1 = tmp8_0*w91;
6909                                            const register double tmp95_1 = tmp6_0*w91;
6910                                            const register double tmp246_1 = tmp36_0*w112;
6911                                            const register double tmp241_1 = B_2_6*w113;
6912                                            const register double tmp3_1 = B_2_0*w92;
6913                                            const register double tmp162_1 = tmp14_0*w94;
6914                                            const register double tmp406_1 = tmp2_0*w107;
6915                                            const register double tmp175_1 = tmp3_0*w117;
6916                                            const register double tmp205_1 = B_0_1*w120;
6917                                            const register double tmp416_1 = tmp29_0*w112;
6918                                            const register double tmp48_1 = tmp21_0*w97;
6919                                            const register double tmp101_1 = tmp32_0*w96;
6920                                            const register double tmp231_1 = B_2_6*w116;
6921                                            const register double tmp366_1 = B_0_2*w124;
6922                                            const register double tmp34_1 = tmp11_0*w90;
6923                                            const register double tmp200_1 = tmp39_0*w93;
6924                                            const register double tmp44_1 = tmp10_0*w104;
6925                                            const register double tmp346_1 = B_0_6*w125;
6926                                            const register double tmp65_1 = tmp28_0*w103;
6927                                            const register double tmp248_1 = B_1_2*w119;
6928                                            const register double tmp288_1 = tmp5_0*w105;
6929                                            const register double tmp227_1 = tmp4_0*w110;
6930                                            const register double tmp343_1 = B_1_4*w99;
6931                                            const register double tmp139_1 = tmp0_0*w90;
6932                                            const register double tmp41_1 = tmp22_0*w92;
6933                                            const register double tmp305_1 = B_2_1*w123;
6934                                            const register double tmp307_1 = B_0_7*w90;
6935                                            const register double tmp217_1 = B_2_3*w101;
6936                                            const register double tmp219_1 = B_0_3*w124;
6937                                            const register double tmp105_1 = B_2_2*w92;
6938                                            const register double tmp423_1 = tmp13_0*w91;
6939                                            const register double tmp381_1 = B_1_0*w105;
6940                                            const register double tmp166_1 = tmp28_0*w102;
6941                                            const register double tmp259_1 = B_0_6*w98;
6942                                            const register double tmp402_1 = B_0_2*w110;
6943                                            const register double tmp263_1 = B_0_1*w90;
6944                                            const register double tmp276_1 = B_1_5*w111;
6945                                            const register double tmp243_1 = B_2_2*w123;
6946                                            const register double tmp131_1 = tmp13_0*w111;
6947                                            const register double tmp265_1 = B_1_0*w118;
6948                                            const register double tmp337_1 = B_1_5*w105;
6949                                            const register double tmp172_1 = B_1_1*w99;
6950                                            const register double tmp161_1 = tmp18_0*w91;
6951                                            const register double tmp88_1 = tmp4_0*w108;
6952                                            const register double tmp236_1 = B_1_5*w118;
6953                                            const register double tmp273_1 = tmp41_0*w109;
6954                                            const register double tmp154_1 = tmp38_0*w106;
6955                                            const register double tmp440_1 = B_1_3*w99;
6956                                            const register double tmp33_1 = B_1_3*w114;
6957                                            const register double tmp141_1 = tmp30_0*w102;
6958                                            const register double tmp393_1 = tmp25_0*w95;
6959                                            const register double tmp289_1 = tmp24_0*w102;
6960                                            const register double tmp180_1 = B_1_3*w119;
6961                                            const register double tmp86_1 = tmp36_0*w117;
6962                                            const register double tmp444_1 = B_1_5*w115;
6963                                            const register double tmp447_1 = B_1_0*w111;
6964                                            const register double tmp315_1 = tmp31_0*w117;
6965                                            const register double tmp120_1 = tmp3_0*w112;
6966                                            const register double tmp355_1 = tmp0_0*w96;
6967                                            const register double tmp223_1 = B_0_5*w110;
6968                                            const register double tmp60_1 = tmp12_0*w90;
6969                                            const register double tmp239_1 = B_2_5*w122;
6970                                            const register double tmp194_1 = tmp22_0*w112;
6971                                            const register double tmp28_1 = tmp21_0*w109;
6972                                            const register double tmp24_1 = tmp12_0*w93;
6973                                            const register double tmp424_1 = tmp17_0*w94;
6974                                            const register double tmp237_1 = B_0_4*w104;
6975                                            const register double tmp322_1 = B_0_5*w120;
6976                                            const register double tmp453_1 = B_2_2*w100;
6977                                            const register double tmp238_1 = B_0_3*w110;
6978                                            const register double tmp370_1 = B_2_4*w123;
6979                                            const register double tmp155_1 = tmp39_0*w108;
6980                                            const register double tmp23_1 = tmp19_0*w102;
6981                                            const register double tmp181_1 = B_2_0*w116;
6982                                            const register double tmp164_1 = tmp13_0*w97;
6983                                            const register double tmp168_1 = tmp27_0*w93;
6984                                            const register double tmp285_1 = tmp6_0*w109;
6985                                            const register double tmp32_1 = tmp24_0*w112;
6986                                            const register double tmp210_1 = B_2_7*w92;
6987                                            const register double tmp399_1 = B_1_0*w91;
6988                                            const register double tmp183_1 = B_0_4*w120;
6989                                            const register double tmp185_1 = B_1_4*w118;
6990                                            const register double tmp40_1 = tmp11_0*w110;
6991                                            const register double tmp59_1 = tmp13_0*w94;
6992                                            const register double tmp279_1 = tmp25_0*w102;
6993                                            const register double tmp242_1 = B_1_7*w91;
6994                                            const register double tmp454_1 = B_2_5*w101;
6995                                            const register double tmp114_1 = tmp1_0*w90;
6996                                            const register double tmp319_1 = tmp18_0*w94;
6997                                            const register double tmp394_1 = tmp2_0*w91;
6998                                            const register double tmp229_1 = B_2_1*w113;
6999                                            const register double tmp93_1 = B_2_6*w123;
7000                                            const register double tmp278_1 = tmp16_0*w90;
7001                                            const register double tmp46_1 = tmp20_0*w94;
7002                                            const register double tmp87_1 = tmp7_0*w106;
7003                                            const register double tmp421_1 = tmp18_0*w111;
7004                                            const register double tmp313_1 = tmp13_0*w99;
7005                                            const register double tmp364_1 = B_0_4*w110;
7006                                            const register double tmp412_1 = tmp13_0*w109;
7007                                            const register double tmp30_1 = tmp23_0*w117;
7008                                            const register double tmp365_1 = B_0_3*w104;
7009                                            const register double tmp425_1 = tmp18_0*w97;
7010                                            const register double tmp134_1 = tmp29_0*w103;
7011                                            const register double tmp143_1 = tmp0_0*w108;
7012                                            const register double tmp213_1 = B_2_4*w100;
7013                                            const register double tmp435_1 = tmp15_0*w102;
7014                                            const register double tmp78_1 = tmp34_0*w107;
7015                                            const register double tmp76_1 = tmp32_0*w106;
7016                                            const register double tmp132_1 = tmp7_0*w93;
7017                                            const register double tmp348_1 = B_1_3*w91;
7018                                            const register double tmp68_1 = tmp17_0*w109;
7019                                            const register double tmp130_1 = tmp14_0*w105;
7020                                            const register double tmp142_1 = tmp1_0*w106;
7021                                            const register double tmp153_1 = B_2_4*w103;
7022                                            const register double tmp432_1 = B_0_6*w124;
7023                                            const register double tmp256_1 = B_2_4*w92;
7024                                            const register double tmp204_1 = B_0_0*w90;
7025                                            const register double tmp82_1 = tmp16_0*w93;
7026                                            const register double tmp222_1 = tmp3_0*w102;
7027                                            const register double tmp272_1 = tmp40_0*w107;
7028                                            const register double tmp19_1 = tmp15_0*w95;
7029                                            const register double tmp226_1 = tmp7_0*w104;
7030                                            const register double tmp25_1 = B_1_4*w115;
7031                                            const register double tmp199_1 = B_1_7*w118;
7032                                            const register double tmp303_1 = B_1_1*w114;
7033                                            const register double tmp318_1 = tmp30_0*w112;
7034                                            const register double tmp100_1 = tmp33_0*w93;
7035                                            const register double tmp439_1 = B_1_4*w111;
7036                                            const register double tmp17_1 = tmp13_0*w107;
7037                                            const register double tmp83_1 = tmp12_0*w96;
7038                                            const register double tmp45_1 = B_1_1*w91;
7039                                            const register double tmp75_1 = tmp14_0*w111;
7040                                            const register double tmp368_1 = B_2_3*w122;
7041                                            const register double tmp216_1 = B_0_2*w104;
7042                                            const register double tmp429_1 = tmp24_0*w116;
7043                                            const register double tmp388_1 = tmp33_0*w106;
7044                                            const register double tmp13_1 = tmp9_0*w102;
7045                                            const register double tmp18_1 = tmp14_0*w109;
7046                                            const register double tmp112_1 = tmp36_0*w102;
7047                                            const register double tmp140_1 = tmp34_0*w97;
7048                                            const register double tmp383_1 = B_0_2*w120;
7049                                            const register double tmp119_1 = tmp9_0*w117;
7050                                            const register double tmp36_1 = B_1_6*w105;
7051                                            const register double tmp266_1 = tmp10_0*w93;
7052                                            const register double tmp336_1 = B_2_3*w116;
7053                                            const register double tmp419_1 = tmp31_0*w116;
7054                                            const register double tmp363_1 = tmp26_0*w108;
7055                                            const register double tmp196_1 = B_1_0*w119;
7056                                            const register double tmp182_1 = B_0_5*w90;
7057                                            const register double tmp0_1 = tmp0_0*w93;
7058                                            const register double tmp297_1 = tmp1_0*w104;
7059                                            const register double tmp12_1 = tmp8_0*w97;
7060                                            const register double tmp244_1 = tmp37_0*w117;
7061                                            const register double tmp332_1 = B_1_7*w115;
7062                                            const register double tmp156_1 = B_0_6*w110;
7063                                            const register double tmp127_1 = tmp10_0*w110;
7064                                            const register double tmp257_1 = B_1_5*w99;
7065                                            const register double tmp64_1 = tmp27_0*w96;
7066                                            const register double tmp389_1 = tmp32_0*w108;
7067                                            const register double tmp10_1 = tmp6_0*w94;
7068                                            const register double tmp317_1 = tmp14_0*w91;
7069                                            const register double tmp275_1 = tmp12_0*w98;
7070                                            const register double tmp99_1 = tmp2_0*w97;
7071                                            const register double tmp192_1 = tmp25_0*w117;
7072                                            const register double tmp224_1 = tmp0_0*w106;
7073                                            const register double tmp410_1 = B_0_0*w121;
7074                                            const register double tmp409_1 = tmp6_0*w105;
7075                                            const register double tmp441_1 = B_1_4*w91;
7076                                            const register double tmp206_1 = tmp26_0*w106;
7077                                            const register double tmp232_1 = tmp31_0*w113;
7078                                            const register double tmp108_1 = B_2_1*w100;
7079                                            const register double tmp21_1 = tmp17_0*w111;
7080                                            const register double tmp52_1 = tmp11_0*w93;
7081                                            const register double tmp103_1 = tmp7_0*w96;
7082                                            const register double tmp197_1 = tmp23_0*w116;
7083                                            const register double tmp438_1 = B_1_3*w105;
7084                                            const register double tmp235_1 = tmp30_0*w116;
7085                                            const register double tmp29_1 = tmp22_0*w113;
7086                                            const register double tmp98_1 = B_2_5*w116;
7087                                            const register double tmp369_1 = B_2_0*w113;
7088                                            const register double tmp74_1 = B_0_3*w120;
7089                                            const register double tmp137_1 = tmp1_0*w98;
7090                                            const register double tmp284_1 = tmp8_0*w107;
7091                                            const register double tmp109_1 = tmp37_0*w95;
7092                                            const register double tmp448_1 = tmp25_0*w113;
7093                                            const register double tmp56_1 = tmp16_0*w98;
7094                                            const register double tmp375_1 = B_1_5*w114;
7095                                            const register double tmp188_1 = tmp10_0*w108;
7096                                            const register double tmp94_1 = tmp0_0*w104;
7097                                            const register double tmp260_1 = B_1_2*w91;
7098                                            const register double tmp49_1 = B_1_3*w118;
7099                                            const register double tmp404_1 = B_0_4*w124;
7100                                            const register double tmp430_1 = B_0_7*w104;
7101                                            const register double tmp299_1 = tmp0_0*w110;
7102                                            const register double tmp417_1 = tmp17_0*w105;
7103                                            const register double tmp445_1 = B_1_2*w114;
7104                                            const register double tmp353_1 = B_0_7*w110;
7105                                            const register double tmp135_1 = tmp28_0*w92;
7106                                            const register double tmp357_1 = tmp4_0*w90;
7107                                            const register double tmp356_1 = tmp7_0*w98;
7108                                            const register double tmp267_1 = B_1_0*w115;
7109                                            const register double tmp220_1 = B_1_1*w105;
7110                                            const register double tmp338_1 = B_0_0*w125;
7111                                            const register double tmp292_1 = tmp30_0*w103;
7112                                            const register double tmp53_1 = tmp10_0*w96;
7113                                            const register double tmp43_1 = tmp24_0*w95;
7114                                            const register double tmp386_1 = tmp31_0*w112;
7115                                            const register double tmp92_1 = B_2_2*w113;
7116                                            const register double tmp245_1 = B_0_5*w124;
7117                                            const register double tmp306_1 = B_0_0*w98;
7118                                            const register double tmp96_1 = tmp37_0*w112;
7119                                            const register double tmp177_1 = B_1_6*w91;
7120                                            const register double tmp176_1 = B_0_2*w98;
7121                                            const register double tmp71_1 = tmp31_0*w102;
7122                                            const register double tmp129_1 = tmp18_0*w109;
7123                                            const register double tmp352_1 = tmp37_0*w102;
7124                                            const register double tmp312_1 = B_0_2*w121;
7125                                            const register double tmp80_1 = tmp15_0*w117;
7126                                            const register double tmp450_1 = tmp23_0*w112;
7127                                            const register double tmp271_1 = tmp24_0*w92;
7128                                            const register double tmp22_1 = tmp18_0*w105;
7129                                            const register double tmp250_1 = tmp40_0*w97;
7130                                            const register double tmp249_1 = B_2_1*w116;
7131                                            const register double tmp207_1 = tmp27_0*w108;
7132                                            const register double tmp193_1 = B_1_5*w91;
7133                                            const register double tmp240_1 = B_1_0*w99;
7134                                            const register double tmp160_1 = B_0_1*w104;
7135                                            const register double tmp377_1 = B_2_5*w100;
7136                                            EM_S[INDEX4(k,m,7,3,numEq,numComp,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;
7137                                            EM_S[INDEX4(k,m,4,7,numEq,numComp,8)]+=tmp14_1 + tmp15_1 + tmp16_1 + tmp17_1 + tmp18_1 + tmp19_1 + tmp20_1 + tmp21_1 + tmp22_1 + tmp23_1;
7138                                            EM_S[INDEX4(k,m,1,3,numEq,numComp,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;
7139                                            EM_S[INDEX4(k,m,6,4,numEq,numComp,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;
7140                                            EM_S[INDEX4(k,m,3,0,numEq,numComp,8)]+=tmp52_1 + tmp53_1 + tmp54_1 + tmp55_1 + tmp56_1 + tmp57_1 + tmp58_1 + tmp59_1 + tmp60_1 + tmp61_1;
7141                                            EM_S[INDEX4(k,m,5,4,numEq,numComp,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;
7142                                            EM_S[INDEX4(k,m,0,7,numEq,numComp,8)]+=tmp76_1 + tmp77_1 + tmp78_1 + tmp79_1 + tmp80_1 + tmp81_1;
7143                                            EM_S[INDEX4(k,m,5,6,numEq,numComp,8)]+=tmp17_1 + tmp18_1 + tmp19_1 + tmp21_1 + tmp22_1 + tmp23_1 + tmp82_1 + tmp83_1 + tmp84_1 + tmp85_1;
7144                                            EM_S[INDEX4(k,m,2,6,numEq,numComp,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;
7145                                            EM_S[INDEX4(k,m,1,6,numEq,numComp,8)]+=tmp100_1 + tmp101_1 + tmp78_1 + tmp79_1 + tmp80_1 + tmp81_1;
7146                                            EM_S[INDEX4(k,m,5,1,numEq,numComp,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;
7147                                            EM_S[INDEX4(k,m,3,7,numEq,numComp,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;
7148                                            EM_S[INDEX4(k,m,2,5,numEq,numComp,8)]+=tmp122_1 + tmp123_1 + tmp76_1 + tmp77_1 + tmp80_1 + tmp81_1;
7149                                            EM_S[INDEX4(k,m,0,3,numEq,numComp,8)]+=tmp124_1 + tmp125_1 + tmp126_1 + tmp127_1 + tmp128_1 + tmp129_1 + tmp130_1 + tmp131_1 + tmp55_1 + tmp58_1;
7150                                            EM_S[INDEX4(k,m,7,2,numEq,numComp,8)]+=tmp132_1 + tmp133_1 + tmp134_1 + tmp135_1 + tmp136_1 + tmp137_1 + tmp138_1 + tmp139_1 + tmp140_1 + tmp141_1;
7151                                            EM_S[INDEX4(k,m,4,0,numEq,numComp,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;
7152                                            EM_S[INDEX4(k,m,1,2,numEq,numComp,8)]+=tmp128_1 + tmp129_1 + tmp130_1 + tmp131_1 + tmp52_1 + tmp53_1 + tmp55_1 + tmp56_1 + tmp58_1 + tmp60_1;
7153                                            EM_S[INDEX4(k,m,6,7,numEq,numComp,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;
7154                                            EM_S[INDEX4(k,m,3,3,numEq,numComp,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;
7155                                            EM_S[INDEX4(k,m,2,0,numEq,numComp,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;
7156                                            EM_S[INDEX4(k,m,7,6,numEq,numComp,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;
7157                                            EM_S[INDEX4(k,m,4,4,numEq,numComp,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;
7158                                            EM_S[INDEX4(k,m,6,3,numEq,numComp,8)]+=tmp134_1 + tmp135_1 + tmp136_1 + tmp138_1 + tmp140_1 + tmp141_1 + tmp224_1 + tmp225_1 + tmp226_1 + tmp227_1;
7159                                            EM_S[INDEX4(k,m,1,5,numEq,numComp,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;
7160                                            EM_S[INDEX4(k,m,3,6,numEq,numComp,8)]+=tmp132_1 + tmp133_1 + tmp137_1 + tmp138_1 + tmp139_1 + tmp140_1 + tmp232_1 + tmp233_1 + tmp234_1 + tmp235_1;
7161                                            EM_S[INDEX4(k,m,2,2,numEq,numComp,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;
7162                                            EM_S[INDEX4(k,m,7,7,numEq,numComp,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;
7163                                            EM_S[INDEX4(k,m,5,7,numEq,numComp,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;
7164                                            EM_S[INDEX4(k,m,5,3,numEq,numComp,8)]+=tmp280_1 + tmp281_1 + tmp282_1 + tmp283_1 + tmp284_1 + tmp285_1 + tmp286_1 + tmp287_1 + tmp288_1 + tmp289_1;
7165                                            EM_S[INDEX4(k,m,4,1,numEq,numComp,8)]+=tmp290_1 + tmp291_1 + tmp292_1 + tmp293_1 + tmp294_1 + tmp295_1 + tmp296_1 + tmp297_1 + tmp298_1 + tmp299_1;
7166                                            EM_S[INDEX4(k,m,1,1,numEq,numComp,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;
7167                                            EM_S[INDEX4(k,m,2,7,numEq,numComp,8)]+=tmp138_1 + tmp140_1 + tmp224_1 + tmp225_1 + tmp226_1 + tmp227_1 + tmp232_1 + tmp233_1 + tmp234_1 + tmp235_1;
7168                                            EM_S[INDEX4(k,m,3,2,numEq,numComp,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;
7169                                            EM_S[INDEX4(k,m,0,0,numEq,numComp,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;
7170                                            EM_S[INDEX4(k,m,6,6,numEq,numComp,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;
7171                                            EM_S[INDEX4(k,m,5,0,numEq,numComp,8)]+=tmp292_1 + tmp293_1 + tmp294_1 + tmp295_1 + tmp296_1 + tmp298_1 + tmp354_1 + tmp355_1 + tmp356_1 + tmp357_1;
7172                                            EM_S[INDEX4(k,m,7,1,numEq,numComp,8)]+=tmp280_1 + tmp281_1 + tmp282_1 + tmp283_1 + tmp286_1 + tmp289_1 + tmp358_1 + tmp359_1 + tmp360_1 + tmp361_1;
7173                                            EM_S[INDEX4(k,m,4,5,numEq,numComp,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;
7174                                            EM_S[INDEX4(k,m,0,4,numEq,numComp,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;
7175                                            EM_S[INDEX4(k,m,5,5,numEq,numComp,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;
7176                                            EM_S[INDEX4(k,m,1,4,numEq,numComp,8)]+=tmp294_1 + tmp295_1 + tmp354_1 + tmp355_1 + tmp356_1 + tmp357_1 + tmp384_1 + tmp385_1 + tmp386_1 + tmp387_1;
7177                                            EM_S[INDEX4(k,m,6,0,numEq,numComp,8)]+=tmp388_1 + tmp389_1 + tmp390_1 + tmp391_1 + tmp392_1 + tmp393_1 + tmp394_1 + tmp395_1 + tmp396_1 + tmp397_1;
7178                                            EM_S[INDEX4(k,m,7,5,numEq,numComp,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;
7179                                            EM_S[INDEX4(k,m,2,3,numEq,numComp,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;
7180                                            EM_S[INDEX4(k,m,2,1,numEq,numComp,8)]+=tmp124_1 + tmp125_1 + tmp126_1 + tmp127_1 + tmp54_1 + tmp55_1 + tmp57_1 + tmp58_1 + tmp59_1 + tmp61_1;
7181                                            EM_S[INDEX4(k,m,4,2,numEq,numComp,8)]+=tmp388_1 + tmp389_1 + tmp390_1 + tmp391_1 + tmp393_1 + tmp397_1 + tmp406_1 + tmp407_1 + tmp408_1 + tmp409_1;
7182                                            EM_S[INDEX4(k,m,1,0,numEq,numComp,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;
7183                                            EM_S[INDEX4(k,m,6,5,numEq,numComp,8)]+=tmp14_1 + tmp15_1 + tmp16_1 + tmp19_1 + tmp20_1 + tmp23_1 + tmp422_1 + tmp423_1 + tmp424_1 + tmp425_1;
7184                                            EM_S[INDEX4(k,m,3,5,numEq,numComp,8)]+=tmp280_1 + tmp281_1 + tmp358_1 + tmp359_1 + tmp360_1 + tmp361_1 + tmp426_1 + tmp427_1 + tmp428_1 + tmp429_1;
7185                                            EM_S[INDEX4(k,m,0,1,numEq,numComp,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;
7186                                            EM_S[INDEX4(k,m,7,0,numEq,numComp,8)]+=tmp100_1 + tmp101_1 + tmp122_1 + tmp123_1 + tmp434_1 + tmp435_1;
7187                                            EM_S[INDEX4(k,m,4,6,numEq,numComp,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;
7188                                            EM_S[INDEX4(k,m,5,2,numEq,numComp,8)]+=tmp100_1 + tmp101_1 + tmp434_1 + tmp435_1 + tmp78_1 + tmp79_1;
7189                                            EM_S[INDEX4(k,m,6,1,numEq,numComp,8)]+=tmp122_1 + tmp123_1 + tmp434_1 + tmp435_1 + tmp76_1 + tmp77_1;
7190                                            EM_S[INDEX4(k,m,3,1,numEq,numComp,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;
7191                                            EM_S[INDEX4(k,m,0,2,numEq,numComp,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;
7192                                            EM_S[INDEX4(k,m,7,4,numEq,numComp,8)]+=tmp19_1 + tmp23_1 + tmp422_1 + tmp423_1 + tmp424_1 + tmp425_1 + tmp82_1 + tmp83_1 + tmp84_1 + tmp85_1;
7193                                            EM_S[INDEX4(k,m,0,6,numEq,numComp,8)]+=tmp388_1 + tmp389_1 + tmp406_1 + tmp407_1 + tmp408_1 + tmp409_1 + tmp448_1 + tmp449_1 + tmp450_1 + tmp451_1;
7194                                            EM_S[INDEX4(k,m,6,2,numEq,numComp,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;
7195                                            EM_S[INDEX4(k,m,4,3,numEq,numComp,8)]+=tmp434_1 + tmp435_1 + tmp76_1 + tmp77_1 + tmp78_1 + tmp79_1;
7196                                            EM_S[INDEX4(k,m,1,7,numEq,numComp,8)]+=tmp280_1 + tmp281_1 + tmp284_1 + tmp285_1 + tmp287_1 + tmp288_1 + tmp426_1 + tmp427_1 + tmp428_1 + tmp429_1;
7197                                            EM_S[INDEX4(k,m,0,5,numEq,numComp,8)]+=tmp290_1 + tmp291_1 + tmp294_1 + tmp295_1 + tmp297_1 + tmp299_1 + tmp384_1 + tmp385_1 + tmp386_1 + tmp387_1;
7198                                            EM_S[INDEX4(k,m,3,4,numEq,numComp,8)]+=tmp100_1 + tmp101_1 + tmp122_1 + tmp123_1 + tmp80_1 + tmp81_1;
7199                                            EM_S[INDEX4(k,m,2,4,numEq,numComp,8)]+=tmp388_1 + tmp389_1 + tmp392_1 + tmp394_1 + tmp395_1 + tmp396_1 + tmp448_1 + tmp449_1 + tmp450_1 + tmp451_1;
7200                                        }
7201                                    }
7202                                } else { /* constant data */
7203                                    for (index_t k=0; k<numEq; k++) {
7204                                        for (index_t m=0; m<numComp; m++) {
7205                                            const register double B_0 = B_p[INDEX3(k,0,m, numEq, 3)];
7206                                            const register double B_1 = B_p[INDEX3(k,1,m, numEq, 3)];
7207                                            const register double B_2 = B_p[INDEX3(k,2,m, numEq, 3)];
7208                                            const register double tmp7_1 = B_2*w133;
7209                                            const register double tmp17_1 = B_0*w143;
7210                                            const register double tmp1_1 = B_1*w127;
7211                                            const register double tmp8_1 = B_2*w135;
7212                                            const register double tmp15_1 = B_0*w141;
7213                                            const register double tmp3_1 = B_0*w129;
7214                                            const register double tmp13_1 = B_1*w139;
7215                                            const register double tmp2_1 = B_0*w126;
7216                                            const register double tmp12_1 = B_0*w138;
7217                                            const register double tmp5_1 = B_2*w131;
7218                                            const register double tmp10_1 = B_2*w136;
7219                                            const register double tmp4_1 = B_1*w130;
7220                                            const register double tmp6_1 = B_1*w132;
7221                                            const register double tmp9_1 = B_1*w134;
7222                                            const register double tmp14_1 = B_2*w140;
7223                                            const register double tmp0_1 = B_2*w128;
7224                                            const register double tmp16_1 = B_1*w142;
7225                                            const register double tmp11_1 = B_0*w137;
7226                                            EM_S[INDEX4(k,m,7,3,numEq,numComp,8)]+=tmp0_1 + tmp1_1 + tmp2_1;
7227                                            EM_S[INDEX4(k,m,4,7,numEq,numComp,8)]+=tmp3_1 + tmp4_1 + tmp5_1;
7228                                            EM_S[INDEX4(k,m,1,3,numEq,numComp,8)]+=tmp2_1 + tmp6_1 + tmp7_1;
7229                                            EM_S[INDEX4(k,m,6,4,numEq,numComp,8)]+=tmp3_1 + tmp8_1 + tmp9_1;
7230                                            EM_S[INDEX4(k,m,3,0,numEq,numComp,8)]+=tmp10_1 + tmp1_1 + tmp2_1;
7231                                            EM_S[INDEX4(k,m,5,4,numEq,numComp,8)]+=tmp11_1 + tmp4_1 + tmp8_1;
7232                                            EM_S[INDEX4(k,m,0,7,numEq,numComp,8)]+=tmp10_1 + tmp12_1 + tmp13_1;
7233                                            EM_S[INDEX4(k,m,5,6,numEq,numComp,8)]+=tmp2_1 + tmp4_1 + tmp5_1;
7234                                            EM_S[INDEX4(k,m,2,6,numEq,numComp,8)]+=tmp14_1 + tmp1_1 + tmp3_1;
7235                                            EM_S[INDEX4(k,m,1,6,numEq,numComp,8)]+=tmp10_1 + tmp13_1 + tmp15_1;
7236                                            EM_S[INDEX4(k,m,5,1,numEq,numComp,8)]+=tmp0_1 + tmp2_1 + tmp4_1;
7237                                            EM_S[INDEX4(k,m,3,7,numEq,numComp,8)]+=tmp14_1 + tmp1_1 + tmp2_1;
7238                                            EM_S[INDEX4(k,m,2,5,numEq,numComp,8)]+=tmp10_1 + tmp12_1 + tmp16_1;
7239                                            EM_S[INDEX4(k,m,0,3,numEq,numComp,8)]+=tmp10_1 + tmp3_1 + tmp4_1;
7240                                            EM_S[INDEX4(k,m,7,2,numEq,numComp,8)]+=tmp16_1 + tmp2_1 + tmp8_1;
7241                                            EM_S[INDEX4(k,m,4,0,numEq,numComp,8)]+=tmp0_1 + tmp3_1 + tmp4_1;
7242                                            EM_S[INDEX4(k,m,1,2,numEq,numComp,8)]+=tmp10_1 + tmp2_1 + tmp4_1;
7243                                            EM_S[INDEX4(k,m,6,7,numEq,numComp,8)]+=tmp17_1 + tmp1_1 + tmp8_1;
7244                                            EM_S[INDEX4(k,m,3,3,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp9_1;
7245                                            EM_S[INDEX4(k,m,2,0,numEq,numComp,8)]+=tmp3_1 + tmp7_1 + tmp9_1;
7246                                            EM_S[INDEX4(k,m,7,6,numEq,numComp,8)]+=tmp11_1 + tmp1_1 + tmp8_1;
7247                                            EM_S[INDEX4(k,m,4,4,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp6_1;
7248                                            EM_S[INDEX4(k,m,6,3,numEq,numComp,8)]+=tmp16_1 + tmp3_1 + tmp8_1;
7249                                            EM_S[INDEX4(k,m,1,5,numEq,numComp,8)]+=tmp14_1 + tmp2_1 + tmp4_1;
7250                                            EM_S[INDEX4(k,m,3,6,numEq,numComp,8)]+=tmp16_1 + tmp2_1 + tmp7_1;
7251                                            EM_S[INDEX4(k,m,2,2,numEq,numComp,8)]+=tmp14_1 + tmp17_1 + tmp9_1;
7252                                            EM_S[INDEX4(k,m,7,7,numEq,numComp,8)]+=tmp0_1 + tmp11_1 + tmp9_1;
7253                                            EM_S[INDEX4(k,m,5,7,numEq,numComp,8)]+=tmp2_1 + tmp6_1 + tmp8_1;
7254                                            EM_S[INDEX4(k,m,5,3,numEq,numComp,8)]+=tmp15_1 + tmp4_1 + tmp8_1;
7255                                            EM_S[INDEX4(k,m,4,1,numEq,numComp,8)]+=tmp13_1 + tmp3_1 + tmp8_1;
7256                                            EM_S[INDEX4(k,m,1,1,numEq,numComp,8)]+=tmp11_1 + tmp14_1 + tmp6_1;
7257                                            EM_S[INDEX4(k,m,2,7,numEq,numComp,8)]+=tmp16_1 + tmp3_1 + tmp7_1;
7258                                            EM_S[INDEX4(k,m,3,2,numEq,numComp,8)]+=tmp11_1 + tmp1_1 + tmp7_1;
7259                                            EM_S[INDEX4(k,m,0,0,numEq,numComp,8)]+=tmp14_1 + tmp17_1 + tmp6_1;
7260                                            EM_S[INDEX4(k,m,6,6,numEq,numComp,8)]+=tmp0_1 + tmp17_1 + tmp9_1;
7261                                            EM_S[INDEX4(k,m,5,0,numEq,numComp,8)]+=tmp13_1 + tmp2_1 + tmp8_1;
7262                                            EM_S[INDEX4(k,m,7,1,numEq,numComp,8)]+=tmp15_1 + tmp1_1 + tmp8_1;
7263                                            EM_S[INDEX4(k,m,4,5,numEq,numComp,8)]+=tmp17_1 + tmp4_1 + tmp8_1;
7264                                            EM_S[INDEX4(k,m,0,4,numEq,numComp,8)]+=tmp14_1 + tmp3_1 + tmp4_1;
7265                                            EM_S[INDEX4(k,m,5,5,numEq,numComp,8)]+=tmp0_1 + tmp11_1 + tmp6_1;
7266                                            EM_S[INDEX4(k,m,1,4,numEq,numComp,8)]+=tmp13_1 + tmp2_1 + tmp7_1;
7267                                            EM_S[INDEX4(k,m,6,0,numEq,numComp,8)]+=tmp12_1 + tmp1_1 + tmp8_1;
7268                                            EM_S[INDEX4(k,m,7,5,numEq,numComp,8)]+=tmp2_1 + tmp8_1 + tmp9_1;
7269                                            EM_S[INDEX4(k,m,2,3,numEq,numComp,8)]+=tmp17_1 + tmp1_1 + tmp7_1;
7270                                            EM_S[INDEX4(k,m,2,1,numEq,numComp,8)]+=tmp10_1 + tmp1_1 + tmp3_1;
7271                                            EM_S[INDEX4(k,m,4,2,numEq,numComp,8)]+=tmp12_1 + tmp4_1 + tmp8_1;
7272                                            EM_S[INDEX4(k,m,1,0,numEq,numComp,8)]+=tmp11_1 + tmp4_1 + tmp7_1;
7273                                            EM_S[INDEX4(k,m,6,5,numEq,numComp,8)]+=tmp1_1 + tmp3_1 + tmp5_1;
7274                                            EM_S[INDEX4(k,m,3,5,numEq,numComp,8)]+=tmp15_1 + tmp1_1 + tmp7_1;
7275                                            EM_S[INDEX4(k,m,0,1,numEq,numComp,8)]+=tmp17_1 + tmp4_1 + tmp7_1;
7276                                            EM_S[INDEX4(k,m,7,0,numEq,numComp,8)]+=tmp15_1 + tmp16_1 + tmp5_1;
7277                                            EM_S[INDEX4(k,m,4,6,numEq,numComp,8)]+=tmp3_1 + tmp6_1 + tmp8_1;
7278                                            EM_S[INDEX4(k,m,5,2,numEq,numComp,8)]+=tmp13_1 + tmp15_1 + tmp5_1;
7279                                            EM_S[INDEX4(k,m,6,1,numEq,numComp,8)]+=tmp12_1 + tmp16_1 + tmp5_1;
7280                                            EM_S[INDEX4(k,m,3,1,numEq,numComp,8)]+=tmp2_1 + tmp7_1 + tmp9_1;
7281                                            EM_S[INDEX4(k,m,0,2,numEq,numComp,8)]+=tmp3_1 + tmp6_1 + tmp7_1;
7282                                            EM_S[INDEX4(k,m,7,4,numEq,numComp,8)]+=tmp1_1 + tmp2_1 + tmp5_1;
7283                                            EM_S[INDEX4(k,m,0,6,numEq,numComp,8)]+=tmp12_1 + tmp4_1 + tmp7_1;
7284                                            EM_S[INDEX4(k,m,6,2,numEq,numComp,8)]+=tmp0_1 + tmp1_1 + tmp3_1;
7285                                            EM_S[INDEX4(k,m,4,3,numEq,numComp,8)]+=tmp12_1 + tmp13_1 + tmp5_1;
7286                                            EM_S[INDEX4(k,m,1,7,numEq,numComp,8)]+=tmp15_1 + tmp4_1 + tmp7_1;
7287                                            EM_S[INDEX4(k,m,0,5,numEq,numComp,8)]+=tmp13_1 + tmp3_1 + tmp7_1;
7288                                            EM_S[INDEX4(k,m,3,4,numEq,numComp,8)]+=tmp10_1 + tmp15_1 + tmp16_1;
7289                                            EM_S[INDEX4(k,m,2,4,numEq,numComp,8)]+=tmp12_1 + tmp1_1 + tmp7_1;
7290                                        }
7291                                    }
7292                                }
7293                            }
7294                            ///////////////
7295                            // process C //
7296                            ///////////////
7297                            if (!C.isEmpty()) {
7298                                add_EM_S=true;
7299                                const double* C_p=const_cast<escript::Data*>(&C)->getSampleDataRO(e);
7300                                if (C.actsExpanded()) {
7301                                    for (index_t k=0; k<numEq; k++) {
7302                                        for (index_t m=0; m<numComp; m++) {
7303                                            const register double C_0_0 = C_p[INDEX4(k,m,0, 0, numEq,numComp,3)];
7304                                            const register double C_1_0 = C_p[INDEX4(k,m,1, 0, numEq,numComp,3)];
7305                                            const register double C_2_0 = C_p[INDEX4(k,m,2, 0, numEq,numComp,3)];
7306                                            const register double C_0_1 = C_p[INDEX4(k,m,0, 1, numEq,numComp,3)];
7307                                            const register double C_1_1 = C_p[INDEX4(k,m,1, 1, numEq,numComp,3)];
7308                                            const register double C_2_1 = C_p[INDEX4(k,m,2, 1, numEq,numComp,3)];
7309                                            const register double C_0_2 = C_p[INDEX4(k,m,0, 2, numEq,numComp,3)];
7310                                            const register double C_1_2 = C_p[INDEX4(k,m,1, 2, numEq,numComp,3)];
7311                                            const register double C_2_2 = C_p[INDEX4(k,m,2, 2, numEq,numComp,3)];
7312                                            const register double C_0_3 = C_p[INDEX4(k,m,0, 3, numEq,numComp,3)];
7313                                            const register double C_1_3 = C_p[INDEX4(k,m,1, 3, numEq,numComp,3)];
7314                                            const register double C_2_3 = C_p[INDEX4(k,m,2, 3, numEq,numComp,3)];
7315                                            const register double C_0_4 = C_p[INDEX4(k,m,0, 4, numEq,numComp,3)];
7316                                            const register double C_1_4 = C_p[INDEX4(k,m,1, 4, numEq,numComp,3)];
7317                                            const register double C_2_4 = C_p[INDEX4(k,m,2, 4, numEq,numComp,3)];
7318                                            const register double C_0_5 = C_p[INDEX4(k,m,0, 5, numEq,numComp,3)];
7319                                            const register double C_1_5 = C_p[INDEX4(k,m,1, 5, numEq,numComp,3)];
7320                                            const register double C_2_5 = C_p[INDEX4(k,m,2, 5, numEq,numComp,3)];
7321                                            const register double C_0_6 = C_p[INDEX4(k,m,0, 6, numEq,numComp,3)];
7322                                            const register double C_1_6 = C_p[INDEX4(k,m,1, 6, numEq,numComp,3)];
7323                                            const register double C_2_6 = C_p[INDEX4(k,m,2, 6, numEq,numComp,3)];
7324                                            const register double C_0_7 = C_p[INDEX4(k,m,0, 7, numEq,numComp,3)];
7325                                            const register double C_1_7 = C_p[INDEX4(k,m,1, 7, numEq,numComp,3)];
7326                                            const register double C_2_7 = C_p[INDEX4(k,m,2, 7, numEq,numComp,3)];
7327                                            const register double tmp11_0 = C_0_5 + C_0_7;
7328                                            const register double tmp39_0 = C_0_2 + C_0_4;
7329                                            const register double tmp40_0 = C_1_1 + C_1_4;
7330                                            const register double tmp14_0 = C_0_4 + C_0_6;
7331                                            const register double tmp34_0 = C_1_0 + C_1_1 + C_1_4 + C_1_5;
7332                                            const register double tmp23_0 = C_1_0 + C_1_5;
7333                                            const register double tmp12_0 = C_1_4 + C_1_5;
7334                                            const register double tmp35_0 = C_1_2 + C_1_3 + C_1_6 + C_1_7;
7335                                            const register double tmp16_0 = C_1_6 + C_1_7;
7336                                            const register double tmp19_0 = C_2_0 + C_2_1 + C_2_2 + C_2_3;
7337                                            const register double tmp2_0 = C_1_3 + C_1_7;
7338                                            const register double tmp31_0 = C_2_4 + C_2_5;
7339                                            const register double tmp22_0 = C_2_0 + C_2_2;
7340                                            const register double tmp37_0 = C_2_4 + C_2_7;
7341                                            const register double tmp6_0 = C_2_1 + C_2_2;
7342                                            const register double tmp29_0 = C_2_0 + C_2_1;
7343                                            const register double tmp27_0 = C_0_1 + C_0_7;
7344                                            const register double tmp1_0 = C_0_2 + C_0_6;
7345                                            const register double tmp4_0 = C_0_3 + C_0_7;
7346                                            const register double tmp38_0 = C_0_3 + C_0_5;
7347                                            const register double tmp26_0 = C_0_0 + C_0_6;
7348                                            const register double tmp33_0 = C_0_0 + C_0_2 + C_0_4 + C_0_6;
7349                                            const register double tmp10_0 = C_0_0 + C_0_2;
7350                                            const register double tmp25_0 = C_1_2 + C_1_7;
7351                                            const register double tmp7_0 = C_1_1 + C_1_5;
7352                                            const register double tmp18_0 = C_1_0 + C_1_1;
7353                                            const register double tmp8_0 = C_0_0 + C_0_4;
7354                                            const register double tmp13_0 = C_2_4 + C_2_5 + C_2_6 + C_2_7;
7355                                            const register double tmp28_0 = C_2_2 + C_2_3;
7356                                            const register double tmp17_0 = C_0_1 + C_0_3;
7357                                            const register double tmp36_0 = C_2_0 + C_2_3;
7358                                            const register double tmp9_0 = C_1_2 + C_1_6;
7359                                            const register double tmp20_0 = C_2_1 + C_2_3;
7360                                            const register double tmp41_0 = C_1_3 + C_1_6;
7361                                            const register double tmp5_0 = C_1_0 + C_1_4;
7362                                            const register double tmp3_0 = C_2_5 + C_2_6;
7363                                            const register double tmp15_0 = C_1_2 + C_1_3;
7364                                            const register double tmp24_0 = C_2_4 + C_2_6;
7365                                            const register double tmp32_0 = C_0_1 + C_0_3 + C_0_5 + C_0_7;
7366                                            const register double tmp0_0 = C_0_1 + C_0_5;
7367                                            const register double tmp21_0 = C_2_5 + C_2_7;
7368                                            const register double tmp30_0 = C_2_6 + C_2_7;
7369                                            const register double tmp28_1 = tmp21_0*w117;
7370                                            const register double tmp404_1 = C_0_4*w90;
7371                                            const register double tmp153_1 = tmp5_0*w111;
7372                                            const register double tmp208_1 = C_2_0*w103;
7373                                            const register double tmp201_1 = tmp38_0*w108;
7374                                            const register double tmp102_1 = tmp4_0*w93;
7375                                            const register double tmp277_1 = tmp41_0*w97;
7376                                            const register double tmp39_1 = tmp11_0*w108;
7377                                            const register double tmp443_1 = C_1_1*w111;
7378                                            const register double tmp61_1 = tmp15_0*w111;
7379                                            const register double tmp188_1 = tmp17_0*w108;
7380                                            const register double tmp139_1 = tmp35_0*w94;
7381                                            const register double tmp378_1 = C_0_4*w98;
7382                                            const register double tmp10_1 = tmp7_0*w94;
7383                                            const register double tmp31_1 = tmp22_0*w112;
7384                                            const register double tmp209_1 = C_1_4*w114;
7385                                            const register double tmp369_1 = C_2_0*w100;
7386                                            const register double tmp213_1 = C_2_4*w100;
7387                                            const register double tmp254_1 = tmp38_0*w96;
7388                                            const register double tmp350_1 = C_0_1*w124;
7389                                            const register double tmp183_1 = C_0_4*w120;
7390                                            const register double tmp182_1 = C_0_5*w90;
7391                                            const register double tmp83_1 = tmp14_0*w108;
7392                                            const register double tmp247_1 = tmp41_0*w94;
7393                                            const register double tmp79_1 = tmp34_0*w94;
7394                                            const register double tmp332_1 = C_1_7*w115;
7395                                            const register double tmp75_1 = tmp31_0*w103;
7396                                            const register double tmp303_1 = C_1_1*w114;
7397                                            const register double tmp304_1 = C_2_5*w113;
7398                                            const register double tmp420_1 = C_0_1*w125;
7399                                            const register double tmp271_1 = tmp20_0*w95;
7400                                            const register double tmp444_1 = C_1_2*w99;
7401                                            const register double tmp381_1 = C_1_0*w105;
7402                                            const register double tmp96_1 = tmp5_0*w94;
7403                                            const register double tmp385_1 = tmp30_0*w92;
7404                                            const register double tmp371_1 = C_2_4*w103;
7405                                            const register double tmp66_1 = tmp18_0*w107;
7406                                            const register double tmp300_1 = C_0_1*w121;
7407                                            const register double tmp379_1 = C_2_2*w101;
7408                                            const register double tmp283_1 = tmp21_0*w113;
7409                                            const register double tmp242_1 = C_1_7*w91;
7410                                            const register double tmp234_1 = tmp30_0*w95;
7411                                            const register double tmp51_1 = tmp24_0*w103;
7412                                            const register double tmp151_1 = tmp2_0*w105;
7413                                            const register double tmp46_1 = tmp22_0*w95;
7414                                            const register double tmp120_1 = C_2_4*w101;
7415                                            const register double tmp38_1 = tmp10_0*w106;
7416                                            const register double tmp413_1 = tmp15_0*w109;
7417                                            const register double tmp173_1 = C_2_7*w113;
7418                                            const register double tmp116_1 = C_2_7*w103;
7419                                            const register double tmp221_1 = C_0_4*w125;
7420                                            const register double tmp158_1 = tmp29_0*w92;
7421                                            const register double tmp30_1 = C_1_4*w91;
7422                                            const register double tmp154_1 = tmp38_0*w93;
7423                                            const register double tmp406_1 = tmp5_0*w99;
7424                                            const register double tmp204_1 = C_0_0*w124;
7425                                            const register double tmp452_1 = C_2_1*w122;
7426                                            const register double tmp117_1 = C_2_0*w92;
7427                                            const register double tmp323_1 = C_0_3*w125;
7428                                            const register double tmp225_1 = tmp4_0*w96;
7429                                            const register double tmp274_1 = tmp40_0*w94;
7430                                            const register double tmp71_1 = C_0_2*w124;
7431                                            const register double tmp43_1 = tmp23_0*w107;
7432                                            const register double tmp408_1 = tmp9_0*w94;
7433                                            const register double tmp427_1 = tmp24_0*w92;
7434                                            const register double tmp82_1 = tmp17_0*w106;
7435                                            const register double tmp168_1 = tmp26_0*w93;
7436                                            const register double tmp276_1 = tmp10_0*w90;
7437                                            const register double tmp336_1 = C_2_3*w116;
7438                                            const register double tmp53_1 = tmp11_0*w106;
7439                                            const register double tmp161_1 = C_0_7*w98;
7440                                            const register double tmp382_1 = C_0_3*w90;
7441                                            const register double tmp27_1 = tmp20_0*w113;
7442                                            const register double tmp73_1 = C_0_5*w125;
7443                                            const register double tmp389_1 = tmp33_0*w108;
7444                                            const register double tmp288_1 = tmp22_0*w116;
7445                                            const register double tmp258_1 = C_2_7*w100;
7446                                            const register double tmp295_1 = tmp29_0*w117;
7447                                            const register double tmp64_1 = C_0_4*w110;
7448                                            const register double tmp250_1 = tmp40_0*w97;
7449                                            const register double tmp338_1 = C_0_0*w125;
7450                                            const register double tmp359_1 = tmp7_0*w109;
7451                                            const register double tmp400_1 = C_1_5*w111;
7452                                            const register double tmp414_1 = tmp29_0*w113;
7453                                            const register double tmp214_1 = C_1_3*w115;
7454                                            const register double tmp237_1 = C_0_4*w104;
7455                                            const register double tmp7_1 = tmp4_0*w98;
7456                                            const register double tmp145_1 = C_2_3*w122;
7457                                            const register double tmp129_1 = tmp15_0*w94;
7458                                            const register double tmp45_1 = C_1_1*w115;
7459                                            const register double tmp124_1 = tmp14_0*w93;
7460                                            const register double tmp284_1 = tmp20_0*w117;
7461                                            const register double tmp148_1 = C_2_0*w113;
7462                                            const register double tmp334_1 = C_0_7*w124;
7463                                            const register double tmp257_1 = C_1_5*w99;
7464                                            const register double tmp186_1 = tmp11_0*w104;
7465                                            const register double tmp344_1 = C_2_6*w100;
7466                                            const register double tmp433_1 = C_0_7*w120;
7467                                            const register double tmp169_1 = C_0_3*w121;
7468                                            const register double tmp262_1 = C_1_7*w119;
7469                                            const register double tmp47_1 = tmp17_0*w104;
7470                                            const register double tmp278_1 = C_1_2*w118;
7471                                            const register double tmp217_1 = C_2_3*w101;
7472                                            const register double tmp33_1 = C_1_1*w119;
7473                                            const register double tmp157_1 = tmp30_0*w103;
7474                                            const register double tmp44_1 = tmp25_0*w109;
7475                                            const register double tmp454_1 = C_2_6*w123;
7476                                            const register double tmp205_1 = C_0_7*w125;
7477                                            const register double tmp373_1 = C_1_2*w115;
7478                                            const register double tmp361_1 = tmp2_0*w111;
7479                                            const register double tmp392_1 = tmp24_0*w113;
7480                                            const register double tmp308_1 = C_2_2*w116;
7481                                            const register double tmp215_1 = tmp3_0*w95;
7482                                            const register double tmp417_1 = C_0_6*w124;
7483                                            const register double tmp416_1 = tmp28_0*w112;
7484                                            const register double tmp210_1 = C_2_7*w92;
7485                                            const register double tmp335_1 = tmp41_0*w107;
7486                                            const register double tmp429_1 = tmp22_0*w102;
7487                                            const register double tmp315_1 = tmp28_0*w113;
7488                                            const register double tmp435_1 = tmp19_0*w112;
7489                                            const register double tmp407_1 = tmp2_0*w91;
7490                                            const register double tmp365_1 = C_0_5*w98;
7491                                            const register double tmp136_1 = tmp30_0*w113;
7492                                            const register double tmp218_1 = C_1_6*w111;
7493                                            const register double tmp171_1 = C_2_4*w122;
7494                                            const register double tmp253_1 = C_0_7*w121;
7495                                            const register double tmp123_1 = tmp35_0*w109;
7496                                            const register double tmp149_1 = C_2_4*w123;
7497                                            const register double tmp291_1 = tmp0_0*w96;
7498                                            const register double tmp267_1 = tmp14_0*w96;
7499                                            const register double tmp147_1 = tmp9_0*w109;
7500                                            const register double tmp296_1 = tmp8_0*w98;
7501                                            const register double tmp42_1 = tmp20_0*w92;
7502                                            const register double tmp430_1 = C_0_0*w121;
7503                                            const register double tmp399_1 = C_1_7*w114;
7504                                            const register double tmp355_1 = tmp4_0*w106;
7505                                            const register double tmp56_1 = tmp16_0*w107;
7506                                            const register double tmp289_1 = tmp5_0*w97;
7507                                            const register double tmp125_1 = tmp17_0*w96;
7508                                            const register double tmp397_1 = tmp9_0*w111;
7509                                            const register double tmp333_1 = C_2_0*w123;
7510                                            const register double tmp15_1 = tmp11_0*w96;
7511                                            const register double tmp200_1 = tmp39_0*w106;
7512                                            const register double tmp285_1 = tmp9_0*w91;
7513                                            const register double tmp374_1 = C_2_1*w103;
7514                                            const register double tmp354_1 = tmp1_0*w104;
7515                                            const register double tmp97_1 = tmp2_0*w97;
7516                                            const register double tmp104_1 = C_2_2*w122;
7517                                            const register double tmp339_1 = C_1_2*w111;
7518                                            const register double tmp437_1 = C_1_1*w91;
7519                                            const register double tmp259_1 = C_0_6*w98;
7520                                            const register double tmp110_1 = tmp0_0*w98;
7521                                            const register double tmp419_1 = tmp30_0*w116;
7522                                            const register double tmp236_1 = C_1_5*w118;
7523                                            const register double tmp41_1 = C_1_6*w114;
7524                                            const register double tmp320_1 = C_0_4*w124;
7525                                            const register double tmp74_1 = tmp12_0*w111;
7526                                            const register double tmp63_1 = tmp27_0*w108;
7527                                            const register double tmp106_1 = tmp2_0*w109;
7528                                            const register double tmp150_1 = tmp4_0*w104;
7529                                            const register double tmp195_1 = tmp20_0*w112;
7530                                            const register double tmp270_1 = C_1_7*w99;
7531                                            const register double tmp230_1 = C_2_1*w100;
7532                                            const register double tmp68_1 = tmp29_0*w95;
7533                                            const register double tmp287_1 = tmp2_0*w94;
7534                                            const register double tmp132_1 = tmp28_0*w117;
7535                                            const register double tmp423_1 = tmp12_0*w109;
7536                                            const register double tmp272_1 = tmp11_0*w98;
7537                                            const register double tmp134_1 = tmp1_0*w108;
7538                                            const register double tmp1_1 = tmp1_0*w96;
7539                                            const register double tmp301_1 = C_1_6*w115;
7540                                            const register double tmp241_1 = C_2_6*w113;
7541                                            const register double tmp29_1 = tmp17_0*w98;
7542                                            const register double tmp337_1 = C_1_5*w105;
7543                                            const register double tmp92_1 = tmp36_0*w95;
7544                                            const register double tmp40_1 = tmp14_0*w110;
7545                                            const register double tmp203_1 = C_0_1*w104;
7546                                            const register double tmp349_1 = C_2_1*w101;
7547                                            const register double tmp78_1 = tmp19_0*w95;
7548                                            const register double tmp266_1 = tmp17_0*w93;
7549                                            const register double tmp58_1 = tmp19_0*w117;
7550                                            const register double tmp310_1 = C_0_6*w120;
7551                                            const register double tmp127_1 = tmp10_0*w98;
7552                                            const register double tmp307_1 = C_0_7*w90;
7553                                            const register double tmp330_1 = tmp40_0*w109;
7554                                            const register double tmp386_1 = tmp31_0*w95;
7555                                            const register double tmp351_1 = C_1_1*w118;
7556                                            const register double tmp306_1 = C_0_0*w98;
7557                                            const register double tmp312_1 = tmp30_0*w117;
7558                                            const register double tmp108_1 = C_2_5*w123;
7559                                            const register double tmp140_1 = tmp29_0*w116;
7560                                            const register double tmp235_1 = tmp29_0*w102;
7561                                            const register double tmp293_1 = tmp34_0*w109;
7562                                            const register double tmp446_1 = C_1_0*w119;
7563                                            const register double tmp160_1 = tmp28_0*w95;
7564                                            const register double tmp393_1 = tmp22_0*w117;
7565                                            const register double tmp231_1 = C_2_6*w101;
7566                                            const register double tmp233_1 = tmp31_0*w92;
7567                                            const register double tmp8_1 = tmp5_0*w91;
7568                                            const register double tmp229_1 = C_2_2*w92;
7569                                            const register double tmp128_1 = tmp16_0*w91;
7570                                            const register double tmp187_1 = tmp14_0*w106;
7571                                            const register double tmp86_1 = tmp8_0*w106;
7572                                            const register double tmp49_1 = C_1_3*w105;
7573                                            const register double tmp447_1 = C_1_7*w118;
7574                                            const register double tmp442_1 = C_1_6*w105;
7575                                            const register double tmp77_1 = tmp33_0*w96;
7576                                            const register double tmp358_1 = tmp9_0*w107;
7577                                            const register double tmp292_1 = tmp35_0*w107;
7578                                            const register double tmp81_1 = tmp13_0*w102;
7579                                            const register double tmp206_1 = tmp27_0*w106;
7580                                            const register double tmp366_1 = C_0_2*w90;
7581                                            const register double tmp448_1 = tmp22_0*w103;
7582                                            const register double tmp156_1 = tmp39_0*w96;
7583                                            const register double tmp105_1 = tmp5_0*w107;
7584                                            const register double tmp179_1 = tmp25_0*w94;
7585                                            const register double tmp364_1 = tmp26_0*w96;
7586                                            const register double tmp449_1 = tmp21_0*w92;
7587                                            const register double tmp453_1 = C_2_2*w113;
7588                                            const register double tmp12_1 = tmp8_0*w90;
7589                                            const register double tmp59_1 = tmp13_0*w112;
7590                                            const register double tmp99_1 = C_2_6*w103;
7591                                            const register double tmp327_1 = C_0_1*w110;
7592                                            const register double tmp50_1 = C_1_4*w111;
7593                                            const register double tmp126_1 = tmp18_0*w99;
7594                                            const register double tmp445_1 = C_1_5*w91;
7595                                            const register double tmp152_1 = C_2_7*w116;
7596                                            const register double tmp76_1 = tmp32_0*w93;
7597                                            const register double tmp80_1 = tmp35_0*w97;
7598                                            const register double tmp146_1 = tmp7_0*w107;
7599                                            const register double tmp197_1 = tmp21_0*w116;
7600                                            const register double tmp111_1 = tmp36_0*w112;
7601                                            const register double tmp115_1 = tmp7_0*w111;
7602                                            const register double tmp396_1 = tmp7_0*w105;
7603                                            const register double tmp248_1 = C_1_2*w119;
7604                                            const register double tmp390_1 = tmp2_0*w107;
7605                                            const register double tmp119_1 = tmp6_0*w95;
7606                                            const register double tmp440_1 = C_1_4*w115;
7607                                            const register double tmp6_1 = tmp3_0*w117;
7608                                            const register double tmp346_1 = C_0_6*w125;
7609                                            const register double tmp144_1 = tmp8_0*w110;
7610                                            const register double tmp249_1 = C_2_1*w116;
7611                                            const register double tmp318_1 = tmp29_0*w112;
7612                                            const register double tmp265_1 = C_1_0*w118;
7613                                            const register double tmp387_1 = tmp28_0*w102;
7614                                            const register double tmp130_1 = tmp11_0*w90;
7615                                            const register double tmp348_1 = C_1_3*w91;
7616                                            const register double tmp252_1 = tmp39_0*w93;
7617                                            const register double tmp85_1 = tmp10_0*w104;
7618                                            const register double tmp21_1 = tmp17_0*w90;
7619                                            const register double tmp90_1 = tmp9_0*w99;
7620                                            const register double tmp232_1 = tmp28_0*w103;
7621                                            const register double tmp441_1 = C_1_3*w114;
7622                                            const register double tmp360_1 = tmp5_0*w105;
7623                                            const register double tmp4_1 = C_2_3*w113;
7624                                            const register double tmp313_1 = C_0_2*w110;
7625                                            const register double tmp135_1 = tmp4_0*w110;
7626                                            const register double tmp155_1 = C_0_6*w121;
7627                                            const register double tmp20_1 = tmp16_0*w94;
7628                                            const register double tmp432_1 = C_0_6*w90;
7629                                            const register double tmp227_1 = tmp0_0*w90;
7630                                            const register double tmp269_1 = tmp22_0*w92;
7631                                            const register double tmp261_1 = C_2_0*w101;
7632                                            const register double tmp19_1 = tmp15_0*w91;
7633                                            const register double tmp16_1 = tmp12_0*w99;
7634                                            const register double tmp395_1 = tmp20_0*w116;
7635                                            const register double tmp356_1 = tmp8_0*w108;
7636                                            const register double tmp222_1 = tmp6_0*w102;
7637                                            const register double tmp281_1 = tmp32_0*w96;
7638                                            const register double tmp164_1 = C_0_0*w90;
7639                                            const register double tmp375_1 = C_1_5*w114;
7640                                            const register double tmp238_1 = C_0_3*w110;
7641                                            const register double tmp340_1 = C_2_2*w103;
7642                                            const register double tmp290_1 = tmp1_0*w93;
7643                                            const register double tmp311_1 = C_1_3*w111;
7644                                            const register double tmp162_1 = tmp18_0*w91;
7645                                            const register double tmp107_1 = C_2_1*w113;
7646                                            const register double tmp401_1 = C_1_2*w105;
7647                                            const register double tmp87_1 = tmp4_0*w108;
7648                                            const register double tmp172_1 = C_1_1*w99;
7649                                            const register double tmp402_1 = C_0_2*w121;
7650                                            const register double tmp434_1 = tmp13_0*w117;
7651                                            const register double tmp394_1 = tmp21_0*w112;
7652                                            const register double tmp191_1 = tmp41_0*w109;
7653                                            const register double tmp325_1 = tmp38_0*w106;
7654                                            const register double tmp91_1 = C_2_2*w100;
7655                                            const register double tmp35_1 = tmp14_0*w90;
7656                                            const register double tmp279_1 = tmp24_0*w102;
7657                                            const register double tmp436_1 = C_1_6*w99;
7658                                            const register double tmp244_1 = tmp36_0*w117;
7659                                            const register double tmp264_1 = C_0_0*w120;
7660                                            const register double tmp415_1 = tmp31_0*w117;
7661                                            const register double tmp178_1 = tmp3_0*w112;
7662                                            const register double tmp239_1 = C_2_5*w122;
7663                                            const register double tmp219_1 = C_0_3*w124;
7664                                            const register double tmp370_1 = C_2_7*w101;
7665                                            const register double tmp109_1 = tmp37_0*w117;
7666                                            const register double tmp316_1 = C_0_5*w104;
7667                                            const register double tmp174_1 = C_2_3*w123;
7668                                            const register double tmp89_1 = C_2_1*w92;
7669                                            const register double tmp228_1 = C_2_5*w103;
7670                                            const register double tmp36_1 = tmp25_0*w97;
7671                                            const register double tmp412_1 = tmp12_0*w107;
7672                                            const register double tmp326_1 = tmp39_0*w108;
7673                                            const register double tmp256_1 = C_2_4*w92;
7674                                            const register double tmp23_1 = tmp19_0*w102;
7675                                            const register double tmp362_1 = tmp27_0*w93;
7676                                            const register double tmp286_1 = tmp24_0*w112;
7677                                            const register double tmp114_1 = C_2_6*w116;
7678                                            const register double tmp176_1 = C_0_2*w98;
7679                                            const register double tmp84_1 = tmp11_0*w110;
7680                                            const register double tmp328_1 = C_2_7*w122;
7681               &nb