aboutsummaryrefslogtreecommitdiff
path: root/src/gr.cg/expansion_Jacobian.c
blob: 101790137440fe4545f844bcb6439b5ef295f6f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
/*
 * inputs = {partial_d_ln_sqrt_g, partial_d_g_uu, r, X_ud, X_udd, g_uu, K_uu, Theta_A, Theta_B, Theta_C, Theta_D, h}
 * outputs = {partial_Theta_X_wrt_partial_d_h, partial_Theta_Y_wrt_partial_d_h, partial_Theta_X_wrt_partial_dd_h, partial_Theta_Y_wrt_partial_dd_h}
 * cost = 466*assignments+10*divisions+7*functions+1722*multiplications+728*additions
 */
fp t1, t2, t4, t5, t7, t8, t10, t11, t12, t14;
fp t16, t18, t19, t20, t24, t25, t26, t28, t30, t32;
fp t34, t36, t38, t40, t41, t42, t44, t47, t49, t50;
fp t53, t54, t55, t56, t59, t60, t61, t68, t69, t70;
fp t71, t75, t76, t79, t80, t81, t87, t91, t93, t97;
fp t98, t101, t102, t108, t109, t112, t113, t114, t115, t117;
fp t118, t119, t120, t123, t124, t126, t127, t128, t131, t133;
fp t136, t137, t139, t140, t144, t146, t148, t151, t153, t154;
fp t157, t160, t161, t162, t165, t166, t167, t169, t170, t171;
fp t173, t177, t178, t179, t181, t184, t186, t190, t192, t196;
fp t197, t198, t201, t203, t206, t207, t208, t209, t212, t213;
fp t216, t218, t221, t222, t223, t226, t227, t228, t230, t232;
fp t235, t237, t239, t241, t244, t246, t247, t251, t252, t254;
fp t255, t257, t258, t262, t263, t265, t269, t271, t272, t273;
fp t275, t278, t279, t284, t287, t288, t291, t294, t295, t298;
fp t301, t307, t311, t312, t314, t317, t318, t322, t328, t330;
fp t333, t337, t339, t341, t345, t357, t360, t363, t364, t365;
fp t370, t372, t374, t377, t379, t380, t383, t384, t385, t387;
fp t390, t397, t400, t405, t408, t410, t411, t412, t414, t419;
fp t427, t430, t433, t436, t439, t443, t446, t447, t448, t451;
fp t452, t454, t457, t458, t459, t462, t465, t471, t474, t478;
fp t479, t481, t485, t489, t493, t499, t503, t508, t511, t513;
fp t514, t521, t528, t534, t537, t539, t544, t550, t553, t556;
fp t560, t564, t565, t574, t580, t582, t587, t595, t611, t616;
fp t625, t627, t628, t629, t631, t632, t637, t639, t648, t652;
fp t663, t676, t680, t681, t682, t698, t703, t709, t715, t718;
fp t731, t735, t740, t742, t745, t747, t751, t759, t785, t790;
fp t792, t797, t801, t802, t804, t805, t807, t808, t810, t812;
fp t814, t816, t818, t820, t822, t824, t836, t837, t844, t846;
fp t847, t849, t850, t852, t854, t856, t858, t860, t862, t866;
fp t868, t873, t877, t879, t881, t884, t886, t890, t894, t895;
fp t898, t902, t905, t910, t912, t914, t921, t926, t931, t934;
fp t938, t940, t944, t946, t947, t950, t951, t956, t960, t964;
fp t967, t970, t973, t976, t980, t983, t986, t991, t994, t999;
fp t1005, t1009, t1012, t1015, t1016, t1024, t1030, t1034, t1037, t1044;
fp t1057, t1066, t1076, t1089, t1101, t1112, t1123, t1130, t1143, t1162;
fp t1172, t1185, t1206, t1230, t1236, t1272, t1283, t1313, t1326, t1332;
fp t1341, t1346, t1351, t1380, t1389, t1402, t1415, t1418, t1420, t1423;
fp t1425, t1428, t1431, t1433, t1436, t1439, t1443, t1446, t1465, t1466;
fp t1467, t1470, t1476, t1477, t1478, t1481, t1484, t1485, t1490, t1497;
fp t1500, t1501, t1504, t1506, t1511, t1514, t1518, t1524, t1532, t1537;
fp t1540, t1543, t1556, t1560, t1567, t1568, t1582, t1585, t1588, t1600;
fp t1601, t1606, t1610, t1613, t1631, t1635, t1641, t1646, t1652, t1662;
fp t1668, t1673, t1674, t1688, t1694, t1695, t1704, t1705, t1711, t1739;
fp t1749, t1752, t1755, t1766, t1769, t1772, t1777, t1782, t1791, t1794;
fp t1803, t1809, t1819, t1830, t1834, t1855;
      t1 = g_uu_13;
      t2 = 1/r;
      t4 = X_ud_13;
      t5 = PARTIAL_RHO(h);
      t7 = X_ud_23;
      t8 = PARTIAL_SIGMA(h);
      t10 = zz*t2-t4*t5-t7*t8;
      t11 = t1*t10;
      t12 = g_uu_12;
      t14 = X_ud_12;
      t16 = X_ud_22;
      t18 = yy*t2-t14*t5-t16*t8;
      t19 = t12*t18;
      t20 = X_udd_111;
      t24 = g_uu_23;
      t25 = t24*t10;
      t26 = t12*t14;
      t28 = r*r;
      t30 = 1/t28/r;
      t32 = X_udd_112;
      t34 = X_udd_212;
      t36 = X_ud_11;
      t38 = PARTIAL_RHO_RHO(h);
      t40 = X_ud_21;
      t41 = t40*t14;
      t42 = PARTIAL_RHO_SIGMA(h);
      t44 = t36*t16;
      t47 = PARTIAL_SIGMA_SIGMA(h);
      t49 = -xx*yy*t30-t32*t5-t34*t8-t36*t14*t38-t41*t42-t44*t42-t40*t16*t47;
      t50 = t26*t49;
      t53 = t1*t4;
      t54 = partial_d_g_uu_122;
      t55 = t18*t18;
      t56 = t54*t55;
      t59 = g_uu_33;
      t60 = t59*t10;
      t61 = X_udd_113;
      t68 = xx*t2-t36*t5-t40*t8;
      t69 = t68*t68;
      t70 = t12*t69;
      t71 = g_uu_11;
      t75 = t24*t4;
      t76 = t19*t49;
      t79 = partial_d_g_uu_112;
      t80 = t79*t68;
      t81 = t80*t14;
      t87 = X_udd_213;
      t91 = t40*t4;
      t93 = t36*t7;
      t97 = -xx*zz*t30-t61*t5-t87*t8-t36*t4*t38-t91*t42-t93*t42-t40*t7*t47;
      t98 = t26*t97;
      t101 = g_uu_22;
      t102 = t101*t18;
      t108 = t59*t4;
      t109 = t19*t97;
      t112 = t71*t68;
      t113 = partial_d_g_uu_133;
      t114 = t113*t10;
      t115 = t114*t4;
      t117 = t12*t68;
      t118 = partial_d_g_uu_213;
      t119 = t118*t10;
      t120 = t119*t36;
      t123 = t79*t18;
      t124 = t123*t36;
      t126 = 2.0*t11*t19*t20+2.0*t25*t50+RATIONAL(1.0,2.0)*t53*t56+2.0*t60*t19*
