toon-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Toon-members] tag build/vc2008/tag.sln build/vc2008/tag.vcpro...


From: Gerhard Reitmayr
Subject: [Toon-members] tag build/vc2008/tag.sln build/vc2008/tag.vcpro...
Date: Sun, 12 Jul 2009 12:28:32 +0000

CVSROOT:        /cvsroot/toon
Module name:    tag
Changes by:     Gerhard Reitmayr <gerhard>      09/07/12 12:28:32

Modified files:
        build/vc2008   : tag.sln tag.vcproj 
        src            : five_point.cpp five_point_buildmatrix.cpp 
                         polynomial.cc 
        tag            : five_point.h 

Log message:
        fixes for MS VC 2008 (VC9).
        Yes, it supports TR1, and but the headers are not in <tr1/...> ???

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/tag/build/vc2008/tag.sln?cvsroot=toon&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/tag/build/vc2008/tag.vcproj?cvsroot=toon&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/tag/src/five_point.cpp?cvsroot=toon&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/tag/src/five_point_buildmatrix.cpp?cvsroot=toon&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/tag/src/polynomial.cc?cvsroot=toon&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/tag/tag/five_point.h?cvsroot=toon&r1=1.9&r2=1.10

Patches:
Index: build/vc2008/tag.sln
===================================================================
RCS file: /cvsroot/toon/tag/build/vc2008/tag.sln,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- build/vc2008/tag.sln        1 Apr 2009 16:33:36 -0000       1.1
+++ build/vc2008/tag.sln        12 Jul 2009 12:28:31 -0000      1.2
@@ -1,6 +1,6 @@
 
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tag", "tag.vcproj", 
"{1637B117-A476-4861-8998-83C6C3B42086}"
 EndProject
 Global

Index: build/vc2008/tag.vcproj
===================================================================
RCS file: /cvsroot/toon/tag/build/vc2008/tag.vcproj,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- build/vc2008/tag.vcproj     1 Apr 2009 16:33:36 -0000       1.1
+++ build/vc2008/tag.vcproj     12 Jul 2009 12:28:31 -0000      1.2
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
        ProjectType="Visual C++"
-       Version="8.00"
+       Version="9.00"
        Name="tag"
        ProjectGUID="{1637B117-A476-4861-8998-83C6C3B42086}"
        RootNamespace="tag"
        Keyword="Win32Proj"
+       TargetFrameworkVersion="131072"
        >
        <Platforms>
                <Platform
@@ -47,7 +48,6 @@
                                RuntimeLibrary="3"
                                UsePrecompiledHeader="0"
                                WarningLevel="3"
-                               Detect64BitPortabilityProblems="true"
                                DebugInformationFormat="4"
                        />
                        <Tool
@@ -111,7 +111,6 @@
                                RuntimeLibrary="2"
                                UsePrecompiledHeader="0"
                                WarningLevel="3"
-                               Detect64BitPortabilityProblems="true"
                                DebugInformationFormat="3"
                        />
                        <Tool
@@ -157,7 +156,11 @@
                                >
                        </File>
                        <File
-                               RelativePath="..\..\src\fourpointpose.cpp"
+                               RelativePath="..\..\src\five_point.cpp"
+                               >
+                       </File>
+                       <File
+                               
RelativePath="..\..\src\five_point_buildmatrix.cpp"
                                >
                        </File>
                        <File
@@ -165,6 +168,14 @@
                                >
                        </File>
                        <File
+                               RelativePath="..\..\src\polynomial.cc"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\..\src\polynomial.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\src\quartic.cpp"
                                >
                        </File>
@@ -195,11 +206,11 @@
                                >
                        </File>
                        <File
-                               RelativePath="..\..\tag\fn.h"
+                               RelativePath="..\..\tag\five_point.h"
                                >
                        </File>
                        <File
-                               RelativePath="..\..\tag\fourpointpose.h"
+                               RelativePath="..\..\tag\fn.h"
                                >
                        </File>
                        <File

Index: src/five_point.cpp
===================================================================
RCS file: /cvsroot/toon/tag/src/five_point.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- src/five_point.cpp  15 May 2009 14:54:30 -0000      1.19
+++ src/five_point.cpp  12 Jul 2009 12:28:31 -0000      1.20
@@ -244,7 +244,7 @@
 
        // find largest vector product
        const Vector<3> norms = makeVector(norm_sq(cf[0]), norm_sq(cf[1]), 
norm_sq(cf[2]));
-       const int max_index = max_element(&norms[0], &norms[0]+3) - &norms[0];
+       const int max_index = (int)(max_element(&norms[0], &norms[0]+3) - 
&norms[0]);
 
        // calculate direction vector at proper length (18)
        const Vector<3> t = unit(cf[max_index]) * sqrt(0.5 * (E[0] * E[0] + 
E[1] * E[1] + E[2] * E[2]));

