aboutsummaryrefslogtreecommitdiff
path: root/src/gr.cg/horizon_function.c
blob: c31778c9c454968f950e0f0913d7f0217d0cfdce (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
/*
 * inputs = {r, partial_d_ln_sqrt_g, partial_d_g_uu, X_ud, X_udd, g_uu, K_uu, h, HA, HB, HC, HD, K}
 * outputs = {H, HA, HB, HC, HD}
 * cost = 136*assignments+7*divisions+7*functions+402*multiplications+176*additions
 */
fp t1, t2, t4, t5, t7, t8, t10, t11, t12, t14;
fp t16, t18, t19, t21, t23, t25, t28, t29, t30, t32;
fp t33, t35, t37, t43, t44, t47, t50, t51, t53, t55;
fp t56, t57, t58, t61, t62, t63, t64, t65, t67, t69;
fp t72, t73, t76, t78, t85, t90, t92, t94, t95, t96;
fp t99, t100, t101, t102, t105, t106, t107, t111, t114, t115;
fp t117, t118, t133, t134, t137, t138, t141, t142, t145, t146;
fp t149, t150, t158, t163, t165, t169, t170, t173, t174, t179;
fp t194, t198, t199, t204, t220, t227, t234, t237, t239, t242;
fp t247, t250, t254, t261, t262, t265, t267, t270, t273, t276;
fp t279, t292, t295, t296, t299, t306, t307, t312, t315, t318;
fp t320, t323, t333, t342, t343, t346, t349, t350, t361, t362;
fp t368, t378, t394, t413, t431, t440, t444, t447, t450, t465;
fp t490;
      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 = partial_d_g_uu_112;
      t14 = X_ud_12;
      t16 = X_ud_22;
      t18 = yy*t2-t14*t5-t16*t8;
      t19 = t12*t18;
      t21 = X_ud_11;
      t23 = X_ud_21;
      t25 = xx*t2-t21*t5-t23*t8;
      t28 = g_uu_23;
      t29 = t28*t28;
      t30 = t10*t10;
      t32 = xx*xx;
      t33 = zz*zz;
      t35 = r*r;
      t37 = 1/t35/r;
      t43 = t14*t14;
      t44 = PARTIAL_RHO_RHO(h);
      t47 = PARTIAL_RHO_SIGMA(h);
      t50 = t16*t16;
      t51 = PARTIAL_SIGMA_SIGMA(h);
      t53 = (t32+t33)*t37-X_udd_122*t5-X_udd_222*t8-t43*t44-2.0*t16*t14*t47-t50
*t51;
      t55 = g_uu_33;
      t56 = t55*t10;
      t57 = partial_d_g_uu_312;
      t58 = t57*t18;
      t61 = g_uu_22;
      t62 = t18*t18;
      t63 = t61*t62;
      t64 = partial_d_g_uu_212;
      t65 = t64*t25;
      t67 = t30*t10;
      t69 = partial_d_g_uu_233;
      t72 = t28*t10;
      t73 = t64*t18;
      t76 = t55*t55;
      t78 = yy*yy;
      t85 = t4*t4;
      t90 = t7*t7;
      t92 = (t32+t78)*t37-X_udd_133*t5-X_udd_233*t8-t85*t44-2.0*t7*t4*t47-t90*
t51;
      t94 = t61*t18;
      t95 = partial_d_g_uu_213;
      t96 = t95*t10;
      t99 = g_uu_12;
      t100 = t99*t18;
      t101 = partial_d_g_uu_113;
      t102 = t101*t10;
      t105 = t28*t18;
      t106 = partial_d_g_uu_313;
      t107 = t106*t10;
      t111 = partial_d_g_uu_133;
      t114 = t25*t25;
      t115 = t1*t114;
      t117 = -t11*t19*t25-t29*t30*t53-t56*t58*t25-t63*t65+RATIONAL(-1.0,2.0)*
t28*t67*t69-t72*t73*t25-t76*t30*t92-t94*t96*t25-t100*t102*t25-t105*t107*t25+
RATIONAL(-1.0,2.0)*t1*t67*t111-t115*t107;
      t118 = t55*t30;
      t133 = -yy*zz*t37-X_udd_123*t5-X_udd_223*t8-t14*t4*t44-t16*t4*t47-t14*t7*
t47-t16*t7*t51;
      t134 = t28*t133;
      t137 = partial_d_g_uu_111;
      t138 = t137*t114;
      t141 = partial_d_g_uu_311;
      t142 = t141*t114;
      t145 = partial_d_g_uu_211;
      t146 = t145*t114;
      t149 = g_uu_11;
      t150 = t149*t149;
      t158 = t21*t21;
      t163 = t23*t23;
      t165 = (t78+t33)*t37-X_udd_111*t5-X_udd_211*t8-t158*t44-2.0*t23*t21*t47-
t163*t51;
      t169 = t99*t25;
      t170 = t69*t30;
      t173 = t149*t25;
      t174 = t111*t30;
      t179 = t99*t114;
      t194 = -xx*yy*t37-X_udd_112*t5-X_udd_212*t8-t21*t14*t44-t23*t14*t47-t21*
t16*t47-t23*t16*t51;
      t198 = partial_d_g_uu_333;
      t199 = t198*t30;
      t204 = -2.0*t118*t134+RATIONAL(-1.0,2.0)*t11*t138+RATIONAL(-1.0,2.0)*t105
*t142+RATIONAL(-1.0,2.0)*t94*t146-t150*t114*t165+RATIONAL(-1.0,2.0)*t100*t138+
RATIONAL(-1.0,2.0)*t169*t170+RATIONAL(-1.0,2.0)*t173*t174+RATIONAL(-1.0,2.0)*
t100*t174-2.0*t179*t149*t194+RATIONAL(-1.0,2.0)*t105*t199+RATIONAL(-1.0,2.0)*
t94*t170;
      t220 = -xx*zz*t37-X_udd_113*t5-X_udd_213*t8-t21*t4*t44-t23*t4*t47-t21*t7*
t47-t23*t7*t51;
      t227 = t99*t194;
      t234 = t99*t99;
      t237 = t149*t114;
      t239 = t28*t30;
      t242 = t1*t1;
      t247 = t61*t61;
      t250 = t28*t62;
      t254 = -2.0*t115*t149*t220-2.0*t115*t99*t133-2.0*t63*t227+RATIONAL(-1.0,
2.0)*t72*t146+RATIONAL(-1.0,2.0)*t56*t142-t234*t114*t53-t237*t19-t239*t95*t25-
t242*t114*t92-t234*t62*t165-t247*t62*t53-2.0*t250*t99*t220;
      t261 = partial_d_g_uu_222;
      t262 = t261*t62;
      t265 = t106*t25;
      t267 = t1*t30;
      t270 = t169*t53;
      t273 = t173*t220;
      t276 = t173*t165;
      t279 = t114*t25;
      t292 = -2.0*t234*t18*t25*t194-t179*t96-t237*t102+RATIONAL(-1.0,2.0)*t169*
t262-t118*t265-t267*t101*t25-2.0*t94*t270-2.0*t105*t273-2.0*t100*t276+RATIONAL(
-1.0,2.0)*t149*t279*t137+RATIONAL(-1.0,2.0)*t99*t279*t145+RATIONAL(-1.0,2.0)*
t55*t67*t198+RATIONAL(-1.0,2.0)*t1*t279*t141;
      t295 = partial_d_g_uu_122;
      t296 = t295*t62;
      t299 = t173*t194;
      t306 = t1*t25;
      t307 = t306*t133;
      t312 = t169*t133;
      t315 = t306*t92;
      t318 = t62*t18;
      t320 = partial_d_g_uu_322;
      t323 = t320*t62;
      t333 = RATIONAL(-1.0,2.0)*t173*t296-2.0*t94*t299-2.0*t242*t10*t25*t220
-2.0*t72*t307-t250*t57*t25-2.0*t56*t312-2.0*t56*t315+RATIONAL(-1.0,2.0)*t28*
t318*t320+RATIONAL(-1.0,2.0)*t306*t323+RATIONAL(-1.0,2.0)*t99*t318*t295-2.0*t72
*t270+RATIONAL(-1.0,2.0)*t56*t323;
      t342 = partial_d_g_uu_223;
      t343 = t342*t10;
      t346 = t99*t62;
      t349 = partial_d_g_uu_323;
      t350 = t349*t10;
      t361 = partial_d_g_uu_123;
      t362 = t361*t10;
      t368 = -t179*t73+RATIONAL(-1.0,2.0)*t61*t318*t261-2.0*t56*t273-2.0*t72*
t299-t169*t343*t18-t346*t12*t25-t306*t350*t18-2.0*t11*t276-2.0*t94*t307-2.0*
t105*t315+RATIONAL(-1.0,2.0)*t11*t296-t346*t362-2.0*t29*t10*t18*t133;
      t378 = t349*t18;
      t394 = RATIONAL(-1.0,2.0)*t72*t262-t63*t343-t250*t350-t239*t342*t18-t267*
t361*t18-t118*t378+RATIONAL(-1.0,2.0)*t306*t199-t173*t362*t18-2.0*t105*t312-2.0
*t100*t306*t220-2.0*t250*t61*t133-t29*t62*t92;
      t413 = t1*t220;
      t431 = -2.0*t56*t94*t133-2.0*t56*t105*t92-t115*t58-2.0*t11*t169*t194-t242
*t30*t165-2.0*t11*t100*t165-2.0*t239*t1*t194-2.0*t118*t413-2.0*t11*t105*t220
-2.0*t72*t94*t53-2.0*t11*t94*t194-2.0*t56*t100*t220-2.0*t72*t100*t194;
      HA = t117+t204+t254+t292+t333+t368+t394+t431;
      t440 = t137*t25+t65+t265+t19+t261*t18+t378+t102+t343+t198*t10+t149*t165+
2.0*t227+2.0*t413;
      t444 = partial_d_ln_sqrt_g_1;
      t447 = partial_d_ln_sqrt_g_2;
      t450 = partial_d_ln_sqrt_g_3;
      t465 = t61*t53+2.0*t134+t55*t92+t149*t444*t25+t99*t447*t25+t1*t450*t25+
t99*t444*t18+t61*t447*t18+t28*t450*t18+t1*t444*t10+t28*t447*t10+t55*t450*t10;
      HB = t440+t465;
      HC = K_uu_11*t114+2.0*K_uu_12*t18*t25+2.0*K_uu_13*t10*t25+K_uu_22*t62+2.0
*K_uu_23*t10*t18+K_uu_33*t30;
      HD = t237+2.0*t100*t25+2.0*t11*t25+t63+2.0*t72*t18+t118;
      t490 = pow(HD,1.0*RATIONAL(1.0,2.0));
      H = HA/t490/HD+HB/t490+HC/HD-K;