t61+2.0*t70*t71*t32+2.0*t75*t76+2.0*t19*t81+2.0*t60*t98+4.0*t102*t50+2.0*t11*
t102*t32+2.0*t108*t109+t112*t115+2.0*t117*t120+t11*t124;
      t127 = t101*t55;
      t128 = t12*t32;
      t131 = partial_d_g_uu_313;
      t133 = t131*t68*t4;
      t136 = t54*t18;
      t137 = t136*t14;
      t139 = yy*yy;
      t140 = zz*zz;
      t144 = X_udd_211;
      t146 = t36*t36;
      t148 = t40*t36;
      t151 = t40*t40;
      t153 = (t139+t140)*t30-t20*t5-t144*t8-t146*t38-2.0*t148*t42-t151*t47;
      t154 = t19*t153;
      t157 = t102*t49;
      t160 = partial_d_g_uu_123;
      t161 = t160*t10;
      t162 = t161*t14;
      t165 = partial_d_g_uu_312;
      t166 = t165*t18;
      t167 = t166*t36;
      t169 = partial_d_g_uu_233;
      t170 = t169*t10;
      t171 = t170*t4;
      t173 = t101*t14;
      t177 = partial_d_g_uu_222;
      t178 = t177*t18;
      t179 = t178*t14;
      t181 = t24*t18;
      t184 = X_udd_123;
      t186 = X_udd_223;
      t190 = t16*t4;
      t192 = t14*t7;
      t196 = -yy*zz*t30-t184*t5-t186*t8-t14*t4*t38-t190*t42-t192*t42-t16*t7*t47
;
      t197 = t101*t196;
      t198 = t197*t14;
      t201 = t12*t12;
      t203 = t68*t49;
      t206 = t1*t36;
      t207 = partial_d_g_uu_333;
      t208 = t10*t10;
      t209 = t207*t208;
      t212 = partial_d_g_uu_322;
      t213 = t212*t55;
      t216 = 2.0*t127*t128+2.0*t60*t133+t112*t137+2.0*t53*t154+2.0*t53*t157+2.0
