proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
mcdp.h
Go to the documentation of this file.
1
2inline void mcdp(const double& phi, const double& psi, const double& c, const double* stress, //inputs
3 double& f, double* df, double& g, double* r, double* dr,double& stress_3) //outputs
4{
5 const int nSymTen=6,sXX=0,sYY=1,sZZ=2,sYZ=3,sZY=3,sXZ=4,sZX=4,sXY=5,sYX=5;
6 const int SKEY=0,TARGKEY=1,J3KEY=2;
7 double s,ds[nSymTen],f_12,f_13,f_23,g_12,g_13,g_23,
8 targ,dtarg[nSymTen],ddtarg[nSymTen*nSymTen],
9 J3,dJ3[nSymTen],ddJ3[nSymTen*nSymTen],
10 df_dtmp[3],
11 dg_dtmp[3],ddg_dtmp[3*3],theta;
12 const double& stress_xx(stress[sXX]),
13 stress_yy(stress[sYY]),
14 stress_zz(stress[sZZ]),
15 stress_yz(stress[sYZ]),
16 stress_zx(stress[sZX]),
17 stress_xy(stress[sXY]);
18
19 s = sqrt(3)*(stress_xx + stress_yy + stress_zz)/3;
20
21 ds[sXX] = sqrt(3)/3;
22
23 ds[sYY] = sqrt(3)/3;
24
25 ds[sZZ] = sqrt(3)/3;
26
27 ds[sYZ] = 0;
28
29 ds[sZX] = 0;
30
31 ds[sXY] = 0;
32
33 targ = 1.0e-8 + pow(stress_xx - stress_yy, 2) + pow(stress_yy - stress_zz, 2) + pow(stress_zz - stress_xx, 2) + 6*pow(stress_xy, 2) + 6*pow(stress_yz, 2) + 6*pow(stress_zx, 2);
34
35 dtarg[sXX] = -2*stress_yy - 2*stress_zz + 4*stress_xx;
36
37 dtarg[sYY] = -2*stress_xx - 2*stress_zz + 4*stress_yy;
38
39 dtarg[sZZ] = -2*stress_xx - 2*stress_yy + 4*stress_zz;
40
41 dtarg[sYZ] = 12*stress_yz;
42
43 dtarg[sZX] = 12*stress_zx;
44
45 dtarg[sXY] = 12*stress_xy;
46
47 ddtarg[sXX+ nSymTen*sXX] = 4;
48
49 ddtarg[sXX+ nSymTen*sYY] = -2;
50
51 ddtarg[sXX+ nSymTen*sZZ] = -2;
52
53 ddtarg[sXX+ nSymTen*sYZ] = 0;
54
55 ddtarg[sXX+ nSymTen*sZX] = 0;
56
57 ddtarg[sXX+ nSymTen*sXY] = 0;
58
59 ddtarg[sYY+ nSymTen*sXX] = -2;
60
61 ddtarg[sYY+ nSymTen*sYY] = 4;
62
63 ddtarg[sYY+ nSymTen*sZZ] = -2;
64
65 ddtarg[sYY+ nSymTen*sYZ] = 0;
66
67 ddtarg[sYY+ nSymTen*sZX] = 0;
68
69 ddtarg[sYY+ nSymTen*sXY] = 0;
70
71 ddtarg[sZZ+ nSymTen*sXX] = -2;
72
73 ddtarg[sZZ+ nSymTen*sYY] = -2;
74
75 ddtarg[sZZ+ nSymTen*sZZ] = 4;
76
77 ddtarg[sZZ+ nSymTen*sYZ] = 0;
78
79 ddtarg[sZZ+ nSymTen*sZX] = 0;
80
81 ddtarg[sZZ+ nSymTen*sXY] = 0;
82
83 ddtarg[sYZ+ nSymTen*sXX] = 0;
84
85 ddtarg[sYZ+ nSymTen*sYY] = 0;
86
87 ddtarg[sYZ+ nSymTen*sZZ] = 0;
88
89 ddtarg[sYZ+ nSymTen*sYZ] = 12;
90
91 ddtarg[sYZ+ nSymTen*sZX] = 0;
92
93 ddtarg[sYZ+ nSymTen*sXY] = 0;
94
95 ddtarg[sZX+ nSymTen*sXX] = 0;
96
97 ddtarg[sZX+ nSymTen*sYY] = 0;
98
99 ddtarg[sZX+ nSymTen*sZZ] = 0;
100
101 ddtarg[sZX+ nSymTen*sYZ] = 0;
102
103 ddtarg[sZX+ nSymTen*sZX] = 12;
104
105 ddtarg[sZX+ nSymTen*sXY] = 0;
106
107 ddtarg[sXY+ nSymTen*sXX] = 0;
108
109 ddtarg[sXY+ nSymTen*sYY] = 0;
110
111 ddtarg[sXY+ nSymTen*sZZ] = 0;
112
113 ddtarg[sXY+ nSymTen*sYZ] = 0;
114
115 ddtarg[sXY+ nSymTen*sZX] = 0;
116
117 ddtarg[sXY+ nSymTen*sXY] = 12;
118
119 J3 = -pow(stress_xy, 2)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3) - pow(stress_yz, 2)*(-stress_yy/3 - stress_zz/3 + 2*stress_xx/3) - pow(stress_zx, 2)*(-stress_xx/3 - stress_zz/3 + 2*stress_yy/3) + (-stress_xx/3 - stress_zz/3 + 2*stress_yy/3)*(-stress_yy/3 - stress_zz/3 + 2*stress_xx/3)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3) + 2*stress_xy*stress_yz*stress_zx;
120
121 dJ3[sXX] = -(-stress_xx/3 - stress_zz/3 + 2*stress_yy/3)*(-stress_yy/3 - stress_zz/3 + 2*stress_xx/3)/3 - (-stress_yy/3 - stress_zz/3 + 2*stress_xx/3)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3)/3 + 2*(-stress_xx/3 - stress_zz/3 + 2*stress_yy/3)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3)/3 - 2*pow(stress_yz, 2)/3 + pow(stress_xy, 2)/3 + pow(stress_zx, 2)/3;
122
123 dJ3[sYY] = -(-stress_xx/3 - stress_zz/3 + 2*stress_yy/3)*(-stress_yy/3 - stress_zz/3 + 2*stress_xx/3)/3 - (-stress_xx/3 - stress_zz/3 + 2*stress_yy/3)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3)/3 + 2*(-stress_yy/3 - stress_zz/3 + 2*stress_xx/3)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3)/3 - 2*pow(stress_zx, 2)/3 + pow(stress_xy, 2)/3 + pow(stress_yz, 2)/3;
124
125 dJ3[sZZ] = -(-stress_xx/3 - stress_zz/3 + 2*stress_yy/3)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3)/3 - (-stress_yy/3 - stress_zz/3 + 2*stress_xx/3)*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3)/3 + 2*(-stress_xx/3 - stress_zz/3 + 2*stress_yy/3)*(-stress_yy/3 - stress_zz/3 + 2*stress_xx/3)/3 - 2*pow(stress_xy, 2)/3 + pow(stress_yz, 2)/3 + pow(stress_zx, 2)/3;
126
127 dJ3[sYZ] = -2*stress_yz*(-stress_yy/3 - stress_zz/3 + 2*stress_xx/3) + 2*stress_xy*stress_zx;
128
129 dJ3[sZX] = -2*stress_zx*(-stress_xx/3 - stress_zz/3 + 2*stress_yy/3) + 2*stress_xy*stress_yz;
130
131 dJ3[sXY] = -2*stress_xy*(-stress_xx/3 - stress_yy/3 + 2*stress_zz/3) + 2*stress_yz*stress_zx;
132
133 ddJ3[sXX+ nSymTen*sXX] = -2*stress_yy/9 - 2*stress_zz/9 + 4*stress_xx/9;
134
135 ddJ3[sXX+ nSymTen*sYY] = -2*stress_xx/9 - 2*stress_yy/9 + 4*stress_zz/9;
136
137 ddJ3[sXX+ nSymTen*sZZ] = -2*stress_xx/9 - 2*stress_zz/9 + 4*stress_yy/9;
138
139 ddJ3[sXX+ nSymTen*sYZ] = -4*stress_yz/3;
140
141 ddJ3[sXX+ nSymTen*sZX] = 2*stress_zx/3;
142
143 ddJ3[sXX+ nSymTen*sXY] = 2*stress_xy/3;
144
145 ddJ3[sYY+ nSymTen*sXX] = -2*stress_xx/9 - 2*stress_yy/9 + 4*stress_zz/9;
146
147 ddJ3[sYY+ nSymTen*sYY] = -2*stress_xx/9 - 2*stress_zz/9 + 4*stress_yy/9;
148
149 ddJ3[sYY+ nSymTen*sZZ] = -2*stress_yy/9 - 2*stress_zz/9 + 4*stress_xx/9;
150
151 ddJ3[sYY+ nSymTen*sYZ] = 2*stress_yz/3;
152
153 ddJ3[sYY+ nSymTen*sZX] = -4*stress_zx/3;
154
155 ddJ3[sYY+ nSymTen*sXY] = 2*stress_xy/3;
156
157 ddJ3[sZZ+ nSymTen*sXX] = -2*stress_xx/9 - 2*stress_zz/9 + 4*stress_yy/9;
158
159 ddJ3[sZZ+ nSymTen*sYY] = -2*stress_yy/9 - 2*stress_zz/9 + 4*stress_xx/9;
160
161 ddJ3[sZZ+ nSymTen*sZZ] = -2*stress_xx/9 - 2*stress_yy/9 + 4*stress_zz/9;
162
163 ddJ3[sZZ+ nSymTen*sYZ] = 2*stress_yz/3;
164
165 ddJ3[sZZ+ nSymTen*sZX] = 2*stress_zx/3;
166
167 ddJ3[sZZ+ nSymTen*sXY] = -4*stress_xy/3;
168
169 ddJ3[sYZ+ nSymTen*sXX] = -4*stress_yz/3;
170
171 ddJ3[sYZ+ nSymTen*sYY] = 2*stress_yz/3;
172
173 ddJ3[sYZ+ nSymTen*sZZ] = 2*stress_yz/3;
174
175 ddJ3[sYZ+ nSymTen*sYZ] = -4*stress_xx/3 + 2*stress_yy/3 + 2*stress_zz/3;
176
177 ddJ3[sYZ+ nSymTen*sZX] = 2*stress_xy;
178
179 ddJ3[sYZ+ nSymTen*sXY] = 2*stress_zx;
180
181 ddJ3[sZX+ nSymTen*sXX] = 2*stress_zx/3;
182
183 ddJ3[sZX+ nSymTen*sYY] = -4*stress_zx/3;
184
185 ddJ3[sZX+ nSymTen*sZZ] = 2*stress_zx/3;
186
187 ddJ3[sZX+ nSymTen*sYZ] = 2*stress_xy;
188
189 ddJ3[sZX+ nSymTen*sZX] = -4*stress_yy/3 + 2*stress_xx/3 + 2*stress_zz/3;
190
191 ddJ3[sZX+ nSymTen*sXY] = 2*stress_yz;
192
193 ddJ3[sXY+ nSymTen*sXX] = 2*stress_xy/3;
194
195 ddJ3[sXY+ nSymTen*sYY] = 2*stress_xy/3;
196
197 ddJ3[sXY+ nSymTen*sZZ] = -4*stress_xy/3;
198
199 ddJ3[sXY+ nSymTen*sYZ] = 2*stress_zx;
200
201 ddJ3[sXY+ nSymTen*sZX] = 2*stress_yz;
202
203 ddJ3[sXY+ nSymTen*sXY] = -4*stress_zz/3 + 2*stress_xx/3 + 2*stress_yy/3;
204
205 theta = -asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3;
206
207 double stress_1 = -sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + s*sqrt(3)/3;
208
209 double stress_2 = -sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 + s*sqrt(3)/3;
210
211 stress_3 = sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + s*sqrt(3)/3;
212
213 f = -c*cos(phi) + sqrt(2)*sqrt(targ)*(sqrt(3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 + sin(phi)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)/2 + s*sqrt(3)*sin(phi)/3;
214
215 df_dtmp[SKEY] = sqrt(3)*sin(phi)/3;
216
217 df_dtmp[TARGKEY] = sqrt(2)*sqrt(targ)*(9*J3*sqrt(6)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(2*pow(targ, 5.0/2.0)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 9*J3*sqrt(2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)*sin(phi)/(2*pow(targ, 5.0/2.0)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/2 + sqrt(2)*(sqrt(3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 + sin(phi)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)/(4*sqrt(targ));
218
219 df_dtmp[J3KEY] = sqrt(2)*sqrt(targ)*(-3*sqrt(6)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 3.0/2.0)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 3*sqrt(2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)*sin(phi)/(pow(targ, 3.0/2.0)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/2;
220
221 df[sXX] = df_dtmp[SKEY]*ds[sXX] + df_dtmp[TARGKEY]*dtarg[sXX] + df_dtmp[J3KEY]*dJ3[sXX];
222
223 df[sYY] = df_dtmp[SKEY]*ds[sYY] + df_dtmp[TARGKEY]*dtarg[sYY] + df_dtmp[J3KEY]*dJ3[sYY];
224
225 df[sZZ] = df_dtmp[SKEY]*ds[sZZ] + df_dtmp[TARGKEY]*dtarg[sZZ] + df_dtmp[J3KEY]*dJ3[sZZ];
226
227 df[sYZ] = df_dtmp[SKEY]*ds[sYZ] + df_dtmp[TARGKEY]*dtarg[sYZ] + df_dtmp[J3KEY]*dJ3[sYZ];
228
229 df[sZX] = df_dtmp[SKEY]*ds[sZX] + df_dtmp[TARGKEY]*dtarg[sZX] + df_dtmp[J3KEY]*dJ3[sZX];
230
231 df[sXY] = df_dtmp[SKEY]*ds[sXY] + df_dtmp[TARGKEY]*dtarg[sXY] + df_dtmp[J3KEY]*dJ3[sXY];
232
233 g = -2*c*sqrt(3)*cos(psi)/(3 + sin(psi)) + 2*sqrt(3)*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + s*sqrt(3))*sin(psi)/(3*(3 + sin(psi))) + sqrt(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6);
234
235 dg_dtmp[SKEY] = 2*sin(psi)/(3 + sin(psi));
236
237 dg_dtmp[TARGKEY] = ((-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)/sqrt(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6) + 2*sqrt(3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(6*sqrt(targ)) - sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) + sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) + 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*sin(psi)/(3*(3 + sin(psi)));
238
239 dg_dtmp[J3KEY] = ((-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12 + (-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)/12 + (-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12)/sqrt(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6) + 2*sqrt(3)*(-6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 6*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*sin(psi)/(3*(3 + sin(psi)));
240
241 r[sXX] = dg_dtmp[SKEY]*ds[sXX] + dg_dtmp[TARGKEY]*dtarg[sXX] + dg_dtmp[J3KEY]*dJ3[sXX];
242
243 r[sYY] = dg_dtmp[SKEY]*ds[sYY] + dg_dtmp[TARGKEY]*dtarg[sYY] + dg_dtmp[J3KEY]*dJ3[sYY];
244
245 r[sZZ] = dg_dtmp[SKEY]*ds[sZZ] + dg_dtmp[TARGKEY]*dtarg[sZZ] + dg_dtmp[J3KEY]*dJ3[sZZ];
246
247 r[sYZ] = dg_dtmp[SKEY]*ds[sYZ] + dg_dtmp[TARGKEY]*dtarg[sYZ] + dg_dtmp[J3KEY]*dJ3[sYZ];
248
249 r[sZX] = dg_dtmp[SKEY]*ds[sZX] + dg_dtmp[TARGKEY]*dtarg[sZX] + dg_dtmp[J3KEY]*dJ3[sZX];
250
251 r[sXY] = dg_dtmp[SKEY]*ds[sXY] + dg_dtmp[TARGKEY]*dtarg[sXY] + dg_dtmp[J3KEY]*dJ3[sXY];
252
253 ddg_dtmp[SKEY+3*SKEY] = 0;
254
255 ddg_dtmp[SKEY+3*TARGKEY] = 0;
256
257 ddg_dtmp[SKEY+3*J3KEY] = 0;
258
259 ddg_dtmp[TARGKEY+3*SKEY] = 0;
260
261 ddg_dtmp[TARGKEY+3*TARGKEY] = ((-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(6*pow(targ, 3.0/2.0)) + sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*pow(targ, 3.0/2.0)) - 39366*pow(J3, 3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 27*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 27*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 39366*pow(J3, 3)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 243*sqrt(2)*pow(J3, 2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 243*sqrt(2)*pow(J3, 2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(6*pow(targ, 3.0/2.0)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*pow(targ, 3.0/2.0)) - 39366*pow(J3, 3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 27*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 27*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 39366*pow(J3, 3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 243*sqrt(2)*pow(J3, 2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 243*sqrt(2)*pow(J3, 2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*pow(targ, 3.0/2.0)) - sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*pow(targ, 3.0/2.0)) - 39366*pow(J3, 3)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 27*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 27*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 39366*pow(J3, 3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 243*sqrt(2)*pow(J3, 2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 243*sqrt(2)*pow(J3, 2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(6*sqrt(targ)) - 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(6*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) - 9*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) - 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)/sqrt(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6) + (-(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 - (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 - (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)*((-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)/pow(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6, 3.0/2.0) + 2*sqrt(3)*(-sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(12*pow(targ, 3.0/2.0)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(12*pow(targ, 3.0/2.0)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(12*pow(targ, 3.0/2.0)) - 19683*pow(J3, 3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 19683*pow(J3, 3)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 19683*pow(J3, 3)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 6)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 27*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(2*pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 27*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(2*pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 27*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(2*pow(targ, 3)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 243*sqrt(2)*pow(J3, 2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(2*pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 243*sqrt(2)*pow(J3, 2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(2*pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 243*sqrt(2)*pow(J3, 2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(2*pow(targ, 9.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))*sin(psi)/(3*(3 + sin(psi)));
262
263 ddg_dtmp[TARGKEY+3*J3KEY] = ((-6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-6*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 26244*pow(J3, 2)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 162*J3*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 26244*pow(J3, 2)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 162*J3*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)/sqrt(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6) + (-(-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12 - (-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)/12 - (-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12)*((-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)/pow(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6, 3.0/2.0) + 2*sqrt(3)*(6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 13122*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 13122*pow(J3, 2)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 13122*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 81*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 81*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 81*J3*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))*sin(psi)/(3*(3 + sin(psi)));
264
265 ddg_dtmp[J3KEY+3*SKEY] = 0;
266
267 ddg_dtmp[J3KEY+3*TARGKEY] = ((-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(6*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) - 9*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(6*sqrt(targ)) - 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(6*sqrt(targ)) - 9*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 9*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 26244*pow(J3, 2)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 162*J3*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 26244*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 26244*pow(J3, 2)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 162*J3*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 162*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)/sqrt(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6) + (-(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 - (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 - (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) + sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(3*sqrt(targ)) - 18*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 18*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12)*((-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12 + (-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)/12 + (-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12)/pow(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6, 3.0/2.0) + 2*sqrt(3)*(6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 2)*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 13122*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 13122*pow(J3, 2)*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 13122*pow(J3, 2)*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 81*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 81*J3*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 81*J3*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 7.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))*sin(psi)/(3*(3 + sin(psi)));
268
269 ddg_dtmp[J3KEY+3*J3KEY] = ((-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-6*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 6*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-17496*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) + 108*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 108*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 17496*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)))/12 + (-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)*(-17496*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 108*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 108*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 17496*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)))/12 + (sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)*(-17496*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 108*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) - 108*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 17496*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)))/12)/sqrt(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6) + (-(-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12 - (-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)/12 - (-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12)*((-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12 + (-12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3)/12 + (-12*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 12*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(targ*sqrt(1 - 1458*pow(J3, 2)/pow(targ, 3))))*(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3)/12)/pow(pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3 - sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6 + pow(-sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/3, 2)/6 + pow(sqrt(2)*sqrt(targ)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3 + sqrt(2)*sqrt(targ)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/3, 2)/6, 3.0/2.0) + 2*sqrt(3)*(-8748*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 8748*J3*cos(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 8748*J3*cos(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 4)*pow(1 - 1458*pow(J3, 2)/pow(targ, 3), 3.0/2.0)) - 54*sqrt(2)*sin(-asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 54*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))) + 54*sqrt(2)*sin(asin(27*J3*sqrt(2)/pow(targ, 3.0/2.0))/3 + 2*M_PI/3)/(pow(targ, 5.0/2.0)*(1 - 1458*pow(J3, 2)/pow(targ, 3))))*sin(psi)/(3*(3 + sin(psi)));
270
271 dr[sXX+ nSymTen*sXX] = dg_dtmp[TARGKEY]*ddtarg[sXX+nSymTen*sXX] + dg_dtmp[J3KEY]*ddJ3[sXX+nSymTen*sXX]\
272 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXX]*ds[sXX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXX]*ds[sXX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXX]*ds[sXX]\
273 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXX]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXX]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXX]*dtarg[sXX]\
274 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXX]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXX]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXX]*dJ3[sXX];
275
276 dr[sXX+ nSymTen*sYY] = dg_dtmp[TARGKEY]*ddtarg[sXX+nSymTen*sYY] + dg_dtmp[J3KEY]*ddJ3[sXX+nSymTen*sYY]\
277 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYY]*ds[sXX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYY]*ds[sXX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYY]*ds[sXX]\
278 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYY]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYY]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYY]*dtarg[sXX]\
279 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYY]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYY]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYY]*dJ3[sXX];
280
281 dr[sXX+ nSymTen*sZZ] = dg_dtmp[TARGKEY]*ddtarg[sXX+nSymTen*sZZ] + dg_dtmp[J3KEY]*ddJ3[sXX+nSymTen*sZZ]\
282 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZZ]*ds[sXX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZZ]*ds[sXX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZZ]*ds[sXX]\
283 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZZ]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZZ]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZZ]*dtarg[sXX]\
284 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZZ]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZZ]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZZ]*dJ3[sXX];
285
286 dr[sXX+ nSymTen*sYZ] = dg_dtmp[TARGKEY]*ddtarg[sXX+nSymTen*sYZ] + dg_dtmp[J3KEY]*ddJ3[sXX+nSymTen*sYZ]\
287 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYZ]*ds[sXX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYZ]*ds[sXX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYZ]*ds[sXX]\
288 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYZ]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYZ]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYZ]*dtarg[sXX]\
289 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYZ]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYZ]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYZ]*dJ3[sXX];
290
291 dr[sXX+ nSymTen*sZX] = dg_dtmp[TARGKEY]*ddtarg[sXX+nSymTen*sZX] + dg_dtmp[J3KEY]*ddJ3[sXX+nSymTen*sZX]\
292 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZX]*ds[sXX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZX]*ds[sXX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZX]*ds[sXX]\
293 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZX]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZX]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZX]*dtarg[sXX]\
294 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZX]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZX]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZX]*dJ3[sXX];
295
296 dr[sXX+ nSymTen*sXY] = dg_dtmp[TARGKEY]*ddtarg[sXX+nSymTen*sXY] + dg_dtmp[J3KEY]*ddJ3[sXX+nSymTen*sXY]\
297 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXY]*ds[sXX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXY]*ds[sXX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXY]*ds[sXX]\
298 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXY]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXY]*dtarg[sXX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXY]*dtarg[sXX]\
299 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXY]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXY]*dJ3[sXX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXY]*dJ3[sXX];
300
301 dr[sYY+ nSymTen*sXX] = dg_dtmp[TARGKEY]*ddtarg[sYY+nSymTen*sXX] + dg_dtmp[J3KEY]*ddJ3[sYY+nSymTen*sXX]\
302 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXX]*ds[sYY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXX]*ds[sYY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXX]*ds[sYY]\
303 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXX]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXX]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXX]*dtarg[sYY]\
304 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXX]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXX]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXX]*dJ3[sYY];
305
306 dr[sYY+ nSymTen*sYY] = dg_dtmp[TARGKEY]*ddtarg[sYY+nSymTen*sYY] + dg_dtmp[J3KEY]*ddJ3[sYY+nSymTen*sYY]\
307 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYY]*ds[sYY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYY]*ds[sYY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYY]*ds[sYY]\
308 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYY]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYY]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYY]*dtarg[sYY]\
309 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYY]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYY]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYY]*dJ3[sYY];
310
311 dr[sYY+ nSymTen*sZZ] = dg_dtmp[TARGKEY]*ddtarg[sYY+nSymTen*sZZ] + dg_dtmp[J3KEY]*ddJ3[sYY+nSymTen*sZZ]\
312 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZZ]*ds[sYY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZZ]*ds[sYY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZZ]*ds[sYY]\
313 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZZ]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZZ]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZZ]*dtarg[sYY]\
314 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZZ]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZZ]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZZ]*dJ3[sYY];
315
316 dr[sYY+ nSymTen*sYZ] = dg_dtmp[TARGKEY]*ddtarg[sYY+nSymTen*sYZ] + dg_dtmp[J3KEY]*ddJ3[sYY+nSymTen*sYZ]\
317 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYZ]*ds[sYY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYZ]*ds[sYY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYZ]*ds[sYY]\
318 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYZ]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYZ]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYZ]*dtarg[sYY]\
319 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYZ]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYZ]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYZ]*dJ3[sYY];
320
321 dr[sYY+ nSymTen*sZX] = dg_dtmp[TARGKEY]*ddtarg[sYY+nSymTen*sZX] + dg_dtmp[J3KEY]*ddJ3[sYY+nSymTen*sZX]\
322 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZX]*ds[sYY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZX]*ds[sYY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZX]*ds[sYY]\
323 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZX]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZX]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZX]*dtarg[sYY]\
324 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZX]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZX]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZX]*dJ3[sYY];
325
326 dr[sYY+ nSymTen*sXY] = dg_dtmp[TARGKEY]*ddtarg[sYY+nSymTen*sXY] + dg_dtmp[J3KEY]*ddJ3[sYY+nSymTen*sXY]\
327 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXY]*ds[sYY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXY]*ds[sYY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXY]*ds[sYY]\
328 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXY]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXY]*dtarg[sYY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXY]*dtarg[sYY]\
329 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXY]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXY]*dJ3[sYY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXY]*dJ3[sYY];
330
331 dr[sZZ+ nSymTen*sXX] = dg_dtmp[TARGKEY]*ddtarg[sZZ+nSymTen*sXX] + dg_dtmp[J3KEY]*ddJ3[sZZ+nSymTen*sXX]\
332 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXX]*ds[sZZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXX]*ds[sZZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXX]*ds[sZZ]\
333 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXX]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXX]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXX]*dtarg[sZZ]\
334 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXX]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXX]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXX]*dJ3[sZZ];
335
336 dr[sZZ+ nSymTen*sYY] = dg_dtmp[TARGKEY]*ddtarg[sZZ+nSymTen*sYY] + dg_dtmp[J3KEY]*ddJ3[sZZ+nSymTen*sYY]\
337 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYY]*ds[sZZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYY]*ds[sZZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYY]*ds[sZZ]\
338 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYY]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYY]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYY]*dtarg[sZZ]\
339 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYY]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYY]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYY]*dJ3[sZZ];
340
341 dr[sZZ+ nSymTen*sZZ] = dg_dtmp[TARGKEY]*ddtarg[sZZ+nSymTen*sZZ] + dg_dtmp[J3KEY]*ddJ3[sZZ+nSymTen*sZZ]\
342 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZZ]*ds[sZZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZZ]*ds[sZZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZZ]*ds[sZZ]\
343 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZZ]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZZ]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZZ]*dtarg[sZZ]\
344 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZZ]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZZ]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZZ]*dJ3[sZZ];
345
346 dr[sZZ+ nSymTen*sYZ] = dg_dtmp[TARGKEY]*ddtarg[sZZ+nSymTen*sYZ] + dg_dtmp[J3KEY]*ddJ3[sZZ+nSymTen*sYZ]\
347 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYZ]*ds[sZZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYZ]*ds[sZZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYZ]*ds[sZZ]\
348 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYZ]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYZ]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYZ]*dtarg[sZZ]\
349 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYZ]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYZ]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYZ]*dJ3[sZZ];
350
351 dr[sZZ+ nSymTen*sZX] = dg_dtmp[TARGKEY]*ddtarg[sZZ+nSymTen*sZX] + dg_dtmp[J3KEY]*ddJ3[sZZ+nSymTen*sZX]\
352 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZX]*ds[sZZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZX]*ds[sZZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZX]*ds[sZZ]\
353 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZX]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZX]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZX]*dtarg[sZZ]\
354 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZX]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZX]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZX]*dJ3[sZZ];
355
356 dr[sZZ+ nSymTen*sXY] = dg_dtmp[TARGKEY]*ddtarg[sZZ+nSymTen*sXY] + dg_dtmp[J3KEY]*ddJ3[sZZ+nSymTen*sXY]\
357 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXY]*ds[sZZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXY]*ds[sZZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXY]*ds[sZZ]\
358 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXY]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXY]*dtarg[sZZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXY]*dtarg[sZZ]\
359 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXY]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXY]*dJ3[sZZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXY]*dJ3[sZZ];
360
361 dr[sYZ+ nSymTen*sXX] = dg_dtmp[TARGKEY]*ddtarg[sYZ+nSymTen*sXX] + dg_dtmp[J3KEY]*ddJ3[sYZ+nSymTen*sXX]\
362 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXX]*ds[sYZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXX]*ds[sYZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXX]*ds[sYZ]\
363 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXX]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXX]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXX]*dtarg[sYZ]\
364 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXX]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXX]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXX]*dJ3[sYZ];
365
366 dr[sYZ+ nSymTen*sYY] = dg_dtmp[TARGKEY]*ddtarg[sYZ+nSymTen*sYY] + dg_dtmp[J3KEY]*ddJ3[sYZ+nSymTen*sYY]\
367 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYY]*ds[sYZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYY]*ds[sYZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYY]*ds[sYZ]\
368 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYY]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYY]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYY]*dtarg[sYZ]\
369 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYY]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYY]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYY]*dJ3[sYZ];
370
371 dr[sYZ+ nSymTen*sZZ] = dg_dtmp[TARGKEY]*ddtarg[sYZ+nSymTen*sZZ] + dg_dtmp[J3KEY]*ddJ3[sYZ+nSymTen*sZZ]\
372 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZZ]*ds[sYZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZZ]*ds[sYZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZZ]*ds[sYZ]\
373 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZZ]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZZ]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZZ]*dtarg[sYZ]\
374 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZZ]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZZ]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZZ]*dJ3[sYZ];
375
376 dr[sYZ+ nSymTen*sYZ] = dg_dtmp[TARGKEY]*ddtarg[sYZ+nSymTen*sYZ] + dg_dtmp[J3KEY]*ddJ3[sYZ+nSymTen*sYZ]\
377 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYZ]*ds[sYZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYZ]*ds[sYZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYZ]*ds[sYZ]\
378 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYZ]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYZ]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYZ]*dtarg[sYZ]\
379 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYZ]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYZ]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYZ]*dJ3[sYZ];
380
381 dr[sYZ+ nSymTen*sZX] = dg_dtmp[TARGKEY]*ddtarg[sYZ+nSymTen*sZX] + dg_dtmp[J3KEY]*ddJ3[sYZ+nSymTen*sZX]\
382 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZX]*ds[sYZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZX]*ds[sYZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZX]*ds[sYZ]\
383 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZX]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZX]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZX]*dtarg[sYZ]\
384 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZX]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZX]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZX]*dJ3[sYZ];
385
386 dr[sYZ+ nSymTen*sXY] = dg_dtmp[TARGKEY]*ddtarg[sYZ+nSymTen*sXY] + dg_dtmp[J3KEY]*ddJ3[sYZ+nSymTen*sXY]\
387 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXY]*ds[sYZ] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXY]*ds[sYZ] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXY]*ds[sYZ]\
388 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXY]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXY]*dtarg[sYZ] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXY]*dtarg[sYZ]\
389 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXY]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXY]*dJ3[sYZ] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXY]*dJ3[sYZ];
390
391 dr[sZX+ nSymTen*sXX] = dg_dtmp[TARGKEY]*ddtarg[sZX+nSymTen*sXX] + dg_dtmp[J3KEY]*ddJ3[sZX+nSymTen*sXX]\
392 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXX]*ds[sZX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXX]*ds[sZX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXX]*ds[sZX]\
393 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXX]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXX]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXX]*dtarg[sZX]\
394 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXX]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXX]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXX]*dJ3[sZX];
395
396 dr[sZX+ nSymTen*sYY] = dg_dtmp[TARGKEY]*ddtarg[sZX+nSymTen*sYY] + dg_dtmp[J3KEY]*ddJ3[sZX+nSymTen*sYY]\
397 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYY]*ds[sZX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYY]*ds[sZX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYY]*ds[sZX]\
398 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYY]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYY]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYY]*dtarg[sZX]\
399 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYY]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYY]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYY]*dJ3[sZX];
400
401 dr[sZX+ nSymTen*sZZ] = dg_dtmp[TARGKEY]*ddtarg[sZX+nSymTen*sZZ] + dg_dtmp[J3KEY]*ddJ3[sZX+nSymTen*sZZ]\
402 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZZ]*ds[sZX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZZ]*ds[sZX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZZ]*ds[sZX]\
403 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZZ]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZZ]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZZ]*dtarg[sZX]\
404 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZZ]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZZ]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZZ]*dJ3[sZX];
405
406 dr[sZX+ nSymTen*sYZ] = dg_dtmp[TARGKEY]*ddtarg[sZX+nSymTen*sYZ] + dg_dtmp[J3KEY]*ddJ3[sZX+nSymTen*sYZ]\
407 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYZ]*ds[sZX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYZ]*ds[sZX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYZ]*ds[sZX]\
408 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYZ]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYZ]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYZ]*dtarg[sZX]\
409 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYZ]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYZ]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYZ]*dJ3[sZX];
410
411 dr[sZX+ nSymTen*sZX] = dg_dtmp[TARGKEY]*ddtarg[sZX+nSymTen*sZX] + dg_dtmp[J3KEY]*ddJ3[sZX+nSymTen*sZX]\
412 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZX]*ds[sZX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZX]*ds[sZX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZX]*ds[sZX]\
413 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZX]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZX]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZX]*dtarg[sZX]\
414 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZX]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZX]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZX]*dJ3[sZX];
415
416 dr[sZX+ nSymTen*sXY] = dg_dtmp[TARGKEY]*ddtarg[sZX+nSymTen*sXY] + dg_dtmp[J3KEY]*ddJ3[sZX+nSymTen*sXY]\
417 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXY]*ds[sZX] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXY]*ds[sZX] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXY]*ds[sZX]\
418 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXY]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXY]*dtarg[sZX] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXY]*dtarg[sZX]\
419 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXY]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXY]*dJ3[sZX] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXY]*dJ3[sZX];
420
421 dr[sXY+ nSymTen*sXX] = dg_dtmp[TARGKEY]*ddtarg[sXY+nSymTen*sXX] + dg_dtmp[J3KEY]*ddJ3[sXY+nSymTen*sXX]\
422 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXX]*ds[sXY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXX]*ds[sXY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXX]*ds[sXY]\
423 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXX]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXX]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXX]*dtarg[sXY]\
424 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXX]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXX]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXX]*dJ3[sXY];
425
426 dr[sXY+ nSymTen*sYY] = dg_dtmp[TARGKEY]*ddtarg[sXY+nSymTen*sYY] + dg_dtmp[J3KEY]*ddJ3[sXY+nSymTen*sYY]\
427 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYY]*ds[sXY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYY]*ds[sXY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYY]*ds[sXY]\
428 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYY]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYY]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYY]*dtarg[sXY]\
429 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYY]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYY]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYY]*dJ3[sXY];
430
431 dr[sXY+ nSymTen*sZZ] = dg_dtmp[TARGKEY]*ddtarg[sXY+nSymTen*sZZ] + dg_dtmp[J3KEY]*ddJ3[sXY+nSymTen*sZZ]\
432 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZZ]*ds[sXY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZZ]*ds[sXY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZZ]*ds[sXY]\
433 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZZ]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZZ]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZZ]*dtarg[sXY]\
434 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZZ]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZZ]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZZ]*dJ3[sXY];
435
436 dr[sXY+ nSymTen*sYZ] = dg_dtmp[TARGKEY]*ddtarg[sXY+nSymTen*sYZ] + dg_dtmp[J3KEY]*ddJ3[sXY+nSymTen*sYZ]\
437 + ddg_dtmp[SKEY + 3*SKEY]*ds[sYZ]*ds[sXY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sYZ]*ds[sXY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sYZ]*ds[sXY]\
438 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sYZ]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sYZ]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sYZ]*dtarg[sXY]\
439 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sYZ]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sYZ]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sYZ]*dJ3[sXY];
440
441 dr[sXY+ nSymTen*sZX] = dg_dtmp[TARGKEY]*ddtarg[sXY+nSymTen*sZX] + dg_dtmp[J3KEY]*ddJ3[sXY+nSymTen*sZX]\
442 + ddg_dtmp[SKEY + 3*SKEY]*ds[sZX]*ds[sXY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sZX]*ds[sXY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sZX]*ds[sXY]\
443 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sZX]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sZX]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sZX]*dtarg[sXY]\
444 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sZX]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sZX]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sZX]*dJ3[sXY];
445
446 dr[sXY+ nSymTen*sXY] = dg_dtmp[TARGKEY]*ddtarg[sXY+nSymTen*sXY] + dg_dtmp[J3KEY]*ddJ3[sXY+nSymTen*sXY]\
447 + ddg_dtmp[SKEY + 3*SKEY]*ds[sXY]*ds[sXY] + ddg_dtmp[SKEY + 3*TARGKEY]*dtarg[sXY]*ds[sXY] + ddg_dtmp[SKEY + 3*J3KEY]*dJ3[sXY]*ds[sXY]\
448 + ddg_dtmp[TARGKEY + 3*SKEY]*ds[sXY]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*TARGKEY]*dtarg[sXY]*dtarg[sXY] + ddg_dtmp[TARGKEY + 3*J3KEY]*dJ3[sXY]*dtarg[sXY]\
449 + ddg_dtmp[J3KEY + 3*SKEY]*ds[sXY]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*TARGKEY]*dtarg[sXY]*dJ3[sXY] + ddg_dtmp[J3KEY + 3*J3KEY]*dJ3[sXY]*dJ3[sXY];
450
451}
Double r
Definition Headers.h:83
Double f
Definition Headers.h:64
Double s
Definition Headers.h:84
Double phi
Definition Headers.h:76
Double psi
Definition Headers.h:78
double df(double C, double b, double a, int q, int r)
#define c(i)
Definition jf.h:21
void mcdp(const double &phi, const double &psi, const double &c, const double *stress, double &f, double *df, double &g, double *r, double *dr, double &stress_3)
Definition mcdp.h:2