Index: src/five_point_buildmatrix.cpp
===================================================================
RCS file: /cvsroot/toon/tag/src/five_point_buildmatrix.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- src/five_point_buildmatrix.cpp      22 Apr 2009 20:47:47 -0000      1.2
+++ src/five_point_buildmatrix.cpp      12 Jul 2009 12:28:32 -0000      1.3
@@ -7,741 +7,1472 @@
 void build_matrix(const Vector<9>& X, const Vector<9>& Y, const Vector<9>& Z, 
const Vector<9>& W, Matrix<10,20>& R)
 {
      const double t1 = X[0]*X[0];
+
      const double t2 = X[1]*X[1];
+
      const double t3 = X[2]*X[2];
+
      const double t4 = t1+t2+t3;
+
      const double t9 = X[0]*X[3]+X[1]*X[4]+X[2]*X[5];
+
      const double t14 = X[0]*X[6]+X[1]*X[7]+X[2]*X[8];
+
      const double t16 = X[3]*X[3];
+
      const double t17 = X[4]*X[4];
+
      const double t18 = X[5]*X[5];
+
      const double t19 = X[6]*X[6];
+
      const double t20 = X[7]*X[7];
+
      const double t21 = X[8]*X[8];
+
      const double t22 = -t1-t2-t3-t16-t17-t18-t19-t20-t21;
+
      const double t26 = Y[0]*Y[0];
+
      const double t27 = Y[1]*Y[1];
+
      const double t28 = Y[2]*Y[2];
+
      const double t29 = t26+t27+t28;
+
      const double t34 = Y[0]*Y[3]+Y[1]*Y[4]+Y[2]*Y[5];
+
      const double t39 = Y[0]*Y[6]+Y[1]*Y[7]+Y[2]*Y[8];
+
      const double t41 = Y[3]*Y[3];
+
      const double t42 = Y[4]*Y[4];
+
      const double t43 = Y[5]*Y[5];
+
      const double t44 = Y[6]*Y[6];
+
      const double t45 = Y[7]*Y[7];
+
      const double t46 = Y[8]*Y[8];
+
      const double t47 = -t26-t27-t28-t41-t42-t43-t44-t45-t46;
+
      const double t52 = Y[0]*X[0];
+
      const double t53 = Y[1]*X[1];
+
      const double t54 = Y[2]*X[2];
+
      const double t55 = t52+t53+t54;
+
      const double t65 = 
X[0]*Y[3]+Y[0]*X[3]+X[1]*Y[4]+Y[1]*X[4]+X[2]*Y[5]+Y[2]*X[5];
+
      const double t75 = 
X[0]*Y[6]+Y[0]*X[6]+X[1]*Y[7]+Y[1]*X[7]+X[2]*Y[8]+Y[2]*X[8];
+
      const double t80 = Y[3]*X[3];
+
      const double t81 = Y[4]*X[4];
+
      const double t82 = Y[5]*X[5];
+
      const double t83 = Y[6]*X[6];
+
      const double t84 = Y[7]*X[7];
+
      const double t85 = Y[8]*X[8];
+
      const double t86 = -t52-t53-t54-t80-t81-t82-t83-t84-t85;
+
      const double t103 = Z[0]*X[0];
+
      const double t104 = Z[1]*X[1];
+
      const double t105 = Z[2]*X[2];
+
      const double t106 = t103+t104+t105;
+
      const double t116 = 
X[0]*Z[3]+Z[0]*X[3]+X[1]*Z[4]+Z[1]*X[4]+X[2]*Z[5]+Z[2]*X[5];
+
      const double t126 = 
X[0]*Z[6]+Z[0]*X[6]+X[1]*Z[7]+Z[1]*X[7]+X[2]*Z[8]+Z[2]*X[8];
+
      const double t131 = Z[3]*X[3];
+
      const double t132 = Z[4]*X[4];
+
      const double t133 = Z[5]*X[5];
+
      const double t134 = Z[6]*X[6];
+
      const double t135 = Z[7]*X[7];
+
      const double t136 = Z[8]*X[8];
+
      const double t137 = -t103-t104-t105-t131-t132-t133-t134-t135-t136;
+
      const double t141 = W[0]*X[0];
+
      const double t142 = W[1]*X[1];
+
      const double t143 = W[2]*X[2];
+
      const double t144 = t141+t142+t143;
+
      const double t154 = 
X[0]*W[3]+W[0]*X[3]+X[1]*W[4]+W[1]*X[4]+X[2]*W[5]+W[2]*X[5];
+
      const double t164 = 
X[0]*W[6]+W[0]*X[6]+X[1]*W[7]+W[1]*X[7]+X[2]*W[8]+W[2]*X[8];
+
      const double t169 = W[3]*X[3];
+
      const double t170 = W[4]*X[4];
+
      const double t171 = W[5]*X[5];
+
      const double t172 = W[6]*X[6];
+
      const double t173 = W[7]*X[7];
+
      const double t174 = W[8]*X[8];
+
      const double t175 = -t141-t142-t143-t169-t170-t171-t172-t173-t174;
+
      const double t179 = Z[0]*Y[0];
+
      const double t180 = Z[1]*Y[1];
+
      const double t181 = Z[2]*Y[2];
+
      const double t182 = t179+t180+t181;
+
      const double t192 = 
Y[0]*Z[3]+Z[0]*Y[3]+Y[1]*Z[4]+Z[1]*Y[4]+Y[2]*Z[5]+Z[2]*Y[5];
+
      const double t202 = 
Y[0]*Z[6]+Z[0]*Y[6]+Y[1]*Z[7]+Z[1]*Y[7]+Y[2]*Z[8]+Z[2]*Y[8];
+
      const double t207 = Z[3]*Y[3];
+
      const double t208 = Z[4]*Y[4];
+
      const double t209 = Z[5]*Y[5];
+
      const double t210 = Z[6]*Y[6];
+
      const double t211 = Z[7]*Y[7];
+
      const double t212 = Z[8]*Y[8];
+
      const double t213 = -t179-t180-t181-t207-t208-t209-t210-t211-t212;
+
      const double t217 = W[0]*Y[0];
+
      const double t218 = W[1]*Y[1];
+
      const double t219 = W[2]*Y[2];
+
      const double t220 = t217+t218+t219;
+
      const double t230 = 
Y[0]*W[3]+W[0]*Y[3]+Y[1]*W[4]+W[1]*Y[4]+Y[2]*W[5]+W[2]*Y[5];
+
      const double t240 = 
Y[0]*W[6]+W[0]*Y[6]+Y[1]*W[7]+W[1]*Y[7]+Y[2]*W[8]+W[2]*Y[8];
+
      const double t245 = W[3]*Y[3];
+
      const double t246 = W[4]*Y[4];
+
      const double t247 = W[5]*Y[5];
+
      const double t248 = W[6]*Y[6];
+
      const double t249 = W[7]*Y[7];
+
      const double t250 = W[8]*Y[8];
+
      const double t251 = -t217-t218-t219-t245-t246-t247-t248-t249-t250;
+
      const double t275 = 
4.0*t55*Z[0]+4.0*t106*Y[0]+4.0*t182*X[0]+2.0*t65*Z[3]+2.0*t116*Y
+
 [3]+2.0*t192*X[3]+2.0*t75*Z[6]+2.0*t126*Y[6]+2.0*t202*X[6]+2.0*t86*Z[0]+2.0*
+
 t137*Y[0]+2.0*t213*X[0];
+
      const double t297 = 
4.0*t55*W[0]+4.0*t144*Y[0]+4.0*t220*X[0]+2.0*t65*W[3]+2.0*t154*Y
+
 [3]+2.0*t230*X[3]+2.0*t75*W[6]+2.0*t164*Y[6]+2.0*t240*X[6]+2.0*t86*W[0]+2.0*
+
 t175*Y[0]+2.0*t251*X[0];
+
      const double t300 = Z[0]*Z[0];
+
      const double t301 = Z[1]*Z[1];
+
      const double t302 = Z[2]*Z[2];
+
      const double t303 = t300+t301+t302;
+
      const double t310 = Z[0]*Z[3]+Z[1]*Z[4]+Z[2]*Z[5];
+
      const double t317 = Z[0]*Z[6]+Z[1]*Z[7]+Z[2]*Z[8];
+
      const double t320 = Z[3]*Z[3];
+
      const double t321 = Z[4]*Z[4];
+
      const double t322 = Z[5]*Z[5];
+
      const double t323 = Z[6]*Z[6];
+
      const double t324 = Z[7]*Z[7];
+
      const double t325 = Z[8]*Z[8];
+
      const double t326 = -t300-t301-t302-t320-t321-t322-t323-t324-t325;
+
      const double t334 = W[0]*Z[0];
+
      const double t335 = W[1]*Z[1];
+
      const double t336 = W[2]*Z[2];
+
      const double t337 = t334+t335+t336;
+
      const double t350 = 
Z[0]*W[3]+W[0]*Z[3]+Z[1]*W[4]+W[1]*Z[4]+Z[2]*W[5]+W[2]*Z[5];
+
      const double t363 = 
Z[0]*W[6]+W[0]*Z[6]+Z[1]*W[7]+W[1]*Z[7]+Z[2]*W[8]+W[2]*Z[8];
+
      const double t368 = W[3]*Z[3];
+
      const double t369 = W[4]*Z[4];
+
      const double t370 = W[5]*Z[5];
+
      const double t371 = W[6]*Z[6];
+
      const double t372 = W[7]*Z[7];
+
      const double t373 = W[8]*Z[8];
+
      const double t374 = -t334-t335-t336-t368-t369-t370-t371-t372-t373;
+
      const double t376 = 
4.0*t106*W[0]+4.0*t144*Z[0]+4.0*t337*X[0]+2.0*t116*W[3]+2.0*t154*Z
+
 [3]+2.0*t350*X[3]+2.0*t126*W[6]+2.0*t164*Z[6]+2.0*t363*X[6]+2.0*t137*W[0]+2.0*
+
 t175*Z[0]+2.0*t374*X[0];
+
      const double t379 = W[0]*W[0];
+
      const double t380 = W[1]*W[1];
+
      const double t381 = W[2]*W[2];
+
      const double t382 = t379+t380+t381;
+
      const double t390 = W[0]*W[3]+W[1]*W[4]+W[2]*W[5];
+
      const double t398 = W[0]*W[6]+W[1]*W[7]+W[2]*W[8];
+
      const double t402 = W[3]*W[3];
+
      const double t403 = W[4]*W[4];
+
      const double t404 = W[5]*W[5];
+
      const double t405 = W[6]*W[6];
+
      const double t406 = W[7]*W[7];
+
      const double t407 = W[8]*W[8];
+
      const double t408 = -t379-t380-t381-t402-t403-t404-t405-t406-t407;
+
      const double t445 = 
4.0*t182*W[0]+4.0*t220*Z[0]+4.0*t337*Y[0]+2.0*t192*W[3]+2.0*t230*Z
+
 [3]+2.0*t350*Y[3]+2.0*t202*W[6]+2.0*t240*Z[6]+2.0*t363*Y[6]+2.0*t213*W[0]+2.0*
+
 t251*Z[0]+2.0*t374*Y[0];
+
      const double t614 = 
4.0*t55*Z[1]+4.0*t106*Y[1]+4.0*t182*X[1]+2.0*t65*Z[4]+2.0*t116*Y
+
 [4]+2.0*t192*X[4]+2.0*t75*Z[7]+2.0*t126*Y[7]+2.0*t202*X[7]+2.0*t86*Z[1]+2.0*
+
 t137*Y[1]+2.0*t213*X[1];
+
      const double t636 = 
4.0*t55*W[1]+4.0*t144*Y[1]+4.0*t220*X[1]+2.0*t65*W[4]+2.0*t154*Y
+
 [4]+2.0*t230*X[4]+2.0*t75*W[7]+2.0*t164*Y[7]+2.0*t240*X[7]+2.0*t86*W[1]+2.0*
+
 t175*Y[1]+2.0*t251*X[1];
+
      const double t671 = 
4.0*t106*W[1]+4.0*t144*Z[1]+4.0*t337*X[1]+2.0*t116*W[4]+2.0*t154*Z
+
 [4]+2.0*t350*X[4]+2.0*t126*W[7]+2.0*t164*Z[7]+2.0*t363*X[7]+2.0*t137*W[1]+2.0*
+
 t175*Z[1]+2.0*t374*X[1];
+
      const double t721 = 
4.0*t182*W[1]+4.0*t220*Z[1]+4.0*t337*Y[1]+2.0*t192*W[4]+2.0*t230*Z
+
 [4]+2.0*t350*Y[4]+2.0*t202*W[7]+2.0*t240*Z[7]+2.0*t363*Y[7]+2.0*t213*W[1]+2.0*
+
 t251*Z[1]+2.0*t374*Y[1];
+
      const double t890 = 
4.0*t55*Z[2]+4.0*t106*Y[2]+4.0*t182*X[2]+2.0*t65*Z[5]+2.0*t116*Y
+
 [5]+2.0*t192*X[5]+2.0*t75*Z[8]+2.0*t126*Y[8]+2.0*t202*X[8]+2.0*t86*Z[2]+2.0*
+
 t137*Y[2]+2.0*t213*X[2];
+
      const double t912 = 
4.0*t55*W[2]+4.0*t144*Y[2]+4.0*t220*X[2]+2.0*t65*W[5]+2.0*t154*Y
+
 [5]+2.0*t230*X[5]+2.0*t75*W[8]+2.0*t164*Y[8]+2.0*t240*X[8]+2.0*t86*W[2]+2.0*
+
 t175*Y[2]+2.0*t251*X[2];
+
      const double t947 = 
4.0*t106*W[2]+4.0*t144*Z[2]+4.0*t337*X[2]+2.0*t116*W[5]+2.0*t154*Z
+
 [5]+2.0*t350*X[5]+2.0*t126*W[8]+2.0*t164*Z[8]+2.0*t363*X[8]+2.0*t137*W[2]+2.0*
+
 t175*Z[2]+2.0*t374*X[2];
+
      const double t997 = 
4.0*t182*W[2]+4.0*t220*Z[2]+4.0*t337*Y[2]+2.0*t192*W[5]+2.0*t230*Z
+
 [5]+2.0*t350*Y[5]+2.0*t202*W[8]+2.0*t240*Z[8]+2.0*t363*Y[8]+2.0*t213*W[2]+2.0*
+
 t251*Z[2]+2.0*t374*Y[2];
+
      const double t1056 = t16+t17+t18;
+
      const double t1061 = X[3]*X[6]+X[4]*X[7]+X[5]*X[8];
+
      const double t1067 = t41+t42+t43;
+
      const double t1072 = Y[3]*Y[6]+Y[4]*Y[7]+Y[5]*Y[8];
+
      const double t1081 = t80+t81+t82;
+
      const double t1091 = 
X[3]*Y[6]+Y[3]*X[6]+X[4]*Y[7]+Y[4]*X[7]+X[5]*Y[8]+Y[5]*X[8];
+
      const double t1115 = t131+t132+t133;
+
      const double t1125 = 
X[3]*Z[6]+Z[3]*X[6]+X[4]*Z[7]+Z[4]*X[7]+X[5]*Z[8]+Z[5]*X[8];
+
      const double t1136 = t169+t170+t171;
+
      const double t1146 = 
X[3]*W[6]+W[3]*X[6]+X[4]*W[7]+W[4]*X[7]+X[5]*W[8]+W[5]*X[8];
+
      const double t1157 = t207+t208+t209;
+
      const double t1167 = 
Y[3]*Z[6]+Z[3]*Y[6]+Y[4]*Z[7]+Z[4]*Y[7]+Y[5]*Z[8]+Z[5]*Y[8];
+
      const double t1178 = t245+t246+t247;
+
      const double t1188 = 
Y[3]*W[6]+W[3]*Y[6]+Y[4]*W[7]+W[4]*Y[7]+Y[5]*W[8]+W[5]*Y[8];
+
      const double t1216 = 
2.0*t65*Z[0]+2.0*t116*Y[0]+2.0*t192*X[0]+4.0*t1081*Z[3]+4.0*t1115
+
 *Y[3]+4.0*t1157*X[3]+2.0*t1091*Z[6]+2.0*t1125*Y[6]+2.0*t1167*X[6]+2.0*t86*Z[3]+
+
 2.0*t137*Y[3]+2.0*t213*X[3];
+
      const double t1238 = 
2.0*t65*W[0]+2.0*t154*Y[0]+2.0*t230*X[0]+4.0*t1081*W[3]+4.0*t1136
+
 *Y[3]+4.0*t1178*X[3]+2.0*t1091*W[6]+2.0*t1146*Y[6]+2.0*t1188*X[6]+2.0*t86*W[3]+
+
 2.0*t175*Y[3]+2.0*t251*X[3];
+
      const double t1244 = t320+t321+t322;
+
      const double t1251 = Z[3]*Z[6]+Z[4]*Z[7]+Z[5]*Z[8];
+
      const double t1267 = t368+t369+t370;
+
      const double t1280 = 
Z[3]*W[6]+W[3]*Z[6]+Z[4]*W[7]+W[4]*Z[7]+Z[5]*W[8]+W[5]*Z[8];
+
      const double t1286 = 
2.0*t116*W[0]+2.0*t154*Z[0]+2.0*t350*X[0]+4.0*t1115*W[3]+4.0*
+
 t1136*Z[3]+4.0*t1267*X[3]+2.0*t1125*W[6]+2.0*t1146*Z[6]+2.0*t1280*X[6]+2.0*t137
+
 *W[3]+2.0*t175*Z[3]+2.0*t374*X[3];
+
      const double t1293 = t402+t403+t404;
+
      const double t1301 = W[3]*W[6]+W[4]*W[7]+W[5]*W[8];
+
      const double t1341 = 
2.0*t192*W[0]+2.0*t230*Z[0]+2.0*t350*Y[0]+4.0*t1157*W[3]+4.0*
+
 t1178*Z[3]+4.0*t1267*Y[3]+2.0*t1167*W[6]+2.0*t1188*Z[6]+2.0*t1280*Y[6]+2.0*t213
+
 *W[3]+2.0*t251*Z[3]+2.0*t374*Y[3];
+
      const double t1510 = 
2.0*t65*Z[1]+2.0*t116*Y[1]+2.0*t192*X[1]+4.0*t1081*Z[4]+4.0*t1115
+
 *Y[4]+4.0*t1157*X[4]+2.0*t1091*Z[7]+2.0*t1125*Y[7]+2.0*t1167*X[7]+2.0*t86*Z[4]+
+
 2.0*t137*Y[4]+2.0*t213*X[4];
+
      const double t1532 = 
2.0*t65*W[1]+2.0*t154*Y[1]+2.0*t230*X[1]+4.0*t1081*W[4]+4.0*t1136
+
 *Y[4]+4.0*t1178*X[4]+2.0*t1091*W[7]+2.0*t1146*Y[7]+2.0*t1188*X[7]+2.0*t86*W[4]+
+
 2.0*t175*Y[4]+2.0*t251*X[4];
+
      const double t1567 = 
2.0*t116*W[1]+2.0*t154*Z[1]+2.0*t350*X[1]+4.0*t1115*W[4]+4.0*
+
 t1136*Z[4]+4.0*t1267*X[4]+2.0*t1125*W[7]+2.0*t1146*Z[7]+2.0*t1280*X[7]+2.0*t137
+
 *W[4]+2.0*t175*Z[4]+2.0*t374*X[4];
+
      const double t1617 = 
2.0*t192*W[1]+2.0*t230*Z[1]+2.0*t350*Y[1]+4.0*t1157*W[4]+4.0*
+
 t1178*Z[4]+4.0*t1267*Y[4]+2.0*t1167*W[7]+2.0*t1188*Z[7]+2.0*t1280*Y[7]+2.0*t213
+
 *W[4]+2.0*t251*Z[4]+2.0*t374*Y[4];
+
      const double t1786 = 
2.0*t65*Z[2]+2.0*t116*Y[2]+2.0*t192*X[2]+4.0*t1081*Z[5]+4.0*t1115
+
 *Y[5]+4.0*t1157*X[5]+2.0*t1091*Z[8]+2.0*t1125*Y[8]+2.0*t1167*X[8]+2.0*t86*Z[5]+
+
 2.0*t137*Y[5]+2.0*t213*X[5];
+
      const double t1808 = 
2.0*t65*W[2]+2.0*t154*Y[2]+2.0*t230*X[2]+4.0*t1081*W[5]+4.0*t1136
+
 *Y[5]+4.0*t1178*X[5]+2.0*t1091*W[8]+2.0*t1146*Y[8]+2.0*t1188*X[8]+2.0*t86*W[5]+
+
 2.0*t175*Y[5]+2.0*t251*X[5];
+
      const double t1843 = 
2.0*t116*W[2]+2.0*t154*Z[2]+2.0*t350*X[2]+4.0*t1115*W[5]+4.0*
+
 t1136*Z[5]+4.0*t1267*X[5]+2.0*t1125*W[8]+2.0*t1146*Z[8]+2.0*t1280*X[8]+2.0*t137
+
 *W[5]+2.0*t175*Z[5]+2.0*t374*X[5];
+
      const double t1893 = 
2.0*t192*W[2]+2.0*t230*Z[2]+2.0*t350*Y[2]+4.0*t1157*W[5]+4.0*
+
 t1178*Z[5]+4.0*t1267*Y[5]+2.0*t1167*W[8]+2.0*t1188*Z[8]+2.0*t1280*Y[8]+2.0*t213
+
 *W[5]+2.0*t251*Z[5]+2.0*t374*Y[5];
+
      const double t1953 = t19+t20+t21;
+
      const double t1960 = t44+t45+t46;
+
      const double t1972 = t83+t84+t85;
+
      const double t1999 = t134+t135+t136;
+
      const double t2013 = t172+t173+t174;
+
      const double t2027 = t210+t211+t212;
+
      const double t2041 = t248+t249+t250;
+
      const double t2069 = 
2.0*t75*Z[0]+2.0*t126*Y[0]+2.0*t202*X[0]+2.0*t1091*Z[3]+2.0*t1125
+
 *Y[3]+2.0*t1167*X[3]+4.0*t1972*Z[6]+4.0*t1999*Y[6]+4.0*t2027*X[6]+2.0*t86*Z[6]+
+
 2.0*t137*Y[6]+2.0*t213*X[6];
+
      const double t2091 = 
2.0*t75*W[0]+2.0*t164*Y[0]+2.0*t240*X[0]+2.0*t1091*W[3]+2.0*t1146
+
 *Y[3]+2.0*t1188*X[3]+4.0*t1972*W[6]+4.0*t2013*Y[6]+4.0*t2041*X[6]+2.0*t86*W[6]+
+
 2.0*t175*Y[6]+2.0*t251*X[6];
+
      const double t2100 = t323+t324+t325;
+
      const double t2122 = t371+t372+t373;
+
      const double t2128 = 
2.0*t126*W[0]+2.0*t164*Z[0]+2.0*t363*X[0]+2.0*t1125*W[3]+2.0*
+
 t1146*Z[3]+2.0*t1280*X[3]+4.0*t1999*W[6]+4.0*t2013*Z[6]+4.0*t2122*X[6]+2.0*t137
+
 *W[6]+2.0*t175*Z[6]+2.0*t374*X[6];
+
      const double t2139 = t405+t406+t407;
+
      const double t2179 = 
2.0*t202*W[0]+2.0*t240*Z[0]+2.0*t363*Y[0]+2.0*t1167*W[3]+2.0*
+
 t1188*Z[3]+2.0*t1280*Y[3]+4.0*t2027*W[6]+4.0*t2041*Z[6]+4.0*t2122*Y[6]+2.0*t213
+
 *W[6]+2.0*t251*Z[6]+2.0*t374*Y[6];
+
      const double t2348 = 
2.0*t75*Z[1]+2.0*t126*Y[1]+2.0*t202*X[1]+2.0*t1091*Z[4]+2.0*t1125
+
 *Y[4]+2.0*t1167*X[4]+4.0*t1972*Z[7]+4.0*t1999*Y[7]+4.0*t2027*X[7]+2.0*t86*Z[7]+
+
 2.0*t137*Y[7]+2.0*t213*X[7];
+
      const double t2370 = 
2.0*t75*W[1]+2.0*t164*Y[1]+2.0*t240*X[1]+2.0*t1091*W[4]+2.0*t1146
+
 *Y[4]+2.0*t1188*X[4]+4.0*t1972*W[7]+4.0*t2013*Y[7]+4.0*t2041*X[7]+2.0*t86*W[7]+
+
 2.0*t175*Y[7]+2.0*t251*X[7];
+
      const double t2405 = 
2.0*t126*W[1]+2.0*t164*Z[1]+2.0*t363*X[1]+2.0*t1125*W[4]+2.0*
+
 t1146*Z[4]+2.0*t1280*X[4]+4.0*t1999*W[7]+4.0*t2013*Z[7]+4.0*t2122*X[7]+2.0*t137
+
 *W[7]+2.0*t175*Z[7]+2.0*t374*X[7];
+
      const double t2455 = 
2.0*t202*W[1]+2.0*t240*Z[1]+2.0*t363*Y[1]+2.0*t1167*W[4]+2.0*
+
 t1188*Z[4]+2.0*t1280*Y[4]+4.0*t2027*W[7]+4.0*t2041*Z[7]+4.0*t2122*Y[7]+2.0*t213
+
 *W[7]+2.0*t251*Z[7]+2.0*t374*Y[7];
+
      const double t2624 = 
2.0*t75*Z[2]+2.0*t126*Y[2]+2.0*t202*X[2]+2.0*t1091*Z[5]+2.0*t1125
+
 *Y[5]+2.0*t1167*X[5]+4.0*t1972*Z[8]+4.0*t1999*Y[8]+4.0*t2027*X[8]+2.0*t86*Z[8]+
+
 2.0*t137*Y[8]+2.0*t213*X[8];
+
      const double t2646 = 
2.0*t75*W[2]+2.0*t164*Y[2]+2.0*t240*X[2]+2.0*t1091*W[5]+2.0*t1146
+
 *Y[5]+2.0*t1188*X[5]+4.0*t1972*W[8]+4.0*t2013*Y[8]+4.0*t2041*X[8]+2.0*t86*W[8]+
+
 2.0*t175*Y[8]+2.0*t251*X[8];
+
      const double t2681 = 
2.0*t126*W[2]+2.0*t164*Z[2]+2.0*t363*X[2]+2.0*t1125*W[5]+2.0*
+
 t1146*Z[5]+2.0*t1280*X[5]+4.0*t1999*W[8]+4.0*t2013*Z[8]+4.0*t2122*X[8]+2.0*t137
+
 *W[8]+2.0*t175*Z[8]+2.0*t374*X[8];
+
      const double t2731 = 
2.0*t202*W[2]+2.0*t240*Z[2]+2.0*t363*Y[2]+2.0*t1167*W[5]+2.0*
+
 t1188*Z[5]+2.0*t1280*Y[5]+4.0*t2027*W[8]+4.0*t2041*Z[8]+4.0*t2122*Y[8]+2.0*t213
+
 *W[8]+2.0*t251*Z[8]+2.0*t374*Y[8];
+
      const double t2789 = X[6]*X[2];
+
      const double t2791 = X[1]*X[6];
+
      const double t2793 = X[3]*X[2];
+
      const double t2795 = X[3]*X[1];
+
      const double t2797 = X[0]*X[5];
+
      const double t2799 = X[0]*X[4];
+
      const double t2802 = Y[0]*Y[5];
+
      const double t2804 = Y[0]*Y[4];
+
      const double t2806 = Y[3]*Y[2];
+
      const double t2808 = Y[1]*Y[6];
+
      const double t2810 = Y[6]*Y[2];
+
      const double t2812 = Y[3]*Y[1];
+
      const double t2816 = X[0]*Y[4];
+
      const double t2818 = X[1]*Y[6];
+
      const double t2821 = Y[3]*X[1];
+
      const double t2823 = Y[3]*X[2];
+
      const double t2825 = Y[6]*X[2];
+
      const double t2827 = Y[0]*X[4];
+
      const double t2829 = Y[1]*X[6];
+
      const double t2831 = Y[0]*X[5];
+
      const double t2834 = X[6]*Y[2];
+
      const double t2838 = X[0]*Y[5];
+
      const double t2840 = X[3]*Y[1];
+
      const double t2843 = X[3]*Y[2];
+
      const double t2845 = 
-t2797*Y[7]+t2816*X[8]+t2818*X[5]+t2793*Y[7]-t2821*X[8]+t2823*X
+
 [7]-t2825*X[4]+t2827*X[8]+t2829*X[5]-t2831*X[7]+t2791*Y[5]-t2834*X[4]-t2789*Y
+
 [4]+t2799*Y[8]-t2838*X[7]-t2840*X[8]-t2795*Y[8]+t2843*X[7];
+
      const double t2864 = 
t2829*Y[5]-t2834*Y[4]+t2808*X[5]+t2818*Y[5]-t2810*X[4]-t2825*Y[4]
+
 +t2816*Y[8]-t2840*Y[8]+t2843*Y[7]-t2812*X[8]-t2821*Y[8]+t2806*X[7]+t2823*Y[7]-
+
 t2838*Y[7]+t2827*Y[8]-t2802*X[7]-t2831*Y[7]+t2804*X[8];
+
      const double t2865 = X[0]*Z[4];
+
      const double t2867 = X[6]*Z[2];
+
      const double t2869 = X[1]*Z[6];
+
      const double t2871 = Z[0]*X[5];
+
      const double t2873 = Z[0]*X[4];
+
      const double t2875 = Z[3]*X[1];
+
      const double t2877 = Z[3]*X[2];
+
      const double t2882 = X[3]*Z[1];
+
      const double t2884 = Z[1]*X[6];
+
      const double t2887 = Z[6]*X[2];
+
      const double t2889 = X[0]*Z[5];
+
      const double t2892 = X[3]*Z[2];
+
      const double t2895 = 
t2865*X[8]-t2867*X[4]+t2869*X[5]-t2871*X[7]+t2873*X[8]-t2875*X[8]
+
 +t2877*X[7]+t2791*Z[5]-t2789*Z[4]-t2797*Z[7]-t2882*X[8]+t2884*X[5]+t2799*Z[8]-
+
 t2887*X[4]-t2889*X[7]-t2795*Z[8]+t2892*X[7]+t2793*Z[7];
+
      const double t2896 = X[3]*W[1];
+
      const double t2898 = X[6]*W[2];
+
      const double t2901 = W[1]*X[6];
+
      const double t2904 = W[3]*X[2];
+
      const double t2906 = W[3]*X[1];
+
      const double t2909 = X[1]*W[6];
+
      const double t2911 = W[6]*X[2];
+
      const double t2913 = W[0]*X[5];
+
      const double t2916 = X[3]*W[2];
+
      const double t2919 = X[0]*W[5];
+
      const double t2921 = X[0]*W[4];
+
      const double t2924 = W[0]*X[4];
+
      const double t2926 = 
-t2896*X[8]-t2898*X[4]-t2789*W[4]+t2901*X[5]+t2791*W[5]+t2904*X
+
 [7]-t2906*X[8]-t2795*W[8]+t2909*X[5]-t2911*X[4]-t2913*X[7]+t2793*W[7]+t2916*X
+
 [7]-t2797*W[7]-t2919*X[7]+t2921*X[8]+t2799*W[8]+t2924*X[8];
+
      const double t2927 = Z[0]*Y[4];
+
      const double t2929 = Z[6]*Y[2];
+
      const double t2931 = Y[0]*Z[4];
+
      const double t2934 = Y[0]*Z[5];
+
      const double t2937 = Z[0]*Y[5];
+
      const double t2940 = Y[3]*Z[2];
+
      const double t2942 = Y[3]*Z[1];
+
      const double t2945 = Y[1]*Z[6];
+
      const double t2947 = Z[1]*Y[6];
+
      const double t2949 = Y[6]*Z[2];
+
      const double t2953 = Z[3]*Y[1];
+
      const double t2955 = Z[3]*Y[2];
+
      const double t2957 = 
t2927*Y[8]-t2929*Y[4]+t2931*Y[8]+t2804*Z[8]-t2934*Y[7]-t2802*Z[7]
+
 -t2937*Y[7]-t2812*Z[8]+t2940*Y[7]-t2942*Y[8]+t2808*Z[5]+t2945*Y[5]+t2947*Y[5]-
+
 t2949*Y[4]-t2810*Z[4]+t2806*Z[7]-t2953*Y[8]+t2955*Y[7];
+
      const double t2958 = Y[0]*W[4];
+
      const double t2961 = Y[0]*W[5];
+
      const double t2963 = W[0]*Y[4];
+
      const double t2966 = W[0]*Y[5];
+
      const double t2968 = Y[3]*W[2];
+
      const double t2971 = Y[3]*W[1];
+
      const double t2973 = W[3]*Y[2];
+
      const double t2975 = W[3]*Y[1];
+
      const double t2978 = Y[6]*W[2];
+
      const double t2981 = W[1]*Y[6];
+
      const double t2984 = Y[1]*W[6];
+
      const double t2986 = W[6]*Y[2];
+
      const double t2988 = 
t2958*Y[8]-t2802*W[7]-t2961*Y[7]+t2963*Y[8]+t2804*W[8]-t2966*Y[7]
+
 +t2968*Y[7]+t2806*W[7]-t2971*Y[8]+t2973*Y[7]-t2975*Y[8]+t2808*W[5]-t2978*Y[4]-
+
 t2810*W[4]+t2981*Y[5]-t2812*W[8]+t2984*Y[5]-t2986*Y[4];
+
      const double t3007 = 
t2945*X[5]-t2871*Y[7]+t2927*X[8]+t2955*X[7]+t2877*Y[7]-t2953*X[8]
+
 -t2875*Y[8]-t2834*Z[4]+t2869*Y[5]+t2940*X[7]+t2823*Z[7]-t2831*Z[7]+t2931*X[8]+
+
 t2827*Z[8]-t2934*X[7]+t2829*Z[5]+t2873*Y[8]-t2937*X[7];
+
      const double t3026 = 
-t2942*X[8]-t2929*X[4]-t2887*Y[4]-t2882*Y[8]+t2884*Y[5]-t2867*Y
+
 [4]+t2947*X[5]-t2949*X[4]+t2818*Z[5]-t2825*Z[4]+t2865*Y[8]+t2816*Z[8]-t2889*Y
+
 [7]-t2838*Z[7]-t2840*Z[8]+t2892*Y[7]+t2843*Z[7]-t2821*Z[8];
+
      const double t3046 = 
t2984*X[5]+t2909*Y[5]-t2986*X[4]+t2973*X[7]+t2904*Y[7]-t2975*X[8]
+
 -t2906*Y[8]+t2829*W[5]+t2901*Y[5]-t2834*W[4]+t2827*W[8]-t2825*W[4]-t2978*X[4]-
+
 t2966*X[7]-t2898*Y[4]+t2816*W[8]+t2921*Y[8]-t2919*Y[7];
+
      const double t3065 = 
-t2838*W[7]+t2818*W[5]+t2963*X[8]+t2924*Y[8]-t2913*Y[7]-t2896*Y
+
 [8]-t2840*W[8]+t2916*Y[7]+t2823*W[7]-t2971*X[8]+t2968*X[7]-t2911*Y[4]+t2981*X
+
 [5]+t2958*X[8]-t2961*X[7]-t2831*W[7]+t2843*W[7]-t2821*W[8];
+
      const double t3069 = Z[0]*Z[4];
+
      const double t3072 = Z[0]*Z[5];
+
      const double t3076 = Z[3]*Z[2];
+
      const double t3081 = Z[3]*Z[1];
+
      const double t3087 = Z[1]*Z[6];
+
      const double t3089 = Z[6]*Z[2];
+
      const double t3091 = 
-t2889*Z[7]-t2871*Z[7]+t3069*X[8]+t2873*Z[8]-t3072*X[7]+t2877*Z
+
 [7]-t2875*Z[8]+t3076*X[7]+t2865*Z[8]-t2882*Z[8]+t2892*Z[7]-t3081*X[8]+t2869*Z
+
 [5]-t2887*Z[4]+t2884*Z[5]-t2867*Z[4]+t3087*X[5]-t3089*X[4];
+
      const double t3092 = Z[1]*W[6];
+
      const double t3094 = W[6]*Z[2];
+
      const double t3097 = Z[0]*W[4];
+
      const double t3103 = Z[3]*W[1];
+
      const double t3106 = Z[3]*W[2];
+
      const double t3109 = W[3]*Z[2];
+
      const double t3111 = Z[0]*W[5];
+
      const double t3115 = W[1]*Z[6];
+
      const double t3118 = 
t3092*X[5]-t3094*X[4]-t2898*Z[4]+t3097*X[8]-t2871*W[7]+t2921*Z[8]
+
 +t2909*Z[5]+t2873*W[8]-t3103*X[8]-t2875*W[8]+t3106*X[7]+t2877*W[7]+t3109*X[7]-
+
 t3111*X[7]+t2904*Z[7]+t2869*W[5]+t3115*X[5]-t2887*W[4];
+
      const double t3119 = Z[6]*W[2];
+
      const double t3124 = W[0]*Z[5];
+
      const double t3128 = W[0]*Z[4];
+
      const double t3134 = W[3]*Z[1];
+
      const double t3141 = 
-t3119*X[4]-t2919*Z[7]+t2865*W[8]+t2924*Z[8]-t3124*X[7]-t2913*Z
+
 [7]-t2889*W[7]+t3128*X[8]+t2892*W[7]-t2882*W[8]+t2916*Z[7]-t2911*Z[4]-t3134*X
+
 [8]-t2906*Z[8]+t2884*W[5]+t2901*Z[5]-t2867*W[4]-t2896*Z[8];
+
      const double t3144 = W[3]*W[2];
+
      const double t3146 = W[3]*W[1];
+
      const double t3152 = W[1]*W[6];
+
      const double t3154 = W[2]*W[6];
+
      const double t3162 = W[0]*W[4];
+
      const double t3164 = W[0]*W[5];
+
      const double t3167 = 
t2904*W[7]+t3144*X[7]-t3146*X[8]-t2898*W[4]+t2901*W[5]+t2909*W[5]
+
 -t2911*W[4]+t3152*X[5]-t3154*X[4]-t2906*W[8]+t2916*W[7]-t2896*W[8]-t2919*W[7]+
+
 t2921*W[8]+t2924*W[8]+t3162*X[8]-t3164*X[7]-t2913*W[7];
+
      const double t3186 = 
-t2934*Z[7]+t2945*Z[5]+t3069*Y[8]+t2927*Z[8]-t3072*Y[7]-t2937*Z
+
 [7]-t2949*Z[4]+t2931*Z[8]+t2940*Z[7]-t3081*Y[8]-t2942*Z[8]-t2929*Z[4]+t3087*Y
+
 [5]-t3089*Y[4]+t2947*Z[5]+t2955*Z[7]-t2953*Z[8]+t3076*Y[7];
+
      const double t3205 = 
t3109*Y[7]+t2973*Z[7]-t3134*Y[8]-t2975*Z[8]-t2942*W[8]-t3103*Y[8]
+
 -t2953*W[8]+t2955*W[7]+t3106*Y[7]+t2945*W[5]+t3115*Y[5]-t2929*W[4]-t3119*Y[4]+
+
 t2947*W[5]+t2981*Z[5]+t2931*W[8]-t2961*Z[7]-t2934*W[7];
+
      const double t3224 = 
t3092*Y[5]-t3094*Y[4]+t2958*Z[8]-t2949*W[4]-t2978*Z[4]+t2984*Z[5]
+
 -t2986*Z[4]+t2927*W[8]+t3097*Y[8]-t3111*Y[7]-t2937*W[7]+t2963*Z[8]-t3124*Y[7]-
+
 t2966*Z[7]+t3128*Y[8]+t2940*W[7]+t2968*Z[7]-t2971*Z[8];
+
      const double t3244 = 
-t2961*W[7]+t2958*W[8]+t3162*Y[8]+t2963*W[8]-t3164*Y[7]-t2966*W
+
 [7]-t2975*W[8]+t2968*W[7]-t2971*W[8]+t3144*Y[7]+t2973*W[7]-t3146*Y[8]-t2978*W
+
 [4]+t2981*W[5]+t3152*Y[5]+t2984*W[5]-t2986*W[4]-t3154*Y[4];
+
      const double t3270 = 
t3097*Z[8]-t3072*W[7]-t3111*Z[7]+t3069*W[8]+t3128*Z[8]-t3124*Z[7]
+
 +t3106*Z[7]+t3076*W[7]-t3103*Z[8]-t3081*W[8]+t3109*Z[7]+t3115*Z[5]+t3087*W[5]-
+
 t3119*Z[4]-t3089*W[4]+t3092*Z[5]-t3094*Z[4]-t3134*Z[8];
+
      const double t3289 = 
-t3111*W[7]+t3097*W[8]+t3128*W[8]-t3164*Z[7]-t3124*W[7]+t3162*Z
+
 [8]-t3134*W[8]+t3106*W[7]-t3103*W[8]+t3144*Z[7]+t3109*W[7]-t3146*Z[8]-t3119*W
+
 [4]+t3115*W[5]+t3092*W[5]+t3152*Z[5]-t3154*Z[4]-t3094*W[4];
+
       R[0][0] = 2.0*t4*X[0]+2.0*t9*X[3]+2.0*t14*X[6]+t22*X[0];
+
       R[0][1] = 2.0*t29*Y[0]+2.0*t34*Y[3]+2.0*t39*Y[6]+t47*Y[0];
+
       R[0][2] = 2.0*t4*Y[0]+4.0*t55*X[0]+2.0*t9*Y[3]+2.0*t65*X[3]+2.0*t14*Y[6]+
+
 2.0*t75*X[6]+t22*Y[0]+2.0*t86*X[0];
+
       R[0][3] = 4.0*t55*Y[0]+2.0*t29*X[0]+2.0*t65*Y[3]+2.0*t34*X[3]+2.0*t75*Y
+
 [6]+2.0*t39*X[6]+2.0*t86*Y[0]+t47*X[0];
+
       R[0][4] = 2.0*t4*Z[0]+4.0*t106*X[0]+2.0*t9*Z[3]+2.0*t116*X[3]+2.0*t14*Z
+
 [6]+2.0*t126*X[6]+t22*Z[0]+2.0*t137*X[0];
+
       R[0][5] = 2.0*t4*W[0]+4.0*t144*X[0]+2.0*t9*W[3]+2.0*t154*X[3]+2.0*t14*W
+
 [6]+2.0*t164*X[6]+t22*W[0]+2.0*t175*X[0];
+
       R[0][6] = 2.0*t29*Z[0]+4.0*t182*Y[0]+2.0*t34*Z[3]+2.0*t192*Y[3]+2.0*t39*Z
+
 [6]+2.0*t202*Y[6]+t47*Z[0]+2.0*t213*Y[0];
+
       R[0][7] = 2.0*t29*W[0]+4.0*t220*Y[0]+2.0*t34*W[3]+2.0*t230*Y[3]+2.0*t39*W
+
 [6]+2.0*t240*Y[6]+t47*W[0]+2.0*t251*Y[0];
+
       R[0][8] = t275;
+
       R[0][9] = t297;
+
       R[0][10] = 4.0*t106*Z[0]+2.0*t303*X[0]+2.0*t116*Z[3]+2.0*t310*X[3]+2.0*
+
 t126*Z[6]+2.0*t317*X[6]+2.0*t137*Z[0]+t326*X[0];
+
       R[0][11] = t376;
+
       R[0][12] = 4.0*t144*W[0]+2.0*t382*X[0]+2.0*t154*W[3]+2.0*t390*X[3]+2.0*
+
 t164*W[6]+2.0*t398*X[6]+2.0*t175*W[0]+t408*X[0];
+
       R[0][13] = 4.0*t182*Z[0]+2.0*t303*Y[0]+2.0*t192*Z[3]+2.0*t310*Y[3]+2.0*
+
 t202*Z[6]+2.0*t317*Y[6]+2.0*t213*Z[0]+t326*Y[0];
+
       R[0][14] = t445;
+
       R[0][15] = 4.0*t220*W[0]+2.0*t382*Y[0]+2.0*t230*W[3]+2.0*t390*Y[3]+2.0*
+
 t240*W[6]+2.0*t398*Y[6]+2.0*t251*W[0]+t408*Y[0];
+
       R[0][16] = 2.0*t303*Z[0]+2.0*t310*Z[3]+2.0*t317*Z[6]+t326*Z[0];
+
       R[0][17] = 2.0*t303*W[0]+4.0*t337*Z[0]+2.0*t310*W[3]+2.0*t350*Z[3]+2.0*
+
 t317*W[6]+2.0*t363*Z[6]+t326*W[0]+2.0*t374*Z[0];
+
       R[0][18] = 4.0*t337*W[0]+2.0*t382*Z[0]+2.0*t350*W[3]+2.0*t390*Z[3]+2.0*
+
 t363*W[6]+2.0*t398*Z[6]+2.0*t374*W[0]+t408*Z[0];
+
       R[0][19] = 2.0*t382*W[0]+2.0*t390*W[3]+2.0*t398*W[6]+t408*W[0];
+
       R[1][0] = 2.0*t4*X[1]+2.0*t9*X[4]+2.0*t14*X[7]+t22*X[1];
+
       R[1][1] = 2.0*t29*Y[1]+2.0*t34*Y[4]+2.0*t39*Y[7]+t47*Y[1];
+
       R[1][2] = 2.0*t4*Y[1]+4.0*t55*X[1]+2.0*t9*Y[4]+2.0*t65*X[4]+2.0*t14*Y[7]+
+
 2.0*t75*X[7]+t22*Y[1]+2.0*t86*X[1];
+
       R[1][3] = 4.0*t55*Y[1]+2.0*t29*X[1]+2.0*t65*Y[4]+2.0*t34*X[4]+2.0*t75*Y
+
 [7]+2.0*t39*X[7]+2.0*t86*Y[1]+t47*X[1];
+
       R[1][4] = 2.0*t4*Z[1]+4.0*t106*X[1]+2.0*t9*Z[4]+2.0*t116*X[4]+2.0*t14*Z
+
 [7]+2.0*t126*X[7]+t22*Z[1]+2.0*t137*X[1];
+
       R[1][5] = 2.0*t4*W[1]+4.0*t144*X[1]+2.0*t9*W[4]+2.0*t154*X[4]+2.0*t14*W
+
 [7]+2.0*t164*X[7]+t22*W[1]+2.0*t175*X[1];
+
       R[1][6] = 2.0*t29*Z[1]+4.0*t182*Y[1]+2.0*t34*Z[4]+2.0*t192*Y[4]+2.0*t39*Z
+
 [7]+2.0*t202*Y[7]+t47*Z[1]+2.0*t213*Y[1];
+
       R[1][7] = 2.0*t29*W[1]+4.0*t220*Y[1]+2.0*t34*W[4]+2.0*t230*Y[4]+2.0*t39*W
+
 [7]+2.0*t240*Y[7]+t47*W[1]+2.0*t251*Y[1];
+
       R[1][8] = t614;
+
       R[1][9] = t636;
+
       R[1][10] = 4.0*t106*Z[1]+2.0*t303*X[1]+2.0*t116*Z[4]+2.0*t310*X[4]+2.0*
+
 t126*Z[7]+2.0*t317*X[7]+2.0*t137*Z[1]+t326*X[1];
+
       R[1][11] = t671;
+
       R[1][12] = 4.0*t144*W[1]+2.0*t382*X[1]+2.0*t154*W[4]+2.0*t390*X[4]+2.0*
+
 t164*W[7]+2.0*t398*X[7]+2.0*t175*W[1]+t408*X[1];
+
       R[1][13] = 4.0*t182*Z[1]+2.0*t303*Y[1]+2.0*t192*Z[4]+2.0*t310*Y[4]+2.0*
+
 t202*Z[7]+2.0*t317*Y[7]+2.0*t213*Z[1]+t326*Y[1];
+
       R[1][14] = t721;
+
       R[1][15] = 4.0*t220*W[1]+2.0*t382*Y[1]+2.0*t230*W[4]+2.0*t390*Y[4]+2.0*
+
 t240*W[7]+2.0*t398*Y[7]+2.0*t251*W[1]+t408*Y[1];
+
       R[1][16] = 2.0*t303*Z[1]+2.0*t310*Z[4]+2.0*t317*Z[7]+t326*Z[1];
+
       R[1][17] = 2.0*t303*W[1]+4.0*t337*Z[1]+2.0*t310*W[4]+2.0*t350*Z[4]+2.0*
+
 t317*W[7]+2.0*t363*Z[7]+t326*W[1]+2.0*t374*Z[1];
+
       R[1][18] = 4.0*t337*W[1]+2.0*t382*Z[1]+2.0*t350*W[4]+2.0*t390*Z[4]+2.0*
+
 t363*W[7]+2.0*t398*Z[7]+2.0*t374*W[1]+t408*Z[1];
+
       R[1][19] = 2.0*t382*W[1]+2.0*t390*W[4]+2.0*t398*W[7]+t408*W[1];
+
       R[2][0] = 2.0*t4*X[2]+2.0*t9*X[5]+2.0*t14*X[8]+t22*X[2];
+
       R[2][1] = 2.0*t29*Y[2]+2.0*t34*Y[5]+2.0*t39*Y[8]+t47*Y[2];
+
       R[2][2] = 2.0*t4*Y[2]+4.0*t55*X[2]+2.0*t9*Y[5]+2.0*t65*X[5]+2.0*t14*Y[8]+
+
 2.0*t75*X[8]+t22*Y[2]+2.0*t86*X[2];
+
       R[2][3] = 4.0*t55*Y[2]+2.0*t29*X[2]+2.0*t65*Y[5]+2.0*t34*X[5]+2.0*t75*Y
+
 [8]+2.0*t39*X[8]+2.0*t86*Y[2]+t47*X[2];
+
       R[2][4] = 2.0*t4*Z[2]+4.0*t106*X[2]+2.0*t9*Z[5]+2.0*t116*X[5]+2.0*t14*Z
+
 [8]+2.0*t126*X[8]+t22*Z[2]+2.0*t137*X[2];
+
       R[2][5] = 2.0*t4*W[2]+4.0*t144*X[2]+2.0*t9*W[5]+2.0*t154*X[5]+2.0*t14*W
+
 [8]+2.0*t164*X[8]+t22*W[2]+2.0*t175*X[2];
+
       R[2][6] = 2.0*t29*Z[2]+4.0*t182*Y[2]+2.0*t34*Z[5]+2.0*t192*Y[5]+2.0*t39*Z
+
 [8]+2.0*t202*Y[8]+t47*Z[2]+2.0*t213*Y[2];
+
       R[2][7] = 2.0*t29*W[2]+4.0*t220*Y[2]+2.0*t34*W[5]+2.0*t230*Y[5]+2.0*t39*W
+
 [8]+2.0*t240*Y[8]+t47*W[2]+2.0*t251*Y[2];
+
       R[2][8] = t890;
+
       R[2][9] = t912;
+
       R[2][10] = 4.0*t106*Z[2]+2.0*t303*X[2]+2.0*t116*Z[5]+2.0*t310*X[5]+2.0*
+
 t126*Z[8]+2.0*t317*X[8]+2.0*t137*Z[2]+t326*X[2];
+
       R[2][11] = t947;
+
       R[2][12] = 4.0*t144*W[2]+2.0*t382*X[2]+2.0*t154*W[5]+2.0*t390*X[5]+2.0*
+
 t164*W[8]+2.0*t398*X[8]+2.0*t175*W[2]+t408*X[2];
+
       R[2][13] = 4.0*t182*Z[2]+2.0*t303*Y[2]+2.0*t192*Z[5]+2.0*t310*Y[5]+2.0*
+
 t202*Z[8]+2.0*t317*Y[8]+2.0*t213*Z[2]+t326*Y[2];
+
       R[2][14] = t997;
+
       R[2][15] = 4.0*t220*W[2]+2.0*t382*Y[2]+2.0*t230*W[5]+2.0*t390*Y[5]+2.0*
+
 t240*W[8]+2.0*t398*Y[8]+2.0*t251*W[2]+t408*Y[2];
+
       R[2][16] = 2.0*t303*Z[2]+2.0*t310*Z[5]+2.0*t317*Z[8]+t326*Z[2];
+
       R[2][17] = 2.0*t303*W[2]+4.0*t337*Z[2]+2.0*t310*W[5]+2.0*t350*Z[5]+2.0*
+
 t317*W[8]+2.0*t363*Z[8]+t326*W[2]+2.0*t374*Z[2];
+
       R[2][18] = 4.0*t337*W[2]+2.0*t382*Z[2]+2.0*t350*W[5]+2.0*t390*Z[5]+2.0*
+
 t363*W[8]+2.0*t398*Z[8]+2.0*t374*W[2]+t408*Z[2];
+
       R[2][19] = 2.0*t382*W[2]+2.0*t390*W[5]+2.0*t398*W[8]+t408*W[2];
+
       R[3][0] = 2.0*t9*X[0]+2.0*t1056*X[3]+2.0*t1061*X[6]+t22*X[3];
+
       R[3][1] = 2.0*t34*Y[0]+2.0*t1067*Y[3]+2.0*t1072*Y[6]+t47*Y[3];
+
       R[3][2] = 2.0*t9*Y[0]+2.0*t65*X[0]+2.0*t1056*Y[3]+4.0*t1081*X[3]+2.0*
+
 t1061*Y[6]+2.0*t1091*X[6]+t22*Y[3]+2.0*t86*X[3];
+
       R[3][3] = 2.0*t65*Y[0]+2.0*t34*X[0]+4.0*t1081*Y[3]+2.0*t1067*X[3]+2.0*
+
 t1091*Y[6]+2.0*t1072*X[6]+2.0*t86*Y[3]+t47*X[3];
+
       R[3][4] = 2.0*t9*Z[0]+2.0*t116*X[0]+2.0*t1056*Z[3]+4.0*t1115*X[3]+2.0*
+
 t1061*Z[6]+2.0*t1125*X[6]+t22*Z[3]+2.0*t137*X[3];
+
       R[3][5] = 2.0*t9*W[0]+2.0*t154*X[0]+2.0*t1056*W[3]+4.0*t1136*X[3]+2.0*
+
 t1061*W[6]+2.0*t1146*X[6]+t22*W[3]+2.0*t175*X[3];
+
       R[3][6] = 2.0*t34*Z[0]+2.0*t192*Y[0]+2.0*t1067*Z[3]+4.0*t1157*Y[3]+2.0*
+
 t1072*Z[6]+2.0*t1167*Y[6]+t47*Z[3]+2.0*t213*Y[3];
+
       R[3][7] = 2.0*t34*W[0]+2.0*t230*Y[0]+2.0*t1067*W[3]+4.0*t1178*Y[3]+2.0*
+
 t1072*W[6]+2.0*t1188*Y[6]+t47*W[3]+2.0*t251*Y[3];
+
       R[3][8] = t1216;
+
       R[3][9] = t1238;
+
       R[3][10] = 2.0*t116*Z[0]+2.0*t310*X[0]+4.0*t1115*Z[3]+2.0*t1244*X[3]+2.0*
+
 t1125*Z[6]+2.0*t1251*X[6]+2.0*t137*Z[3]+t326*X[3];
+
       R[3][11] = t1286;
+
       R[3][12] = 2.0*t154*W[0]+2.0*t390*X[0]+4.0*t1136*W[3]+2.0*t1293*X[3]+2.0*
+
 t1146*W[6]+2.0*t1301*X[6]+2.0*t175*W[3]+t408*X[3];
+
       R[3][13] = 2.0*t192*Z[0]+2.0*t310*Y[0]+4.0*t1157*Z[3]+2.0*t1244*Y[3]+2.0*
+
 t1167*Z[6]+2.0*t1251*Y[6]+2.0*t213*Z[3]+t326*Y[3];
+
       R[3][14] = t1341;
+
       R[3][15] = 2.0*t230*W[0]+2.0*t390*Y[0]+4.0*t1178*W[3]+2.0*t1293*Y[3]+2.0*
+
 t1188*W[6]+2.0*t1301*Y[6]+2.0*t251*W[3]+t408*Y[3];
+
       R[3][16] = 2.0*t310*Z[0]+2.0*t1244*Z[3]+2.0*t1251*Z[6]+t326*Z[3];
+
       R[3][17] = 2.0*t310*W[0]+2.0*t350*Z[0]+2.0*t1244*W[3]+4.0*t1267*Z[3]+2.0*
+
 t1251*W[6]+2.0*t1280*Z[6]+t326*W[3]+2.0*t374*Z[3];
+
       R[3][18] = 2.0*t350*W[0]+2.0*t390*Z[0]+4.0*t1267*W[3]+2.0*t1293*Z[3]+2.0*
+
 t1280*W[6]+2.0*t1301*Z[6]+2.0*t374*W[3]+t408*Z[3];
+
       R[3][19] = 2.0*t390*W[0]+2.0*t1293*W[3]+2.0*t1301*W[6]+t408*W[3];
+
       R[4][0] = 2.0*t9*X[1]+2.0*t1056*X[4]+2.0*t1061*X[7]+t22*X[4];
+
       R[4][1] = 2.0*t34*Y[1]+2.0*t1067*Y[4]+2.0*t1072*Y[7]+t47*Y[4];
+
       R[4][2] = 2.0*t9*Y[1]+2.0*t65*X[1]+2.0*t1056*Y[4]+4.0*t1081*X[4]+2.0*
+
 t1061*Y[7]+2.0*t1091*X[7]+t22*Y[4]+2.0*t86*X[4];
+
       R[4][3] = 2.0*t65*Y[1]+2.0*t34*X[1]+4.0*t1081*Y[4]+2.0*t1067*X[4]+2.0*
+
 t1091*Y[7]+2.0*t1072*X[7]+2.0*t86*Y[4]+t47*X[4];
+
       R[4][4] = 2.0*t9*Z[1]+2.0*t116*X[1]+2.0*t1056*Z[4]+4.0*t1115*X[4]+2.0*
+
 t1061*Z[7]+2.0*t1125*X[7]+t22*Z[4]+2.0*t137*X[4];
+
       R[4][5] = 2.0*t9*W[1]+2.0*t154*X[1]+2.0*t1056*W[4]+4.0*t1136*X[4]+2.0*
+
 t1061*W[7]+2.0*t1146*X[7]+t22*W[4]+2.0*t175*X[4];
+
       R[4][6] = 2.0*t34*Z[1]+2.0*t192*Y[1]+2.0*t1067*Z[4]+4.0*t1157*Y[4]+2.0*
+
 t1072*Z[7]+2.0*t1167*Y[7]+t47*Z[4]+2.0*t213*Y[4];
+
       R[4][7] = 2.0*t34*W[1]+2.0*t230*Y[1]+2.0*t1067*W[4]+4.0*t1178*Y[4]+2.0*
+
 t1072*W[7]+2.0*t1188*Y[7]+t47*W[4]+2.0*t251*Y[4];
+
       R[4][8] = t1510;
+
       R[4][9] = t1532;
+
       R[4][10] = 2.0*t116*Z[1]+2.0*t310*X[1]+4.0*t1115*Z[4]+2.0*t1244*X[4]+2.0*
+
 t1125*Z[7]+2.0*t1251*X[7]+2.0*t137*Z[4]+t326*X[4];
+
       R[4][11] = t1567;
+
       R[4][12] = 2.0*t154*W[1]+2.0*t390*X[1]+4.0*t1136*W[4]+2.0*t1293*X[4]+2.0*
+
 t1146*W[7]+2.0*t1301*X[7]+2.0*t175*W[4]+t408*X[4];
+
       R[4][13] = 2.0*t192*Z[1]+2.0*t310*Y[1]+4.0*t1157*Z[4]+2.0*t1244*Y[4]+2.0*
+
 t1167*Z[7]+2.0*t1251*Y[7]+2.0*t213*Z[4]+t326*Y[4];
+
       R[4][14] = t1617;
+
       R[4][15] = 2.0*t230*W[1]+2.0*t390*Y[1]+4.0*t1178*W[4]+2.0*t1293*Y[4]+2.0*
+
 t1188*W[7]+2.0*t1301*Y[7]+2.0*t251*W[4]+t408*Y[4];
+
       R[4][16] = 2.0*t310*Z[1]+2.0*t1244*Z[4]+2.0*t1251*Z[7]+t326*Z[4];
+
       R[4][17] = 2.0*t310*W[1]+2.0*t350*Z[1]+2.0*t1244*W[4]+4.0*t1267*Z[4]+2.0*
+
 t1251*W[7]+2.0*t1280*Z[7]+t326*W[4]+2.0*t374*Z[4];
+
       R[4][18] = 2.0*t350*W[1]+2.0*t390*Z[1]+4.0*t1267*W[4]+2.0*t1293*Z[4]+2.0*
+
 t1280*W[7]+2.0*t1301*Z[7]+2.0*t374*W[4]+t408*Z[4];
+
       R[4][19] = 2.0*t390*W[1]+2.0*t1293*W[4]+2.0*t1301*W[7]+t408*W[4];
+
       R[5][0] = 2.0*t9*X[2]+2.0*t1056*X[5]+2.0*t1061*X[8]+t22*X[5];
+
       R[5][1] = 2.0*t34*Y[2]+2.0*t1067*Y[5]+2.0*t1072*Y[8]+t47*Y[5];
+
       R[5][2] = 2.0*t9*Y[2]+2.0*t65*X[2]+2.0*t1056*Y[5]+4.0*t1081*X[5]+2.0*
+
 t1061*Y[8]+2.0*t1091*X[8]+t22*Y[5]+2.0*t86*X[5];
+
       R[5][3] = 2.0*t65*Y[2]+2.0*t34*X[2]+4.0*t1081*Y[5]+2.0*t1067*X[5]+2.0*
+
 t1091*Y[8]+2.0*t1072*X[8]+2.0*t86*Y[5]+t47*X[5];
+
       R[5][4] = 2.0*t9*Z[2]+2.0*t116*X[2]+2.0*t1056*Z[5]+4.0*t1115*X[5]+2.0*
+
 t1061*Z[8]+2.0*t1125*X[8]+t22*Z[5]+2.0*t137*X[5];
+
       R[5][5] = 2.0*t9*W[2]+2.0*t154*X[2]+2.0*t1056*W[5]+4.0*t1136*X[5]+2.0*
+
 t1061*W[8]+2.0*t1146*X[8]+t22*W[5]+2.0*t175*X[5];
+
       R[5][6] = 2.0*t34*Z[2]+2.0*t192*Y[2]+2.0*t1067*Z[5]+4.0*t1157*Y[5]+2.0*
+
 t1072*Z[8]+2.0*t1167*Y[8]+t47*Z[5]+2.0*t213*Y[5];
+
       R[5][7] = 2.0*t34*W[2]+2.0*t230*Y[2]+2.0*t1067*W[5]+4.0*t1178*Y[5]+2.0*
+
 t1072*W[8]+2.0*t1188*Y[8]+t47*W[5]+2.0*t251*Y[5];
+
       R[5][8] = t1786;
+
       R[5][9] = t1808;
+
       R[5][10] = 2.0*t116*Z[2]+2.0*t310*X[2]+4.0*t1115*Z[5]+2.0*t1244*X[5]+2.0*
+
 t1125*Z[8]+2.0*t1251*X[8]+2.0*t137*Z[5]+t326*X[5];
+
       R[5][11] = t1843;
+
       R[5][12] = 2.0*t154*W[2]+2.0*t390*X[2]+4.0*t1136*W[5]+2.0*t1293*X[5]+2.0*
+
 t1146*W[8]+2.0*t1301*X[8]+2.0*t175*W[5]+t408*X[5];
+
       R[5][13] = 2.0*t192*Z[2]+2.0*t310*Y[2]+4.0*t1157*Z[5]+2.0*t1244*Y[5]+2.0*
+
 t1167*Z[8]+2.0*t1251*Y[8]+2.0*t213*Z[5]+t326*Y[5];
+
       R[5][14] = t1893;
+
       R[5][15] = 2.0*t230*W[2]+2.0*t390*Y[2]+4.0*t1178*W[5]+2.0*t1293*Y[5]+2.0*
+
 t1188*W[8]+2.0*t1301*Y[8]+2.0*t251*W[5]+t408*Y[5];
+
       R[5][16] = 2.0*t310*Z[2]+2.0*t1244*Z[5]+2.0*t1251*Z[8]+t326*Z[5];
+
       R[5][17] = 2.0*t310*W[2]+2.0*t350*Z[2]+2.0*t1244*W[5]+4.0*t1267*Z[5]+2.0*
+
 t1251*W[8]+2.0*t1280*Z[8]+t326*W[5]+2.0*t374*Z[5];
+
       R[5][18] = 2.0*t350*W[2]+2.0*t390*Z[2]+4.0*t1267*W[5]+2.0*t1293*Z[5]+2.0*
+
 t1280*W[8]+2.0*t1301*Z[8]+2.0*t374*W[5]+t408*Z[5];
+
       R[5][19] = 2.0*t390*W[2]+2.0*t1293*W[5]+2.0*t1301*W[8]+t408*W[5];
+
       R[6][0] = 2.0*t14*X[0]+2.0*t1061*X[3]+2.0*t1953*X[6]+t22*X[6];
+
       R[6][1] = 2.0*t39*Y[0]+2.0*t1072*Y[3]+2.0*t1960*Y[6]+t47*Y[6];
+
       R[6][2] = 2.0*t14*Y[0]+2.0*t75*X[0]+2.0*t1061*Y[3]+2.0*t1091*X[3]+2.0*
+
 t1953*Y[6]+4.0*t1972*X[6]+t22*Y[6]+2.0*t86*X[6];
+
       R[6][3] = 2.0*t75*Y[0]+2.0*t39*X[0]+2.0*t1091*Y[3]+2.0*t1072*X[3]+4.0*
+
 t1972*Y[6]+2.0*t1960*X[6]+2.0*t86*Y[6]+t47*X[6];
+
       R[6][4] = 2.0*t14*Z[0]+2.0*t126*X[0]+2.0*t1061*Z[3]+2.0*t1125*X[3]+2.0*
+
 t1953*Z[6]+4.0*t1999*X[6]+t22*Z[6]+2.0*t137*X[6];
+
       R[6][5] = 2.0*t14*W[0]+2.0*t164*X[0]+2.0*t1061*W[3]+2.0*t1146*X[3]+2.0*
+
 t1953*W[6]+4.0*t2013*X[6]+t22*W[6]+2.0*t175*X[6];
+
       R[6][6] = 2.0*t39*Z[0]+2.0*t202*Y[0]+2.0*t1072*Z[3]+2.0*t1167*Y[3]+2.0*
+
 t1960*Z[6]+4.0*t2027*Y[6]+t47*Z[6]+2.0*t213*Y[6];
+
       R[6][7] = 2.0*t39*W[0]+2.0*t240*Y[0]+2.0*t1072*W[3]+2.0*t1188*Y[3]+2.0*
+
 t1960*W[6]+4.0*t2041*Y[6]+t47*W[6]+2.0*t251*Y[6];
+
       R[6][8] = t2069;
+
       R[6][9] = t2091;
+
       R[6][10] = 2.0*t126*Z[0]+2.0*t317*X[0]+2.0*t1125*Z[3]+2.0*t1251*X[3]+4.0*
+
 t1999*Z[6]+2.0*t2100*X[6]+2.0*t137*Z[6]+t326*X[6];
+
       R[6][11] = t2128;
+
       R[6][12] = 2.0*t164*W[0]+2.0*t398*X[0]+2.0*t1146*W[3]+2.0*t1301*X[3]+4.0*
+
 t2013*W[6]+2.0*t2139*X[6]+2.0*t175*W[6]+t408*X[6];
+
       R[6][13] = 2.0*t202*Z[0]+2.0*t317*Y[0]+2.0*t1167*Z[3]+2.0*t1251*Y[3]+4.0*
+
 t2027*Z[6]+2.0*t2100*Y[6]+2.0*t213*Z[6]+t326*Y[6];
+
       R[6][14] = t2179;
+
       R[6][15] = 2.0*t240*W[0]+2.0*t398*Y[0]+2.0*t1188*W[3]+2.0*t1301*Y[3]+4.0*
+
 t2041*W[6]+2.0*t2139*Y[6]+2.0*t251*W[6]+t408*Y[6];
+
       R[6][16] = 2.0*t317*Z[0]+2.0*t1251*Z[3]+2.0*t2100*Z[6]+t326*Z[6];
+
       R[6][17] = 2.0*t317*W[0]+2.0*t363*Z[0]+2.0*t1251*W[3]+2.0*t1280*Z[3]+2.0*
+
 t2100*W[6]+4.0*t2122*Z[6]+t326*W[6]+2.0*t374*Z[6];
+
       R[6][18] = 2.0*t363*W[0]+2.0*t398*Z[0]+2.0*t1280*W[3]+2.0*t1301*Z[3]+4.0*
+
 t2122*W[6]+2.0*t2139*Z[6]+2.0*t374*W[6]+t408*Z[6];
+
       R[6][19] = 2.0*t398*W[0]+2.0*t1301*W[3]+2.0*t2139*W[6]+t408*W[6];
+
       R[7][0] = 2.0*t14*X[1]+2.0*t1061*X[4]+2.0*t1953*X[7]+t22*X[7];
+
       R[7][1] = 2.0*t39*Y[1]+2.0*t1072*Y[4]+2.0*t1960*Y[7]+t47*Y[7];
+
       R[7][2] = 2.0*t14*Y[1]+2.0*t75*X[1]+2.0*t1061*Y[4]+2.0*t1091*X[4]+2.0*
+
 t1953*Y[7]+4.0*t1972*X[7]+t22*Y[7]+2.0*t86*X[7];
+
       R[7][3] = 2.0*t75*Y[1]+2.0*t39*X[1]+2.0*t1091*Y[4]+2.0*t1072*X[4]+4.0*
+
 t1972*Y[7]+2.0*t1960*X[7]+2.0*t86*Y[7]+t47*X[7];
+
       R[7][4] = 2.0*t14*Z[1]+2.0*t126*X[1]+2.0*t1061*Z[4]+2.0*t1125*X[4]+2.0*
+
 t1953*Z[7]+4.0*t1999*X[7]+t22*Z[7]+2.0*t137*X[7];
+
       R[7][5] = 2.0*t14*W[1]+2.0*t164*X[1]+2.0*t1061*W[4]+2.0*t1146*X[4]+2.0*
+
 t1953*W[7]+4.0*t2013*X[7]+t22*W[7]+2.0*t175*X[7];
+
       R[7][6] = 2.0*t39*Z[1]+2.0*t202*Y[1]+2.0*t1072*Z[4]+2.0*t1167*Y[4]+2.0*
+
 t1960*Z[7]+4.0*t2027*Y[7]+t47*Z[7]+2.0*t213*Y[7];
+
       R[7][7] = 2.0*t39*W[1]+2.0*t240*Y[1]+2.0*t1072*W[4]+2.0*t1188*Y[4]+2.0*
+
 t1960*W[7]+4.0*t2041*Y[7]+t47*W[7]+2.0*t251*Y[7];
+
       R[7][8] = t2348;
+
       R[7][9] = t2370;
+
       R[7][10] = 2.0*t126*Z[1]+2.0*t317*X[1]+2.0*t1125*Z[4]+2.0*t1251*X[4]+4.0*
+
 t1999*Z[7]+2.0*t2100*X[7]+2.0*t137*Z[7]+t326*X[7];
+
       R[7][11] = t2405;
+
       R[7][12] = 2.0*t164*W[1]+2.0*t398*X[1]+2.0*t1146*W[4]+2.0*t1301*X[4]+4.0*
+
 t2013*W[7]+2.0*t2139*X[7]+2.0*t175*W[7]+t408*X[7];
+
       R[7][13] = 2.0*t202*Z[1]+2.0*t317*Y[1]+2.0*t1167*Z[4]+2.0*t1251*Y[4]+4.0*
+
 t2027*Z[7]+2.0*t2100*Y[7]+2.0*t213*Z[7]+t326*Y[7];
+
       R[7][14] = t2455;
+
       R[7][15] = 2.0*t240*W[1]+2.0*t398*Y[1]+2.0*t1188*W[4]+2.0*t1301*Y[4]+4.0*
+
 t2041*W[7]+2.0*t2139*Y[7]+2.0*t251*W[7]+t408*Y[7];
+
       R[7][16] = 2.0*t317*Z[1]+2.0*t1251*Z[4]+2.0*t2100*Z[7]+t326*Z[7];
+
       R[7][17] = 2.0*t317*W[1]+2.0*t363*Z[1]+2.0*t1251*W[4]+2.0*t1280*Z[4]+2.0*
+
 t2100*W[7]+4.0*t2122*Z[7]+t326*W[7]+2.0*t374*Z[7];
+
       R[7][18] = 2.0*t363*W[1]+2.0*t398*Z[1]+2.0*t1280*W[4]+2.0*t1301*Z[4]+4.0*
+
 t2122*W[7]+2.0*t2139*Z[7]+2.0*t374*W[7]+t408*Z[7];
+
       R[7][19] = 2.0*t398*W[1]+2.0*t1301*W[4]+2.0*t2139*W[7]+t408*W[7];
+
       R[8][0] = 2.0*t14*X[2]+2.0*t1061*X[5]+2.0*t1953*X[8]+t22*X[8];
+
       R[8][1] = 2.0*t39*Y[2]+2.0*t1072*Y[5]+2.0*t1960*Y[8]+t47*Y[8];
+
       R[8][2] = 2.0*t14*Y[2]+2.0*t75*X[2]+2.0*t1061*Y[5]+2.0*t1091*X[5]+2.0*
+
 t1953*Y[8]+4.0*t1972*X[8]+t22*Y[8]+2.0*t86*X[8];
+
       R[8][3] = 2.0*t75*Y[2]+2.0*t39*X[2]+2.0*t1091*Y[5]+2.0*t1072*X[5]+4.0*
+
 t1972*Y[8]+2.0*t1960*X[8]+2.0*t86*Y[8]+t47*X[8];
+
       R[8][4] = 2.0*t14*Z[2]+2.0*t126*X[2]+2.0*t1061*Z[5]+2.0*t1125*X[5]+2.0*
+
 t1953*Z[8]+4.0*t1999*X[8]+t22*Z[8]+2.0*t137*X[8];
+
       R[8][5] = 2.0*t14*W[2]+2.0*t164*X[2]+2.0*t1061*W[5]+2.0*t1146*X[5]+2.0*
+
 t1953*W[8]+4.0*t2013*X[8]+t22*W[8]+2.0*t175*X[8];
+
       R[8][6] = 2.0*t39*Z[2]+2.0*t202*Y[2]+2.0*t1072*Z[5]+2.0*t1167*Y[5]+2.0*
+
 t1960*Z[8]+4.0*t2027*Y[8]+t47*Z[8]+2.0*t213*Y[8];
+
       R[8][7] = 2.0*t39*W[2]+2.0*t240*Y[2]+2.0*t1072*W[5]+2.0*t1188*Y[5]+2.0*
+
 t1960*W[8]+4.0*t2041*Y[8]+t47*W[8]+2.0*t251*Y[8];
+
       R[8][8] = t2624;
+
       R[8][9] = t2646;
+
       R[8][10] = 2.0*t126*Z[2]+2.0*t317*X[2]+2.0*t1125*Z[5]+2.0*t1251*X[5]+4.0*
+
 t1999*Z[8]+2.0*t2100*X[8]+2.0*t137*Z[8]+t326*X[8];
+
       R[8][11] = t2681;
+
       R[8][12] = 2.0*t164*W[2]+2.0*t398*X[2]+2.0*t1146*W[5]+2.0*t1301*X[5]+4.0*
+
 t2013*W[8]+2.0*t2139*X[8]+2.0*t175*W[8]+t408*X[8];
+
       R[8][13] = 2.0*t202*Z[2]+2.0*t317*Y[2]+2.0*t1167*Z[5]+2.0*t1251*Y[5]+4.0*
+
 t2027*Z[8]+2.0*t2100*Y[8]+2.0*t213*Z[8]+t326*Y[8];
+
       R[8][14] = t2731;
+
       R[8][15] = 2.0*t240*W[2]+2.0*t398*Y[2]+2.0*t1188*W[5]+2.0*t1301*Y[5]+4.0*
+
 t2041*W[8]+2.0*t2139*Y[8]+2.0*t251*W[8]+t408*Y[8];
+
       R[8][16] = 2.0*t317*Z[2]+2.0*t1251*Z[5]+2.0*t2100*Z[8]+t326*Z[8];
+
       R[8][17] = 2.0*t317*W[2]+2.0*t363*Z[2]+2.0*t1251*W[5]+2.0*t1280*Z[5]+2.0*
+
 t2100*W[8]+4.0*t2122*Z[8]+t326*W[8]+2.0*t374*Z[8];
+
       R[8][18] = 2.0*t363*W[2]+2.0*t398*Z[2]+2.0*t1280*W[5]+2.0*t1301*Z[5]+4.0*
+
 t2122*W[8]+2.0*t2139*Z[8]+2.0*t374*W[8]+t408*Z[8];
+
       R[8][19] = 2.0*t398*W[2]+2.0*t1301*W[5]+2.0*t2139*W[8]+t408*W[8];
+
       R[9][0] = -t2789*X[4]+t2791*X[5]+t2793*X[7]-t2795*X[8]-t2797*X[7]+t2799*X
+
 [8];
+
       R[9][1] = -t2802*Y[7]+t2804*Y[8]+t2806*Y[7]+t2808*Y[5]-t2810*Y[4]-t2812*Y
+
 [8];
+
       R[9][2] = t2845;
+
       R[9][3] = t2864;
+
       R[9][4] = t2895;
+
       R[9][5] = t2926;
+
       R[9][6] = t2957;
+
       R[9][7] = t2988;
+
       R[9][8] = t3007+t3026;
+
       R[9][9] = t3046+t3065;
+
       R[9][10] = t3091;
+
       R[9][11] = t3118+t3141;
+
       R[9][12] = t3167;
+
       R[9][13] = t3186;
+
       R[9][14] = t3205+t3224;
+
       R[9][15] = t3244;
-      R[9][16] = -t3072*Z[7]+t3069*Z[8]+t3076*Z[7]-t3081*Z[8]+t3087*Z[5]-t3089*
-Z[4];
+
+      R[9][16] = 
-t3072*Z[7]+t3069*Z[8]+t3076*Z[7]-t3081*Z[8]+t3087*Z[5]-t3089*Z[4];
+
       R[9][17] = t3270;
+
       R[9][18] = t3289;
-      R[9][19] = -t3154*W[4]+t3152*W[5]-t3164*W[7]+t3162*W[8]-t3146*W[8]+t3144*
-W[7];
+
+      R[9][19] = 
-t3154*W[4]+t3152*W[5]-t3164*W[7]+t3162*W[8]-t3146*W[8]+t3144*W[7];
 }
 
 }