*t19*t162+t60*t167+t117*t171+2.0*t11*t173*t49+t117*t179+4.0*t181*t198+2.0*t201*
t14*t203+RATIONAL(1.0,2.0)*t206*t209+RATIONAL(1.0,2.0)*t206*t213;
      t218 = t113*t208;
      t221 = t24*t24;
      t222 = t221*t55;
      t223 = X_udd_133;
      t226 = t1*t68;
      t227 = t212*t18;
      t228 = t227*t14;
      t230 = t166*t68;
      t232 = xx*xx;
      t235 = X_udd_122;
      t237 = X_udd_222;
      t239 = t14*t14;
      t241 = t16*t14;
      t244 = t16*t16;
      t246 = (t232+t140)*t30-t235*t5-t237*t8-t239*t38-2.0*t241*t42-t244*t47;
      t247 = t102*t246;
      t251 = partial_d_g_uu_212;
      t252 = t251*t14;
      t254 = t1*t1;
      t255 = t254*t208;
      t257 = t207*t10;
      t258 = t257*t4;
      t262 = t251*t18;
      t263 = t262*t68;
      t265 = t262*t36;
      t269 = RATIONAL(1.0,2.0)*t26*t218+t222*t223+t19*t115+t226*t228+t108*t230+
2.0*t75*t247+t11*t81+t70*t252+t255*t20+t226*t258+2.0*t112*t124+t75*t263+t25*
t265+2.0*t60*t198;
      t271 = t24*t14;
      t272 = t131*t10;
      t273 = t272*t68;
      t275 = t226*t223;
      t278 = t165*t14;
      t279 = t278*t68;
      t284 = t71*t36;
      t287 = t12*t36;
      t288 = t177*t55;
      t291 = t169*t208;
      t294 = t24*t208;
      t295 = partial_d_g_uu_223;
      t298 = t1*t208;
      t301 = t12*t55;
      t307 = t254*t10;
      t311 = t71*t71;
      t312 = t311*t69;
      t314 = t181*t133+t271*t273+2.0*t60*t275+t60*t279+2.0*t25*t102*t235+
RATIONAL(1.0,2.0)*t284*t56+RATIONAL(1.0,2.0)*t287*t288+RATIONAL(1.0,2.0)*t287*
t291+t294*t295*t14+t298*t160*t14+RATIONAL(3.0,2.0)*t301*t54*t14+2.0*t226*t167+
2.0*t307*t68*t61+t312*t20;
      t317 = t59*t208;
      t318 = t1*t61;
      t322 = t118*t68*t4;
      t328 = t221*t208;
      t330 = t102*t196;
      t333 = t1*t97;
      t337 = t272*t36;
      t339 = t252*t68;
      t341 = t221*t10;
      t345 = t1*t69;
      t357 = 2.0*t317*t318+2.0*t25*t322+2.0*t25*t19*t32+t328*t235+2.0*t108*t330
+4.0*t60*t333*t4+t181*t337+t25*t339+2.0*t341*t18*t184+t345*t278+RATIONAL(1.0,
2.0)*t284*t218+t294*t118*t36+2.0*t60*t102*t184+2.0*t25*t173*t246;
      t360 = t112*t97;
      t363 = partial_d_g_uu_111;
      t364 = t363*t68;
      t365 = t364*t36;
      t370 = X_udd_233;
      t372 = t4*t4;
      t374 = t7*t4;
      t377 = t7*t7;
      t379 = (t232+t139)*t30-t223*t5-t370*t8-t372*t38-2.0*t374*t42-t377*t47;
      t380 = t181*t379;
      t383 = partial_d_g_uu_311;
      t384 = t383*t68;
      t385 = t384*t36;
      t387 = t226*t196;
      t390 = t201*t68;
      t397 = t206*t196;
      t400 = t383*t69;
      t405 = t112*t61;
      t408 = t201*t69;
      t410 = partial_d_g_uu_211;
      t411 = t410*t68;
      t412 = t411*t36;
      t414 = 2.0*t117*t265+2.0*t271*t360+t11*t365+2.0*t108*t380+t181*t385+2.0*
t75*t387+2.0*t390*t246*t36+2.0*t11*t26*t153+2.0*t25*t397+RATIONAL(1.0,2.0)*t271
*t400+t345*t131*t4+2.0*t181*t405+t408*t235+t25*t412;
      t419 = t284*t97;
      t427 = t226*t379;
      t430 = t117*t184;
      t433 = t181*t97;
      t436 = t117*t246;
      t439 = t24*t196;
      t443 = t287*t196;
      t446 = partial_d_g_uu_323;
      t447 = t446*t18;
      t448 = t447*t4;
      t451 = t295*t10;
      t452 = t451*t14;
      t454 = t117*t235;
      t457 = 2.0*t60*t181*t223+2.0*t181*t419+t60*t385+t102*t412+2.0*t60*t271*
t379+2.0*t271*t427+2.0*t181*t430+2.0*t53*t433+2.0*t173*t436+4.0*t60*t439*t4+2.0
*t181*t443+2.0*t60*t448+t117*t452+2.0*t102*t454;
      t458 = t295*t18;
      t459 = t458*t4;
      t462 = t287*t246;
      t465 = t117*t196;
      t471 = t177*t14;
      t474 = t24*t55;
      t478 = t446*t10;
      t479 = t478*t14;
      t481 = t1*t49;
      t485 = t206*t379;
      t489 = t160*t18*t4;
      t493 = t112*t20;
      t499 = 2.0*t25*t459+2.0*t102*t462+2.0*t271*t465+2.0*t11*t271*t97+RATIONAL
(3.0,2.0)*t127*t471+RATIONAL(3.0,2.0)*t474*t212*t14+t226*t479+4.0*t25*t481*t4+
2.0*t181*t485+2.0*t11*t489+t117*t459+2.0*t19*t493+2.0*t108*t360+t19*t365;
      t503 = t161*t18;
      t508 = t284*t49;
      t511 = t451*t18;
      t513 = t59*t59;
      t514 = t513*t10;
      t521 = t478*t18;
      t528 = t112*t153;
      t534 = t207*t4;
      t537 = t446*t14;
      t539 = t284*t503+2.0*t307*t153*t4+2.0*t25*t508+t287*t511+2.0*t514*t379*t4
+t226*t448+2.0*t181*t275+t206*t521+2.0*t11*t181*t61+2.0*t102*t397+2.0*t26*t528+
RATIONAL(3.0,2.0)*t298*t113*t4+RATIONAL(3.0,2.0)*t317*t534+t317*t537;
      t544 = t112*t32;
      t550 = t24*t184;
      t553 = t226*t184;
      t556 = t254*t68;
      t560 = t201*t18;
      t564 = t101*t101;
      t565 = t564*t18;
      t574 = t112*t49;
      t580 = 2.0*t294*t1*t32+t112*t162+2.0*t25*t544+t112*t489+2.0*t60*t419+2.0*
t317*t550+2.0*t102*t553+2.0*t556*t379*t36+2.0*t560*t153*t14+2.0*t565*t246*t14+
2.0*t60*t405+2.0*t341*t246*t4+2.0*t75*t574+2.0*t19*t226*t61;
      t582 = t284*t153;
      t587 = t131*t36;
      t595 = t68*t97;
      t611 = t363*t69;
      t616 = 2.0*t19*t582+2.0*t53*t528+t317*t587+2.0*t19*t206*t97+2.0*t60*t430+
2.0*t254*t4*t595+2.0*t307*t36*t97+2.0*t108*t465+4.0*t181*t98+2.0*t181*t479+2.0*
t173*t574+2.0*t102*t452+RATIONAL(1.0,2.0)*t26*t611+2.0*t102*t544;
      t625 = t564*t55;
      t627 = partial_d_g_uu_113;
      t628 = t627*t10;
      t629 = t628*t36;
      t631 = t627*t68;
      t632 = t631*t4;
      t637 = t201*t55;
      t639 = t628*t68;
      t648 = 2.0*t60*t485+2.0*t25*t454+2.0*t108*t427+2.0*t60*t443+t625*t235+t19
*t629+2.0*t11*t632+2.0*t25*t462+t637*t20+t26*t639+2.0*t226*t337+t19*t632+t474*
t165*t36+2.0*t11*t493;
      t652 = t119*t68;
      t663 = t221*t18;
      t676 = t251*t36;
      t680 = t102*t322+t173*t652+2.0*t75*t436+2.0*t173*t387+2.0*t181*t279+t70*
t118*t4+t102*t120+2.0*t663*t379*t14+2.0*t112*t629+2.0*t102*t339+2.0*t11*t117*
t32+2.0*t11*t582+t127*t676+t301*t160*t4;
      t681 = t71*t69;
      t682 = t363*t36;
      t698 = t226*t97;
      t703 = t311*t68;
      t709 = t410*t69;
      t715 = t18*t196;
      t718 = RATIONAL(3.0,2.0)*t681*t682+t298*t627*t36+RATIONAL(3.0,2.0)*t294*
t169*t4+2.0*t11*t287*t49+t181*t258+t102*t171+2.0*t474*t12*t61+2.0*t26*t698+
RATIONAL(1.0,2.0)*t271*t209+2.0*t703*t153*t36+RATIONAL(1.0,2.0)*t53*t611+
RATIONAL(1.0,2.0)*t173*t709+RATIONAL(1.0,2.0)*t75*t709+2.0*t221*t4*t715;
      t731 = t295*t4;
      t735 = t627*t4;
      t740 = t79*t14;
      t742 = t117*t49;
      t745 = t513*t208;
      t747 = t123*t68;
      t751 = 2.0*t341*t14*t196+RATIONAL(1.0,2.0)*t173*t291+RATIONAL(3.0,2.0)*
t70*t410*t36+RATIONAL(3.0,2.0)*t345*t383*t36+t127*t731+t474*t446*t4+t681*t735+
t301*t79*t36+t11*t137+t681*t740+2.0*t53*t742+t745*t223+t53*t747+2.0*t102*t508;
      t759 = t254*t69;
      t785 = RATIONAL(1.0,2.0)*t108*t400+2.0*t474*t101*t184+2.0*t25*t553+t759*