Index: src/polynomial.cc
===================================================================
RCS file: /cvsroot/toon/tag/src/polynomial.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- src/polynomial.cc   15 May 2009 14:54:30 -0000      1.1
+++ src/polynomial.cc   12 Jul 2009 12:28:32 -0000      1.2
@@ -1,8 +1,13 @@
 #include <TooN/TooN.h>
 #include <utility>
 #include <vector>
+#ifndef WIN32
 #include <tr1/tuple>
 #include <tr1/array>
+#else
+#include <tuple>
+#include <array>
+#endif
 
 #include "polynomial.h"
 
@@ -10,6 +15,11 @@
 using namespace std;
 using namespace std::tr1;
 
+#ifdef WIN32
+inline bool signbit( const double & d ){
+       return d < 0.0;
+}
+#endif
 
 template<int AN, int BN> Vector<AN+BN-1> poly_mul(const Vector<AN>& a, const 
Vector<BN>& b)
 {

Index: tag/five_point.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/five_point.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- tag/five_point.h    15 May 2009 14:54:31 -0000      1.9
+++ tag/five_point.h    12 Jul 2009 12:28:32 -0000      1.10
@@ -3,7 +3,11 @@
 
 #include <vector>
 #include <utility>
+#ifndef WIN32
 #include <tr1/array>
+#else
+#include <array>
+#endif
 #include <TooN/TooN.h>
 #include <TooN/se3.h>
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]