t223+t25*t179+4.0*t226*t443+t60*t228+4.0*t226*t419+2.0*t345*t12*t184+2.0*t560*
t36*t49+2.0*t560*t68*t32+RATIONAL(1.0,2.0)*t75*t288+RATIONAL(1.0,2.0)*t108*t213
+2.0*t345*t71*t61+4.0*t117*t508;
      t790 = pow(Theta_D,1.0*RATIONAL(1.0,2.0));
      t792 = 1/t790/Theta_D;
      t797 = -t682-t676-t587-t740-t471-t537-t735-t731-t534-t71*t20-2.0*t128-2.0
*t318;
      t801 = partial_d_ln_sqrt_g_1;
      t802 = t71*t801;
      t804 = partial_d_ln_sqrt_g_2;
      t805 = t12*t804;
      t807 = partial_d_ln_sqrt_g_3;
      t808 = t1*t807;
      t810 = t12*t801;
      t812 = t101*t804;
      t814 = t24*t807;
      t816 = t1*t801;
      t818 = t24*t804;
      t820 = t59*t807;
      t822 = -t101*t235-2.0*t550-t59*t223-t802*t36-t805*t36-t808*t36-t810*t14-
t812*t14-t814*t14-t816*t4-t818*t4-t820*t4;
      t824 = 1/t790;
      t836 = -2.0*t112*t36-2.0*t26*t68-2.0*t19*t36-2.0*t53*t68-2.0*t11*t36-2.0*
t102*t14-2.0*t75*t18-2.0*t25*t14-2.0*t60*t4;
      t837 = Theta_D*Theta_D;
      t844 = RATIONAL(3.0,2.0)*Theta_A/t790/t837+RATIONAL(1.0,2.0)*Theta_B*t792
;
      partial_Theta_X_wrt_partial_d_h_1 = (t126+t216+t269+t314+t357+t414+t457+
t499+t539+t580+t616+t648+t680+t718+t751+t785)*t792+(t797+t822)*t824-t836*t844;
      t846 = t118*t7;
      t847 = t846*t68;
      t849 = t131*t7;
      t850 = t849*t68;
      t852 = t272*t40;
      t854 = t251*t16;
      t856 = t79*t16;
      t858 = t119*t40;
      t860 = t627*t7;
      t862 = t1*t40;
      t866 = t384*t40;
      t868 = t59*t7;
      t873 = t12*t40;
      t877 = t628*t40;
      t879 = t166*t40;
      t881 = t102*t847+t181*t850+t181*t852+t70*t854+t681*t856+t102*t858+t681*
t860+2.0*t19*t862*t97+t60*t866+2.0*t868*t360+t474*t165*t40+2.0*t11*t873*t49+t19
*t877+t60*t879;
      t884 = t251*t40;
      t886 = t862*t379;
      t890 = t131*t40;
      t894 = t71*t40;
      t895 = t894*t97;
      t898 = t12*t16;
      t902 = t631*t7;
      t905 = t226*t370;
      t910 = t24*t7;
      t912 = t854*t68;
      t914 = 2.0*t226*t852+t127*t884+2.0*t60*t886+t70*t846+t317*t890+2.0*t868*
t427+2.0*t60*t895+t898*t639+RATIONAL(1.0,2.0)*t898*t218+2.0*t11*t902+2.0*t60*
t905+RATIONAL(1.0,2.0)*t862*t213+t910*t263+t25*t912;
      t921 = t451*t16;
      t926 = t161*t16;
      t931 = t862*t196;
      t934 = t478*t16;
      t938 = t262*t40;
      t940 = t873*t246;
      t944 = t446*t16;
      t946 = 4.0*t25*t481*t7+t294*t118*t40+2.0*t102*t921+2.0*t910*t387+2.0*t19*
t926+t862*t521+t894*t503+2.0*t25*t931+t226*t934+2.0*t181*t934+t25*t938+2.0*t25*
t940+t112*t926+t317*t944;
      t947 = t226*t186;
      t950 = t160*t7;
      t951 = t950*t18;
      t956 = t170*t7;
      t960 = t112*t144;
      t964 = t1*t7;
      t967 = t894*t153;
      t970 = t117*t237;
      t973 = t112*t34;
      t976 = t894*t49;
      t980 = 2.0*t25*t947+t112*t951+2.0*t19*t226*t87+t102*t956+t759*t370+t625*
t237+2.0*t19*t960+t637*t144+2.0*t964*t742+2.0*t19*t967+2.0*t25*t970+2.0*t102*
t973+2.0*t102*t976+t312*t144;
      t983 = t136*t16;
      t986 = t257*t7;
      t991 = t12*t196*t40;
      t994 = t101*t16;
      t999 = t112*t87;
      t1005 = t80*t16;
      t1009 = t24*t16;
      t1012 = t123*t40;
      t1015 = t11*t983+t408*t237+t181*t986+2.0*t102*t931+4.0*t226*t991+2.0*t994
*t387+4.0*t226*t895+2.0*t181*t999+t964*t747+4.0*t117*t976+2.0*t19*t1005+t181*
t866+2.0*t1009*t465+2.0*t112*t1012;
      t1016 = t411*t40;
      t1024 = t227*t16;
      t1030 = t458*t7;
      t1034 = t117*t186;
      t1037 = t364*t40;
      t1044 = t102*t1016+2.0*t226*t879+RATIONAL(1.0,2.0)*t894*t218+RATIONAL(1.0
,2.0)*t873*t291+t60*t1024+2.0*t181*t991+2.0*t1009*t360+2.0*t25*t1030+t255*t144+
2.0*t181*t1034+t11*t1037+2.0*t181*t895+2.0*t112*t877+t11*t1005;
      t1057 = t447*t7;
      t1066 = t197*t16;
      t1076 = 2.0*t181*t905+2.0*t898*t528+t11*t1012+2.0*t994*t574+2.0*t11*t181*
t87+t868*t230+2.0*t60*t1057+2.0*t60*t19*t87+4.0*t60*t333*t7+4.0*t181*t1066+2.0*
t994*t436+t25*t1016+2.0*t910*t436+2.0*t102*t970;
      t1089 = t12*t97*t16;
      t1101 = t898*t49;
      t1112 = 2.0*t102*t940+t226*t1057+2.0*t117*t938+2.0*t181*t886+2.0*t1009*
t427+2.0*t910*t76+4.0*t181*t1089+2.0*t60*t1009*t379+2.0*t11*t19*t144+2.0*t25*
t19*t34+2.0*t25*t1101+4.0*t60*t439*t7+2.0*t910*t247+2.0*t60*t181*t370;
      t1123 = t178*t16;
      t1130 = t114*t7;
      t1143 = 2.0*t868*t109+2.0*t25*t994*t246+4.0*t102*t1101+t25*t1123+2.0*t102
*t947+2.0*t964*t154+t117*t956+t112*t1130+2.0*t60*t1089+2.0*t25*t102*t237+t345*
t849+2.0*t25*t847+t117*t1123+2.0*t60*t1066;
      t1162 = t165*t68*t16;
      t1172 = 2.0*t868*t380+t873*t511+RATIONAL(1.0,2.0)*t862*t209+2.0*t898*t698
+2.0*t11*t994*t49+t745*t370+2.0*t60*t850+2.0*t868*t330+t19*t902+t226*t1024+2.0*
t181*t1162+2.0*t201*t16*t203+2.0*t102*t912+t298*t627*t40;
      t1185 = t12*t34;
      t1206 = t226*t986+2.0*t60*t102*t186+t112*t983+2.0*t560*t40*t49+2.0*t560*
t68*t34+2.0*t127*t1185+2.0*t514*t379*t7+2.0*t221*t7*t715+2.0*t11*t898*t153+
RATIONAL(1.0,2.0)*t894*t56+2.0*t11*t102*t34+t117*t1030+2.0*t964*t157+t19*t1130;
      t1230 = t24*t186;
      t1236 = 2.0*t60*t991+t60*t1162+2.0*t868*t465+t328*t237+2.0*t117*t858+2.0*
t60*t999+t19*t1037+2.0*t60*t1034+t222*t370+2.0*t11*t1009*t97+2.0*t341*t16*t196+
2.0*t341*t18*t186+2.0*t317*t1230+2.0*t556*t379*t40;
      t1272 = 2.0*t390*t246*t40+2.0*t565*t246*t16+2.0*t703*t153*t40+RATIONAL(
1.0,2.0)*t994*t291+RATIONAL(1.0,2.0)*t1009*t209+RATIONAL(1.0,2.0)*t964*t56+2.0*
t70*t71*t34+2.0*t345*t71*t87+2.0*t345*t12*t186+RATIONAL(1.0,2.0)*t868*t213+
RATIONAL(1.0,2.0)*t910*t288+t301*t79*t40+t994*t652+2.0*t964*t433;
      t1283 = t1*t87;
      t1313 = 2.0*t11*t117*t34+2.0*t11*t967+2.0*t964*t528+2.0*t474*t101*t186+
2.0*t317*t1283+2.0*t254*t7*t595+2.0*t307*t40*t97+2.0*t307*t68*t87+2.0*t560*t153
*t16+2.0*t307*t153*t7+2.0*t474*t12*t87+2.0*t341*t246*t7+RATIONAL(3.0,2.0)*t70*
t410*t40+RATIONAL(3.0,2.0)*t345*t383*t40;
      t1326 = t177*t16;
      t1332 = t207*t7;
      t1341 = t295*t7;
      t1346 = t363*t40;
      t1351 = 2.0*t294*t1*t34+2.0*t663*t379*t16+t298*t160*t16+RATIONAL(3.0,2.0)
*t474*t212*t16+RATIONAL(3.0,2.0)*t127*t1326+RATIONAL(3.0,2.0)*t301*t54*t16+
RATIONAL(3.0,2.0)*t317*t1332+RATIONAL(3.0,2.0)*t294*t169*t7+RATIONAL(3.0,2.0)*
t298*t113*t7+t127*t1341+t474*t446*t7+t301*t950+RATIONAL(3.0,2.0)*t681*t1346+
t345*t165*t16;
      t1380 = t294*t295*t16+RATIONAL(1.0,2.0)*t994*t709+RATIONAL(1.0,2.0)*t1009
*t400+RATIONAL(1.0,2.0)*t964*t611+RATIONAL(1.0,2.0)*t898*t611+RATIONAL(1.0,2.0)
*t910*t709+RATIONAL(1.0,2.0)*t868*t400+RATIONAL(1.0,2.0)*t873*t288+t117*t921+
2.0*t910*t574+2.0*t11*t951+2.0*t11*t960+2.0*t25*t973+2.0*t25*t976+t1009*t273;
      t1389 = -t1346-t884-t890-t856-t1326-t944-t860-t1341-t1332-t71*t144-2.0*
t1185-2.0*t1283;
      t1402 = -t101*t237-2.0*t1230-t59*t370-t802*t40-t805*t40-t808*t40-t810*t16
-t812*t16-t814*t16-t816*t7-t818*t7-t820*t7;
      t1415 = -2.0*t112*t40-2.0*t898*t68-2.0*t19*t40-2.0*t964*t68-2.0*t11*t40
-2.0*t102*t16-2.0*t910*t18-2.0*t25*t16-2.0*t60*t7;
      partial_Theta_X_wrt_partial_d_h_2 = (t881+t914+t946+t980+t1015+t1044+
t1076+t1112+t1143+t1172+t1206+t1236+t1272+t1313+t1351+t1380)*t792+(t1389+t1402)
*t824-t1415*t844;
      t1418 = K_uu_11*t68;
      t1420 = K_uu_12;
      t1423 = t1420*t18;
      t1425 = K_uu_13;
      t1428 = t1425*t10;
      t1431 = K_uu_22*t18;
      t1433 = K_uu_23;
      t1436 = t1433*t10;
      t1439 = K_uu_33*t10;
      t1443 = 1/Theta_D;
      t1446 = 1/t837;
      partial_Theta_Y_wrt_partial_d_h_1 = (-2.0*t1418*t36-2.0*t1420*t14*t68-2.0
*t1423*t36-2.0*t1425*t4*t68-2.0*t1428*t36-2.0*t1431*t14-2.0*t1433*t4*t18-2.0*
t1436*t14-2.0*t1439*t4)*t1443-t836*Theta_C*t1446;
      partial_Theta_Y_wrt_partial_d_h_2 = (-2.0*t1418*t40-2.0*t1420*t16*t68-2.0
*t1423*t40-2.0*t1425*t7*t68-2.0*t1428*t40-2.0*t1431*t16-2.0*t1433*t7*t18-2.0*
t1436*t16-2.0*t1439*t7)*t1443-t1415*Theta_C*t1446;
      t1465 = t11*t24;
      t1466 = t18*t36;
      t1467 = t1466*t4;
      t1470 = t112*t146;
      t1476 = t60*t71;
      t1477 = t68*t36;
      t1478 = t1477*t4;
      t1481 = t181*t71;
      t1484 = t102*t71;
      t1485 = t1477*t14;
      t1490 = t117*t239;
      t1497 = t25*t71;
      t1500 = 2.0*t1465*t1467+2.0*t19*t1470+2.0*t294*t206*t14+2.0*t1476*t1478+
2.0*t1481*t1478+2.0*t1484*t1485+2.0*t11*t1470+2.0*t102*t1490+2.0*t345*t284*t4+
t408*t239+2.0*t1497*t1485;
      t1501 = t287*t14;
      t1504 = t102*t1;
      t1506 = t68*t14*t4;
      t1511 = t226*t372;
      t1514 = t19*t1;
      t1518 = t18*t14*t4;
      t1524 = t181*t12;
      t1532 = 2.0*t127*t1501+2.0*t1504*t1506+2.0*t560*t1485+2.0*t181*t1511+2.0*
t1514*t1478+2.0*t341*t1518+2.0*t70*t284*t14+2.0*t1524*t1506+2.0*t60*t1511+t328*
t239+2.0*t1465*t1506;
      t1537 = t206*t4;
      t1540 = t11*t12;
      t1543 = t60*t12;
      t1556 = t271*t4;
      t1560 = 2.0*t345*t26*t4+2.0*t317*t1537+2.0*t1540*t1485+2.0*t1543*t1467+
2.0*t307*t1478+t255*t146+t222*t372+2.0*t11*t19*t146+2.0*t25*t102*t239+2.0*t317*
t1556+t637*t146;
      t1567 = t25*t12;
      t1568 = t1466*t14;
      t1582 = t11*t101;
      t1585 = t60*t101;
      t1588 = 2.0*t25*t1490+t759*t372+2.0*t474*t173*t4+2.0*t1567*t1568+t625*
t239+2.0*t1543*t1506+2.0*t474*t287*t4+t745*t372+t312*t146+2.0*t60*t181*t372+2.0
*t1582*t1568+2.0*t1585*t1518;
      partial_Theta_X_wrt_partial_dd_h_11 = (t1500+t1532+t1560+t1588)*t792+(-
t71*t146-2.0*t1501-2.0*t1537-t101*t239-2.0*t1556-t59*t372)*t824;
      t1600 = -t91-t93;
      t1601 = t1*t1600;
      t1606 = -t190-t192;
      t1610 = t117*t1606;
      t1613 = -t41-t44;
      t1631 = t18*t40;
      t1635 = -2.0*t317*t1601+2.0*t408*t241-2.0*t345*t12*t1606-2.0*t181*t1610
-2.0*t25*t19*t1613+2.0*t328*t241-2.0*t19*t226*t1600-2.0*t60*t19*t1600-2.0*t11*
t102*t1613-2.0*t345*t71*t1600+4.0*t1540*t1631*t36;
      t1641 = t112*t1600;
      t1646 = t112*t1613;
      t1652 = t18*t16;
      t1662 = t24*t1606;
      t1668 = 2.0*t255*t148-2.0*t70*t71*t1613-2.0*t60*t1641+2.0*t625*t241-2.0*
t25*t1646+2.0*t312*t148+4.0*t25*t101*t1652*t14-2.0*t11*t181*t1600-2.0*t341*t18*
t1606-2.0*t317*t1662-2.0*t560*t68*t1613;
      t1673 = t68*t40;
      t1674 = t1673*t36;
      t1688 = t68*t7*t4;
      t1694 = t68*t16;
      t1695 = t1694*t14;
      t1704 = -2.0*t60*t1610+4.0*t11*t71*t1674+2.0*t759*t374-2.0*t294*t1*t1613+
2.0*t637*t148+2.0*t222*t374+4.0*t60*t1*t1688-2.0*t474*t12*t1600+4.0*t1567*t1695
-2.0*t474*t101*t1606-2.0*t11*t117*t1613;
      t1705 = t226*t1606;
      t1711 = t12*t1613;
      t1739 = -2.0*t25*t1705-2.0*t307*t68*t1600-2.0*t127*t1711-2.0*t181*t1641+
4.0*t181*t1*t1688-2.0*t102*t1705+4.0*t102*t12*t1695+4.0*t19*t71*t1674+2.0*t745*
t374+4.0*t60*t24*t18*t7*t4-2.0*t102*t1646-2.0*t60*t102*t1606;
      partial_Theta_X_wrt_partial_dd_h_12 = (t1635+t1668+t1704+t1739)*t792+(
-2.0*t894*t36+2.0*t1711+2.0*t1601-2.0*t994*t14+2.0*t1662-2.0*t868*t4)*t824;
      t1749 = t226*t377;
      t1752 = t1673*t7;
      t1755 = t1694*t7;
      t1766 = t873*t16;
      t1769 = t1673*t16;
      t1772 = t1631*t7;
      t1777 = 2.0*t181*t1749+2.0*t1481*t1752+2.0*t1524*t1755+2.0*t345*t898*t7+
t408*t244+t745*t377+2.0*t345*t894*t7+2.0*t127*t1766+2.0*t560*t1769+2.0*t1543*
t1772+2.0*t1514*t1752;
      t1782 = t117*t244;
      t1791 = t1652*t7;
      t1794 = t862*t7;
      t1803 = 2.0*t474*t994*t7+t255*t151+2.0*t102*t1782+2.0*t25*t102*t244+2.0*
t70*t894*t16+2.0*t341*t1791+2.0*t317*t1794+t759*t377+2.0*t60*t1749+t222*t377+
2.0*t307*t1752;
      t1809 = t1009*t7;
      t1819 = t112*t151;
      t1830 = 2.0*t1540*t1769+2.0*t25*t1782+2.0*t317*t1809+2.0*t1543*t1755+t328
*t244+2.0*t1465*t1755+2.0*t1476*t1752+2.0*t11*t1819+2.0*t60*t181*t377+2.0*t474*
t873*t7+2.0*t1497*t1769;
      t1834 = t1631*t16;
      t1855 = 2.0*t11*t19*t151+2.0*t1582*t1834+2.0*t1465*t1772+2.0*t1504*t1755+
2.0*t294*t862*t16+2.0*t1567*t1834+t637*t151+t625*t244+t312*t151+2.0*t19*t1819+
2.0*t1484*t1769+2.0*t1585*t1791;
      partial_Theta_X_wrt_partial_dd_h_22 = (t1777+t1803+t1830+t1855)*t792+(-
t71*t151-2.0*t1766-2.0*t1794-t101*t244-2.0*t1809-t59*t377)*t824;
      partial_Theta_Y_wrt_partial_dd_h_11 = RATIONAL(0.0,1.0);
      partial_Theta_Y_wrt_partial_dd_h_12 = RATIONAL(0.0,1.0);
      partial_Theta_Y_wrt_partial_dd_h_22 = RATIONAL(0.0,1.0);