Graphite Version 3
An experimental 3D geometry processing program
Loading...
Searching...
No Matches
side4.h
1/* Automatically generated code, do not edit */
2/* Generated from source file: side4.pck */
3
4inline int side4_3d_filter( const double* p0, const double* p1, const double* p2, const double* p3, const double* p4) {
5 double a11;
6 a11 = (p1[0] - p0[0]);
7 double a12;
8 a12 = (p1[1] - p0[1]);
9 double a13;
10 a13 = (p1[2] - p0[2]);
11 double p1_0_p0_0 = (p1[0] - p0[0]);
12 double p1_1_p0_1 = (p1[1] - p0[1]);
13 double p1_2_p0_2 = (p1[2] - p0[2]);
14 double a14;
15 a14 = -(((p1_0_p0_0 * p1_0_p0_0) + (p1_1_p0_1 * p1_1_p0_1)) + (p1_2_p0_2 * p1_2_p0_2));
16 double a21;
17 a21 = (p2[0] - p0[0]);
18 double a22;
19 a22 = (p2[1] - p0[1]);
20 double a23;
21 a23 = (p2[2] - p0[2]);
22 double p2_0_p0_0 = (p2[0] - p0[0]);
23 double p2_1_p0_1 = (p2[1] - p0[1]);
24 double p2_2_p0_2 = (p2[2] - p0[2]);
25 double a24;
26 a24 = -(((p2_0_p0_0 * p2_0_p0_0) + (p2_1_p0_1 * p2_1_p0_1)) + (p2_2_p0_2 * p2_2_p0_2));
27 double a31;
28 a31 = (p3[0] - p0[0]);
29 double a32;
30 a32 = (p3[1] - p0[1]);
31 double a33;
32 a33 = (p3[2] - p0[2]);
33 double p3_0_p0_0 = (p3[0] - p0[0]);
34 double p3_1_p0_1 = (p3[1] - p0[1]);
35 double p3_2_p0_2 = (p3[2] - p0[2]);
36 double a34;
37 a34 = -(((p3_0_p0_0 * p3_0_p0_0) + (p3_1_p0_1 * p3_1_p0_1)) + (p3_2_p0_2 * p3_2_p0_2));
38 double a41;
39 a41 = (p4[0] - p0[0]);
40 double a42;
41 a42 = (p4[1] - p0[1]);
42 double a43;
43 a43 = (p4[2] - p0[2]);
44 double p4_0_p0_0 = (p4[0] - p0[0]);
45 double p4_1_p0_1 = (p4[1] - p0[1]);
46 double p4_2_p0_2 = (p4[2] - p0[2]);
47 double a44;
48 a44 = -(((p4_0_p0_0 * p4_0_p0_0) + (p4_1_p0_1 * p4_1_p0_1)) + (p4_2_p0_2 * p4_2_p0_2));
49 double Delta1;
50 Delta1 = (((a21 * ((a32 * a43) - (a33 * a42))) - (a31 * ((a22 * a43) - (a23 * a42)))) + (a41 * ((a22 * a33) - (a23 * a32))));
51 double Delta2;
52 Delta2 = (((a11 * ((a32 * a43) - (a33 * a42))) - (a31 * ((a12 * a43) - (a13 * a42)))) + (a41 * ((a12 * a33) - (a13 * a32))));
53 double Delta3;
54 Delta3 = (((a11 * ((a22 * a43) - (a23 * a42))) - (a21 * ((a12 * a43) - (a13 * a42)))) + (a41 * ((a12 * a23) - (a13 * a22))));
55 double Delta4;
56 Delta4 = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22))));
57 double r;
58 r = ((((Delta1 * a14) - (Delta2 * a24)) + (Delta3 * a34)) - (Delta4 * a44));
59 double eps;
60 double max1 = fabs(a11);
61 if( (max1 < fabs(a21)) )
62 {
63 max1 = fabs(a21);
64 }
65 if( (max1 < fabs(a31)) )
66 {
67 max1 = fabs(a31);
68 }
69 double max2 = fabs(a12);
70 if( (max2 < fabs(a13)) )
71 {
72 max2 = fabs(a13);
73 }
74 if( (max2 < fabs(a22)) )
75 {
76 max2 = fabs(a22);
77 }
78 if( (max2 < fabs(a23)) )
79 {
80 max2 = fabs(a23);
81 }
82 double max3 = fabs(a22);
83 if( (max3 < fabs(a23)) )
84 {
85 max3 = fabs(a23);
86 }
87 if( (max3 < fabs(a32)) )
88 {
89 max3 = fabs(a32);
90 }
91 if( (max3 < fabs(a33)) )
92 {
93 max3 = fabs(a33);
94 }
95 double lower_bound_1;
96 double upper_bound_1;
97 int Delta4_sign;
98 int int_tmp_result;
99 lower_bound_1 = max1;
100 upper_bound_1 = max1;
101 if( (max3 < lower_bound_1) )
102 {
103 lower_bound_1 = max3;
104 }
105 else
106 {
107 if( (max3 > upper_bound_1) )
108 {
109 upper_bound_1 = max3;
110 }
111 }
112 if( (max2 < lower_bound_1) )
113 {
114 lower_bound_1 = max2;
115 }
116 else
117 {
118 if( (max2 > upper_bound_1) )
119 {
120 upper_bound_1 = max2;
121 }
122 }
123 if( (lower_bound_1 < 1.63288018496748314939e-98) )
124 {
125 return FPG_UNCERTAIN_VALUE;
126 }
127 else
128 {
129 if( (upper_bound_1 > 3.21387608851797948065e+60) )
130 {
131 return FPG_UNCERTAIN_VALUE;
132 }
133 eps = (5.11071278299732992696e-15 * ((max2 * max3) * max1));
134 if( (Delta4 > eps) )
135 {
136 int_tmp_result = 1;
137 }
138 else
139 {
140 if( (Delta4 < -eps) )
141 {
142 int_tmp_result = -1;
143 }
144 else
145 {
146 return FPG_UNCERTAIN_VALUE;
147 }
148 }
149 }
150 Delta4_sign = int_tmp_result;
151 int int_tmp_result_FFWKCAA;
152 double max4 = max1;
153 if( (max4 < fabs(a41)) )
154 {
155 max4 = fabs(a41);
156 }
157 double max5 = max3;
158 if( (max5 < max2) )
159 {
160 max5 = max2;
161 }
162 double max6 = max3;
163 if( (max6 < fabs(a42)) )
164 {
165 max6 = fabs(a42);
166 }
167 if( (max6 < fabs(a43)) )
168 {
169 max6 = fabs(a43);
170 }
171 double max7 = fabs(p1_0_p0_0);
172 if( (max7 < fabs(p1_1_p0_1)) )
173 {
174 max7 = fabs(p1_1_p0_1);
175 }
176 if( (max7 < fabs(p1_2_p0_2)) )
177 {
178 max7 = fabs(p1_2_p0_2);
179 }
180 if( (max7 < fabs(p2_0_p0_0)) )
181 {
182 max7 = fabs(p2_0_p0_0);
183 }
184 if( (max7 < fabs(p2_2_p0_2)) )
185 {
186 max7 = fabs(p2_2_p0_2);
187 }
188 if( (max7 < fabs(p2_1_p0_1)) )
189 {
190 max7 = fabs(p2_1_p0_1);
191 }
192 if( (max7 < fabs(p3_0_p0_0)) )
193 {
194 max7 = fabs(p3_0_p0_0);
195 }
196 if( (max7 < fabs(p3_1_p0_1)) )
197 {
198 max7 = fabs(p3_1_p0_1);
199 }
200 if( (max7 < fabs(p3_2_p0_2)) )
201 {
202 max7 = fabs(p3_2_p0_2);
203 }
204 if( (max7 < fabs(p4_0_p0_0)) )
205 {
206 max7 = fabs(p4_0_p0_0);
207 }
208 if( (max7 < fabs(p4_1_p0_1)) )
209 {
210 max7 = fabs(p4_1_p0_1);
211 }
212 if( (max7 < fabs(p4_2_p0_2)) )
213 {
214 max7 = fabs(p4_2_p0_2);
215 }
216 lower_bound_1 = max7;
217 upper_bound_1 = max7;
218 if( (max4 < lower_bound_1) )
219 {
220 lower_bound_1 = max4;
221 }
222 else
223 {
224 if( (max4 > upper_bound_1) )
225 {
226 upper_bound_1 = max4;
227 }
228 }
229 if( (max5 < lower_bound_1) )
230 {
231 lower_bound_1 = max5;
232 }
233 else
234 {
235 if( (max5 > upper_bound_1) )
236 {
237 upper_bound_1 = max5;
238 }
239 }
240 if( (max6 < lower_bound_1) )
241 {
242 lower_bound_1 = max6;
243 }
244 else
245 {
246 if( (max6 > upper_bound_1) )
247 {
248 upper_bound_1 = max6;
249 }
250 }
251 if( (lower_bound_1 < 1.12285198342304832993e-59) )
252 {
253 return FPG_UNCERTAIN_VALUE;
254 }
255 else
256 {
257 if( (upper_bound_1 > 3.21387608851797948065e+60) )
258 {
259 return FPG_UNCERTAIN_VALUE;
260 }
261 eps = (1.24661365310273025710e-13 * ((((max5 * max6) * max4) * max7) * max7));
262 if( (r > eps) )
263 {
264 int_tmp_result_FFWKCAA = 1;
265 }
266 else
267 {
268 if( (r < -eps) )
269 {
270 int_tmp_result_FFWKCAA = -1;
271 }
272 else
273 {
274 return FPG_UNCERTAIN_VALUE;
275 }
276 }
277 }
278 return (Delta4_sign * int_tmp_result_FFWKCAA);
279}
280
281
282inline int side4_4d_filter( const double* p0, const double* p1, const double* p2, const double* p3, const double* p4, const double* q0, const double* q1, const double* q2, const double* q3) {
283 double p1_0_p0_0 = (p1[0] - p0[0]);
284 double p1_1_p0_1 = (p1[1] - p0[1]);
285 double p1_2_p0_2 = (p1[2] - p0[2]);
286 double p1_3_p0_3 = (p1[3] - p0[3]);
287 double l1;
288 l1 = (1 * ((((p1_0_p0_0 * p1_0_p0_0) + (p1_1_p0_1 * p1_1_p0_1)) + (p1_2_p0_2 * p1_2_p0_2)) + (p1_3_p0_3 * p1_3_p0_3)));
289 double p2_0_p0_0 = (p2[0] - p0[0]);
290 double p2_1_p0_1 = (p2[1] - p0[1]);
291 double p2_2_p0_2 = (p2[2] - p0[2]);
292 double p2_3_p0_3 = (p2[3] - p0[3]);
293 double l2;
294 l2 = (1 * ((((p2_0_p0_0 * p2_0_p0_0) + (p2_1_p0_1 * p2_1_p0_1)) + (p2_2_p0_2 * p2_2_p0_2)) + (p2_3_p0_3 * p2_3_p0_3)));
295 double p3_0_p0_0 = (p3[0] - p0[0]);
296 double p3_1_p0_1 = (p3[1] - p0[1]);
297 double p3_2_p0_2 = (p3[2] - p0[2]);
298 double p3_3_p0_3 = (p3[3] - p0[3]);
299 double l3;
300 l3 = (1 * ((((p3_0_p0_0 * p3_0_p0_0) + (p3_1_p0_1 * p3_1_p0_1)) + (p3_2_p0_2 * p3_2_p0_2)) + (p3_3_p0_3 * p3_3_p0_3)));
301 double p4_0_p0_0 = (p4[0] - p0[0]);
302 double p4_1_p0_1 = (p4[1] - p0[1]);
303 double p4_2_p0_2 = (p4[2] - p0[2]);
304 double p4_3_p0_3 = (p4[3] - p0[3]);
305 double l4;
306 l4 = (1 * ((((p4_0_p0_0 * p4_0_p0_0) + (p4_1_p0_1 * p4_1_p0_1)) + (p4_2_p0_2 * p4_2_p0_2)) + (p4_3_p0_3 * p4_3_p0_3)));
307 double q0_0_p0_0 = (q0[0] - p0[0]);
308 double q0_1_p0_1 = (q0[1] - p0[1]);
309 double q0_2_p0_2 = (q0[2] - p0[2]);
310 double q0_3_p0_3 = (q0[3] - p0[3]);
311 double a10;
312 a10 = (2 * ((((p1_0_p0_0 * q0_0_p0_0) + (p1_1_p0_1 * q0_1_p0_1)) + (p1_2_p0_2 * q0_2_p0_2)) + (p1_3_p0_3 * q0_3_p0_3)));
313 double q1_0_p0_0 = (q1[0] - p0[0]);
314 double q1_1_p0_1 = (q1[1] - p0[1]);
315 double q1_2_p0_2 = (q1[2] - p0[2]);
316 double q1_3_p0_3 = (q1[3] - p0[3]);
317 double a11;
318 a11 = (2 * ((((p1_0_p0_0 * q1_0_p0_0) + (p1_1_p0_1 * q1_1_p0_1)) + (p1_2_p0_2 * q1_2_p0_2)) + (p1_3_p0_3 * q1_3_p0_3)));
319 double q2_0_p0_0 = (q2[0] - p0[0]);
320 double q2_1_p0_1 = (q2[1] - p0[1]);
321 double q2_2_p0_2 = (q2[2] - p0[2]);
322 double q2_3_p0_3 = (q2[3] - p0[3]);
323 double a12;
324 a12 = (2 * ((((p1_0_p0_0 * q2_0_p0_0) + (p1_1_p0_1 * q2_1_p0_1)) + (p1_2_p0_2 * q2_2_p0_2)) + (p1_3_p0_3 * q2_3_p0_3)));
325 double q3_0_p0_0 = (q3[0] - p0[0]);
326 double q3_1_p0_1 = (q3[1] - p0[1]);
327 double q3_2_p0_2 = (q3[2] - p0[2]);
328 double q3_3_p0_3 = (q3[3] - p0[3]);
329 double a13;
330 a13 = (2 * ((((p1_0_p0_0 * q3_0_p0_0) + (p1_1_p0_1 * q3_1_p0_1)) + (p1_2_p0_2 * q3_2_p0_2)) + (p1_3_p0_3 * q3_3_p0_3)));
331 double a20;
332 a20 = (2 * ((((p2_0_p0_0 * q0_0_p0_0) + (p2_1_p0_1 * q0_1_p0_1)) + (p2_2_p0_2 * q0_2_p0_2)) + (p2_3_p0_3 * q0_3_p0_3)));
333 double a21;
334 a21 = (2 * ((((p2_0_p0_0 * q1_0_p0_0) + (p2_1_p0_1 * q1_1_p0_1)) + (p2_2_p0_2 * q1_2_p0_2)) + (p2_3_p0_3 * q1_3_p0_3)));
335 double a22;
336 a22 = (2 * ((((p2_0_p0_0 * q2_0_p0_0) + (p2_1_p0_1 * q2_1_p0_1)) + (p2_2_p0_2 * q2_2_p0_2)) + (p2_3_p0_3 * q2_3_p0_3)));
337 double a23;
338 a23 = (2 * ((((p2_0_p0_0 * q3_0_p0_0) + (p2_1_p0_1 * q3_1_p0_1)) + (p2_2_p0_2 * q3_2_p0_2)) + (p2_3_p0_3 * q3_3_p0_3)));
339 double a30;
340 a30 = (2 * ((((p3_0_p0_0 * q0_0_p0_0) + (p3_1_p0_1 * q0_1_p0_1)) + (p3_2_p0_2 * q0_2_p0_2)) + (p3_3_p0_3 * q0_3_p0_3)));
341 double a31;
342 a31 = (2 * ((((p3_0_p0_0 * q1_0_p0_0) + (p3_1_p0_1 * q1_1_p0_1)) + (p3_2_p0_2 * q1_2_p0_2)) + (p3_3_p0_3 * q1_3_p0_3)));
343 double a32;
344 a32 = (2 * ((((p3_0_p0_0 * q2_0_p0_0) + (p3_1_p0_1 * q2_1_p0_1)) + (p3_2_p0_2 * q2_2_p0_2)) + (p3_3_p0_3 * q2_3_p0_3)));
345 double a33;
346 a33 = (2 * ((((p3_0_p0_0 * q3_0_p0_0) + (p3_1_p0_1 * q3_1_p0_1)) + (p3_2_p0_2 * q3_2_p0_2)) + (p3_3_p0_3 * q3_3_p0_3)));
347 double a40;
348 a40 = (2 * ((((p4_0_p0_0 * q0_0_p0_0) + (p4_1_p0_1 * q0_1_p0_1)) + (p4_2_p0_2 * q0_2_p0_2)) + (p4_3_p0_3 * q0_3_p0_3)));
349 double a41;
350 a41 = (2 * ((((p4_0_p0_0 * q1_0_p0_0) + (p4_1_p0_1 * q1_1_p0_1)) + (p4_2_p0_2 * q1_2_p0_2)) + (p4_3_p0_3 * q1_3_p0_3)));
351 double a42;
352 a42 = (2 * ((((p4_0_p0_0 * q2_0_p0_0) + (p4_1_p0_1 * q2_1_p0_1)) + (p4_2_p0_2 * q2_2_p0_2)) + (p4_3_p0_3 * q2_3_p0_3)));
353 double a43;
354 a43 = (2 * ((((p4_0_p0_0 * q3_0_p0_0) + (p4_1_p0_1 * q3_1_p0_1)) + (p4_2_p0_2 * q3_2_p0_2)) + (p4_3_p0_3 * q3_3_p0_3)));
355 double b00;
356 b00 = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22))));
357 double b01;
358 b01 = -((((a22 * a33) - (a23 * a32)) + ((a23 * a31) - (a21 * a33))) + ((a21 * a32) - (a22 * a31)));
359 double b02;
360 b02 = ((((a12 * a33) - (a13 * a32)) + ((a13 * a31) - (a11 * a33))) + ((a11 * a32) - (a12 * a31)));
361 double b03;
362 b03 = -((((a12 * a23) - (a13 * a22)) + ((a13 * a21) - (a11 * a23))) + ((a11 * a22) - (a12 * a21)));
363 double b10;
364 b10 = -(((a10 * ((a22 * a33) - (a23 * a32))) - (a20 * ((a12 * a33) - (a13 * a32)))) + (a30 * ((a12 * a23) - (a13 * a22))));
365 double b11;
366 b11 = ((((a22 * a33) - (a23 * a32)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a32) - (a22 * a30)));
367 double b12;
368 b12 = -((((a12 * a33) - (a13 * a32)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a32) - (a12 * a30)));
369 double b13;
370 b13 = ((((a12 * a23) - (a13 * a22)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a22) - (a12 * a20)));
371 double b20;
372 b20 = (((a10 * ((a21 * a33) - (a23 * a31))) - (a20 * ((a11 * a33) - (a13 * a31)))) + (a30 * ((a11 * a23) - (a13 * a21))));
373 double b21;
374 b21 = -((((a21 * a33) - (a23 * a31)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a31) - (a21 * a30)));
375 double b22;
376 b22 = ((((a11 * a33) - (a13 * a31)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a31) - (a11 * a30)));
377 double b23;
378 b23 = -((((a11 * a23) - (a13 * a21)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a21) - (a11 * a20)));
379 double b30;
380 b30 = -(((a10 * ((a21 * a32) - (a22 * a31))) - (a20 * ((a11 * a32) - (a12 * a31)))) + (a30 * ((a11 * a22) - (a12 * a21))));
381 double b31;
382 b31 = ((((a21 * a32) - (a22 * a31)) + ((a22 * a30) - (a20 * a32))) + ((a20 * a31) - (a21 * a30)));
383 double b32;
384 b32 = -((((a11 * a32) - (a12 * a31)) + ((a12 * a30) - (a10 * a32))) + ((a10 * a31) - (a11 * a30)));
385 double b33;
386 b33 = ((((a11 * a22) - (a12 * a21)) + ((a12 * a20) - (a10 * a22))) + ((a10 * a21) - (a11 * a20)));
387 double Delta;
388 Delta = (((b00 + b10) + b20) + b30);
389 double DeltaLambda0;
390 DeltaLambda0 = ((((b01 * l1) + (b02 * l2)) + (b03 * l3)) + b00);
391 double DeltaLambda1;
392 DeltaLambda1 = ((((b11 * l1) + (b12 * l2)) + (b13 * l3)) + b10);
393 double DeltaLambda2;
394 DeltaLambda2 = ((((b21 * l1) + (b22 * l2)) + (b23 * l3)) + b20);
395 double DeltaLambda3;
396 DeltaLambda3 = ((((b31 * l1) + (b32 * l2)) + (b33 * l3)) + b30);
397 double r;
398 r = ((Delta * l4) - ((((a40 * DeltaLambda0) + (a41 * DeltaLambda1)) + (a42 * DeltaLambda2)) + (a43 * DeltaLambda3)));
399 double eps;
400 double max1 = fabs(p1_3_p0_3);
401 if( (max1 < fabs(p1_0_p0_0)) )
402 {
403 max1 = fabs(p1_0_p0_0);
404 }
405 if( (max1 < fabs(p1_1_p0_1)) )
406 {
407 max1 = fabs(p1_1_p0_1);
408 }
409 if( (max1 < fabs(p1_2_p0_2)) )
410 {
411 max1 = fabs(p1_2_p0_2);
412 }
413 double max2 = fabs(p2_2_p0_2);
414 if( (max2 < fabs(p2_1_p0_1)) )
415 {
416 max2 = fabs(p2_1_p0_1);
417 }
418 if( (max2 < fabs(p2_3_p0_3)) )
419 {
420 max2 = fabs(p2_3_p0_3);
421 }
422 if( (max2 < fabs(p2_0_p0_0)) )
423 {
424 max2 = fabs(p2_0_p0_0);
425 }
426 double max3 = fabs(p3_0_p0_0);
427 if( (max3 < fabs(p3_1_p0_1)) )
428 {
429 max3 = fabs(p3_1_p0_1);
430 }
431 if( (max3 < fabs(p3_3_p0_3)) )
432 {
433 max3 = fabs(p3_3_p0_3);
434 }
435 if( (max3 < fabs(p3_2_p0_2)) )
436 {
437 max3 = fabs(p3_2_p0_2);
438 }
439 double max4 = fabs(q0_3_p0_3);
440 if( (max4 < fabs(q0_0_p0_0)) )
441 {
442 max4 = fabs(q0_0_p0_0);
443 }
444 if( (max4 < fabs(q0_1_p0_1)) )
445 {
446 max4 = fabs(q0_1_p0_1);
447 }
448 if( (max4 < fabs(q0_2_p0_2)) )
449 {
450 max4 = fabs(q0_2_p0_2);
451 }
452 if( (max4 < fabs(q1_0_p0_0)) )
453 {
454 max4 = fabs(q1_0_p0_0);
455 }
456 if( (max4 < fabs(q1_1_p0_1)) )
457 {
458 max4 = fabs(q1_1_p0_1);
459 }
460 if( (max4 < fabs(q1_2_p0_2)) )
461 {
462 max4 = fabs(q1_2_p0_2);
463 }
464 if( (max4 < fabs(q1_3_p0_3)) )
465 {
466 max4 = fabs(q1_3_p0_3);
467 }
468 double max5 = fabs(q1_0_p0_0);
469 if( (max5 < fabs(q1_1_p0_1)) )
470 {
471 max5 = fabs(q1_1_p0_1);
472 }
473 if( (max5 < fabs(q1_2_p0_2)) )
474 {
475 max5 = fabs(q1_2_p0_2);
476 }
477 if( (max5 < fabs(q1_3_p0_3)) )
478 {
479 max5 = fabs(q1_3_p0_3);
480 }
481 if( (max5 < fabs(q2_0_p0_0)) )
482 {
483 max5 = fabs(q2_0_p0_0);
484 }
485 if( (max5 < fabs(q2_1_p0_1)) )
486 {
487 max5 = fabs(q2_1_p0_1);
488 }
489 if( (max5 < fabs(q2_2_p0_2)) )
490 {
491 max5 = fabs(q2_2_p0_2);
492 }
493 if( (max5 < fabs(q2_3_p0_3)) )
494 {
495 max5 = fabs(q2_3_p0_3);
496 }
497 double max6 = fabs(q2_0_p0_0);
498 if( (max6 < fabs(q2_1_p0_1)) )
499 {
500 max6 = fabs(q2_1_p0_1);
501 }
502 if( (max6 < fabs(q2_2_p0_2)) )
503 {
504 max6 = fabs(q2_2_p0_2);
505 }
506 if( (max6 < fabs(q2_3_p0_3)) )
507 {
508 max6 = fabs(q2_3_p0_3);
509 }
510 if( (max6 < fabs(q3_0_p0_0)) )
511 {
512 max6 = fabs(q3_0_p0_0);
513 }
514 if( (max6 < fabs(q3_1_p0_1)) )
515 {
516 max6 = fabs(q3_1_p0_1);
517 }
518 if( (max6 < fabs(q3_2_p0_2)) )
519 {
520 max6 = fabs(q3_2_p0_2);
521 }
522 if( (max6 < fabs(q3_3_p0_3)) )
523 {
524 max6 = fabs(q3_3_p0_3);
525 }
526 double lower_bound_1;
527 double upper_bound_1;
528 int Delta_sign;
529 int int_tmp_result;
530 lower_bound_1 = max1;
531 upper_bound_1 = max1;
532 if( (max2 < lower_bound_1) )
533 {
534 lower_bound_1 = max2;
535 }
536 else
537 {
538 if( (max2 > upper_bound_1) )
539 {
540 upper_bound_1 = max2;
541 }
542 }
543 if( (max3 < lower_bound_1) )
544 {
545 lower_bound_1 = max3;
546 }
547 else
548 {
549 if( (max3 > upper_bound_1) )
550 {
551 upper_bound_1 = max3;
552 }
553 }
554 if( (max4 < lower_bound_1) )
555 {
556 lower_bound_1 = max4;
557 }
558 else
559 {
560 if( (max4 > upper_bound_1) )
561 {
562 upper_bound_1 = max4;
563 }
564 }
565 if( (max5 < lower_bound_1) )
566 {
567 lower_bound_1 = max5;
568 }
569 else
570 {
571 if( (max5 > upper_bound_1) )
572 {
573 upper_bound_1 = max5;
574 }
575 }
576 if( (max6 < lower_bound_1) )
577 {
578 lower_bound_1 = max6;
579 }
580 else
581 {
582 if( (max6 > upper_bound_1) )
583 {
584 upper_bound_1 = max6;
585 }
586 }
587 if( (lower_bound_1 < 4.14607644401726239868e-50) )
588 {
589 return FPG_UNCERTAIN_VALUE;
590 }
591 else
592 {
593 if( (upper_bound_1 > 4.83570327845851562508e+24) )
594 {
595 return FPG_UNCERTAIN_VALUE;
596 }
597 eps = (4.38046888801178809320e-12 * (((((max1 * max4) * max2) * max5) * max3) * max6));
598 if( (Delta > eps) )
599 {
600 int_tmp_result = 1;
601 }
602 else
603 {
604 if( (Delta < -eps) )
605 {
606 int_tmp_result = -1;
607 }
608 else
609 {
610 return FPG_UNCERTAIN_VALUE;
611 }
612 }
613 }
614 Delta_sign = int_tmp_result;
615 int int_tmp_result_FFWKCAA;
616 double max7 = max1;
617 if( (max7 < max2) )
618 {
619 max7 = max2;
620 }
621 if( (max7 < max3) )
622 {
623 max7 = max3;
624 }
625 if( (max7 < max6) )
626 {
627 max7 = max6;
628 }
629 double max8 = max1;
630 if( (max8 < fabs(p4_1_p0_1)) )
631 {
632 max8 = fabs(p4_1_p0_1);
633 }
634 if( (max8 < fabs(p4_2_p0_2)) )
635 {
636 max8 = fabs(p4_2_p0_2);
637 }
638 if( (max8 < fabs(p4_0_p0_0)) )
639 {
640 max8 = fabs(p4_0_p0_0);
641 }
642 if( (max8 < fabs(p4_3_p0_3)) )
643 {
644 max8 = fabs(p4_3_p0_3);
645 }
646 if( (max7 < max8) )
647 {
648 max7 = max8;
649 }
650 double max9 = max1;
651 if( (max9 < max5) )
652 {
653 max9 = max5;
654 }
655 if( (max9 < max8) )
656 {
657 max9 = max8;
658 }
659 double max10;
660 double max11 = max4;
661 if( (max11 < max5) )
662 {
663 max11 = max5;
664 }
665 max10 = max11;
666 if( (max10 < max1) )
667 {
668 max10 = max1;
669 }
670 if( (max10 < max4) )
671 {
672 max10 = max4;
673 }
674 if( (max10 < max5) )
675 {
676 max10 = max5;
677 }
678 if( (max10 < max6) )
679 {
680 max10 = max6;
681 }
682 lower_bound_1 = max10;
683 upper_bound_1 = max10;
684 if( (max11 < lower_bound_1) )
685 {
686 lower_bound_1 = max11;
687 }
688 else
689 {
690 if( (max11 > upper_bound_1) )
691 {
692 upper_bound_1 = max11;
693 }
694 }
695 if( (max2 < lower_bound_1) )
696 {
697 lower_bound_1 = max2;
698 }
699 if( (max3 < lower_bound_1) )
700 {
701 lower_bound_1 = max3;
702 }
703 if( (max7 < lower_bound_1) )
704 {
705 lower_bound_1 = max7;
706 }
707 else
708 {
709 if( (max7 > upper_bound_1) )
710 {
711 upper_bound_1 = max7;
712 }
713 }
714 if( (max8 < lower_bound_1) )
715 {
716 lower_bound_1 = max8;
717 }
718 if( (max9 < lower_bound_1) )
719 {
720 lower_bound_1 = max9;
721 }
722 else
723 {
724 if( (max9 > upper_bound_1) )
725 {
726 upper_bound_1 = max9;
727 }
728 }
729 if( (lower_bound_1 < 6.06263132863556750071e-38) )
730 {
731 return FPG_UNCERTAIN_VALUE;
732 }
733 else
734 {
735 if( (upper_bound_1 > 4.83570327845851562508e+24) )
736 {
737 return FPG_UNCERTAIN_VALUE;
738 }
739 eps = (1.21914442286604163181e-10 * (((((((max8 * max11) * max2) * max10) * max3) * max10) * max9) * max7));
740 if( (r > eps) )
741 {
742 int_tmp_result_FFWKCAA = 1;
743 }
744 else
745 {
746 if( (r < -eps) )
747 {
748 int_tmp_result_FFWKCAA = -1;
749 }
750 else
751 {
752 return FPG_UNCERTAIN_VALUE;
753 }
754 }
755 }
756 return (Delta_sign * int_tmp_result_FFWKCAA);
757}
758
759
760inline int side4_6d_filter( const double* p0, const double* p1, const double* p2, const double* p3, const double* p4, const double* q0, const double* q1, const double* q2, const double* q3) {
761 double p1_0_p0_0 = (p1[0] - p0[0]);
762 double p1_1_p0_1 = (p1[1] - p0[1]);
763 double p1_2_p0_2 = (p1[2] - p0[2]);
764 double p1_3_p0_3 = (p1[3] - p0[3]);
765 double p1_4_p0_4 = (p1[4] - p0[4]);
766 double p1_5_p0_5 = (p1[5] - p0[5]);
767 double l1;
768 l1 = (1 * ((((((p1_0_p0_0 * p1_0_p0_0) + (p1_1_p0_1 * p1_1_p0_1)) + (p1_2_p0_2 * p1_2_p0_2)) + (p1_3_p0_3 * p1_3_p0_3)) + (p1_4_p0_4 * p1_4_p0_4)) + (p1_5_p0_5 * p1_5_p0_5)));
769 double p2_0_p0_0 = (p2[0] - p0[0]);
770 double p2_1_p0_1 = (p2[1] - p0[1]);
771 double p2_2_p0_2 = (p2[2] - p0[2]);
772 double p2_3_p0_3 = (p2[3] - p0[3]);
773 double p2_4_p0_4 = (p2[4] - p0[4]);
774 double p2_5_p0_5 = (p2[5] - p0[5]);
775 double l2;
776 l2 = (1 * ((((((p2_0_p0_0 * p2_0_p0_0) + (p2_1_p0_1 * p2_1_p0_1)) + (p2_2_p0_2 * p2_2_p0_2)) + (p2_3_p0_3 * p2_3_p0_3)) + (p2_4_p0_4 * p2_4_p0_4)) + (p2_5_p0_5 * p2_5_p0_5)));
777 double p3_0_p0_0 = (p3[0] - p0[0]);
778 double p3_1_p0_1 = (p3[1] - p0[1]);
779 double p3_2_p0_2 = (p3[2] - p0[2]);
780 double p3_3_p0_3 = (p3[3] - p0[3]);
781 double p3_4_p0_4 = (p3[4] - p0[4]);
782 double p3_5_p0_5 = (p3[5] - p0[5]);
783 double l3;
784 l3 = (1 * ((((((p3_0_p0_0 * p3_0_p0_0) + (p3_1_p0_1 * p3_1_p0_1)) + (p3_2_p0_2 * p3_2_p0_2)) + (p3_3_p0_3 * p3_3_p0_3)) + (p3_4_p0_4 * p3_4_p0_4)) + (p3_5_p0_5 * p3_5_p0_5)));
785 double p4_0_p0_0 = (p4[0] - p0[0]);
786 double p4_1_p0_1 = (p4[1] - p0[1]);
787 double p4_2_p0_2 = (p4[2] - p0[2]);
788 double p4_3_p0_3 = (p4[3] - p0[3]);
789 double p4_4_p0_4 = (p4[4] - p0[4]);
790 double p4_5_p0_5 = (p4[5] - p0[5]);
791 double l4;
792 l4 = (1 * ((((((p4_0_p0_0 * p4_0_p0_0) + (p4_1_p0_1 * p4_1_p0_1)) + (p4_2_p0_2 * p4_2_p0_2)) + (p4_3_p0_3 * p4_3_p0_3)) + (p4_4_p0_4 * p4_4_p0_4)) + (p4_5_p0_5 * p4_5_p0_5)));
793 double q0_0_p0_0 = (q0[0] - p0[0]);
794 double q0_1_p0_1 = (q0[1] - p0[1]);
795 double q0_2_p0_2 = (q0[2] - p0[2]);
796 double q0_3_p0_3 = (q0[3] - p0[3]);
797 double q0_4_p0_4 = (q0[4] - p0[4]);
798 double q0_5_p0_5 = (q0[5] - p0[5]);
799 double a10;
800 a10 = (2 * ((((((p1_0_p0_0 * q0_0_p0_0) + (p1_1_p0_1 * q0_1_p0_1)) + (p1_2_p0_2 * q0_2_p0_2)) + (p1_3_p0_3 * q0_3_p0_3)) + (p1_4_p0_4 * q0_4_p0_4)) + (p1_5_p0_5 * q0_5_p0_5)));
801 double q1_0_p0_0 = (q1[0] - p0[0]);
802 double q1_1_p0_1 = (q1[1] - p0[1]);
803 double q1_2_p0_2 = (q1[2] - p0[2]);
804 double q1_3_p0_3 = (q1[3] - p0[3]);
805 double q1_4_p0_4 = (q1[4] - p0[4]);
806 double q1_5_p0_5 = (q1[5] - p0[5]);
807 double a11;
808 a11 = (2 * ((((((p1_0_p0_0 * q1_0_p0_0) + (p1_1_p0_1 * q1_1_p0_1)) + (p1_2_p0_2 * q1_2_p0_2)) + (p1_3_p0_3 * q1_3_p0_3)) + (p1_4_p0_4 * q1_4_p0_4)) + (p1_5_p0_5 * q1_5_p0_5)));
809 double q2_0_p0_0 = (q2[0] - p0[0]);
810 double q2_1_p0_1 = (q2[1] - p0[1]);
811 double q2_2_p0_2 = (q2[2] - p0[2]);
812 double q2_3_p0_3 = (q2[3] - p0[3]);
813 double q2_4_p0_4 = (q2[4] - p0[4]);
814 double q2_5_p0_5 = (q2[5] - p0[5]);
815 double a12;
816 a12 = (2 * ((((((p1_0_p0_0 * q2_0_p0_0) + (p1_1_p0_1 * q2_1_p0_1)) + (p1_2_p0_2 * q2_2_p0_2)) + (p1_3_p0_3 * q2_3_p0_3)) + (p1_4_p0_4 * q2_4_p0_4)) + (p1_5_p0_5 * q2_5_p0_5)));
817 double q3_0_p0_0 = (q3[0] - p0[0]);
818 double q3_1_p0_1 = (q3[1] - p0[1]);
819 double q3_2_p0_2 = (q3[2] - p0[2]);
820 double q3_3_p0_3 = (q3[3] - p0[3]);
821 double q3_4_p0_4 = (q3[4] - p0[4]);
822 double q3_5_p0_5 = (q3[5] - p0[5]);
823 double a13;
824 a13 = (2 * ((((((p1_0_p0_0 * q3_0_p0_0) + (p1_1_p0_1 * q3_1_p0_1)) + (p1_2_p0_2 * q3_2_p0_2)) + (p1_3_p0_3 * q3_3_p0_3)) + (p1_4_p0_4 * q3_4_p0_4)) + (p1_5_p0_5 * q3_5_p0_5)));
825 double a20;
826 a20 = (2 * ((((((p2_0_p0_0 * q0_0_p0_0) + (p2_1_p0_1 * q0_1_p0_1)) + (p2_2_p0_2 * q0_2_p0_2)) + (p2_3_p0_3 * q0_3_p0_3)) + (p2_4_p0_4 * q0_4_p0_4)) + (p2_5_p0_5 * q0_5_p0_5)));
827 double a21;
828 a21 = (2 * ((((((p2_0_p0_0 * q1_0_p0_0) + (p2_1_p0_1 * q1_1_p0_1)) + (p2_2_p0_2 * q1_2_p0_2)) + (p2_3_p0_3 * q1_3_p0_3)) + (p2_4_p0_4 * q1_4_p0_4)) + (p2_5_p0_5 * q1_5_p0_5)));
829 double a22;
830 a22 = (2 * ((((((p2_0_p0_0 * q2_0_p0_0) + (p2_1_p0_1 * q2_1_p0_1)) + (p2_2_p0_2 * q2_2_p0_2)) + (p2_3_p0_3 * q2_3_p0_3)) + (p2_4_p0_4 * q2_4_p0_4)) + (p2_5_p0_5 * q2_5_p0_5)));
831 double a23;
832 a23 = (2 * ((((((p2_0_p0_0 * q3_0_p0_0) + (p2_1_p0_1 * q3_1_p0_1)) + (p2_2_p0_2 * q3_2_p0_2)) + (p2_3_p0_3 * q3_3_p0_3)) + (p2_4_p0_4 * q3_4_p0_4)) + (p2_5_p0_5 * q3_5_p0_5)));
833 double a30;
834 a30 = (2 * ((((((p3_0_p0_0 * q0_0_p0_0) + (p3_1_p0_1 * q0_1_p0_1)) + (p3_2_p0_2 * q0_2_p0_2)) + (p3_3_p0_3 * q0_3_p0_3)) + (p3_4_p0_4 * q0_4_p0_4)) + (p3_5_p0_5 * q0_5_p0_5)));
835 double a31;
836 a31 = (2 * ((((((p3_0_p0_0 * q1_0_p0_0) + (p3_1_p0_1 * q1_1_p0_1)) + (p3_2_p0_2 * q1_2_p0_2)) + (p3_3_p0_3 * q1_3_p0_3)) + (p3_4_p0_4 * q1_4_p0_4)) + (p3_5_p0_5 * q1_5_p0_5)));
837 double a32;
838 a32 = (2 * ((((((p3_0_p0_0 * q2_0_p0_0) + (p3_1_p0_1 * q2_1_p0_1)) + (p3_2_p0_2 * q2_2_p0_2)) + (p3_3_p0_3 * q2_3_p0_3)) + (p3_4_p0_4 * q2_4_p0_4)) + (p3_5_p0_5 * q2_5_p0_5)));
839 double a33;
840 a33 = (2 * ((((((p3_0_p0_0 * q3_0_p0_0) + (p3_1_p0_1 * q3_1_p0_1)) + (p3_2_p0_2 * q3_2_p0_2)) + (p3_3_p0_3 * q3_3_p0_3)) + (p3_4_p0_4 * q3_4_p0_4)) + (p3_5_p0_5 * q3_5_p0_5)));
841 double a40;
842 a40 = (2 * ((((((p4_0_p0_0 * q0_0_p0_0) + (p4_1_p0_1 * q0_1_p0_1)) + (p4_2_p0_2 * q0_2_p0_2)) + (p4_3_p0_3 * q0_3_p0_3)) + (p4_4_p0_4 * q0_4_p0_4)) + (p4_5_p0_5 * q0_5_p0_5)));
843 double a41;
844 a41 = (2 * ((((((p4_0_p0_0 * q1_0_p0_0) + (p4_1_p0_1 * q1_1_p0_1)) + (p4_2_p0_2 * q1_2_p0_2)) + (p4_3_p0_3 * q1_3_p0_3)) + (p4_4_p0_4 * q1_4_p0_4)) + (p4_5_p0_5 * q1_5_p0_5)));
845 double a42;
846 a42 = (2 * ((((((p4_0_p0_0 * q2_0_p0_0) + (p4_1_p0_1 * q2_1_p0_1)) + (p4_2_p0_2 * q2_2_p0_2)) + (p4_3_p0_3 * q2_3_p0_3)) + (p4_4_p0_4 * q2_4_p0_4)) + (p4_5_p0_5 * q2_5_p0_5)));
847 double a43;
848 a43 = (2 * ((((((p4_0_p0_0 * q3_0_p0_0) + (p4_1_p0_1 * q3_1_p0_1)) + (p4_2_p0_2 * q3_2_p0_2)) + (p4_3_p0_3 * q3_3_p0_3)) + (p4_4_p0_4 * q3_4_p0_4)) + (p4_5_p0_5 * q3_5_p0_5)));
849 double b00;
850 b00 = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22))));
851 double b01;
852 b01 = -((((a22 * a33) - (a23 * a32)) + ((a23 * a31) - (a21 * a33))) + ((a21 * a32) - (a22 * a31)));
853 double b02;
854 b02 = ((((a12 * a33) - (a13 * a32)) + ((a13 * a31) - (a11 * a33))) + ((a11 * a32) - (a12 * a31)));
855 double b03;
856 b03 = -((((a12 * a23) - (a13 * a22)) + ((a13 * a21) - (a11 * a23))) + ((a11 * a22) - (a12 * a21)));
857 double b10;
858 b10 = -(((a10 * ((a22 * a33) - (a23 * a32))) - (a20 * ((a12 * a33) - (a13 * a32)))) + (a30 * ((a12 * a23) - (a13 * a22))));
859 double b11;
860 b11 = ((((a22 * a33) - (a23 * a32)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a32) - (a22 * a30)));
861 double b12;
862 b12 = -((((a12 * a33) - (a13 * a32)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a32) - (a12 * a30)));
863 double b13;
864 b13 = ((((a12 * a23) - (a13 * a22)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a22) - (a12 * a20)));
865 double b20;
866 b20 = (((a10 * ((a21 * a33) - (a23 * a31))) - (a20 * ((a11 * a33) - (a13 * a31)))) + (a30 * ((a11 * a23) - (a13 * a21))));
867 double b21;
868 b21 = -((((a21 * a33) - (a23 * a31)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a31) - (a21 * a30)));
869 double b22;
870 b22 = ((((a11 * a33) - (a13 * a31)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a31) - (a11 * a30)));
871 double b23;
872 b23 = -((((a11 * a23) - (a13 * a21)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a21) - (a11 * a20)));
873 double b30;
874 b30 = -(((a10 * ((a21 * a32) - (a22 * a31))) - (a20 * ((a11 * a32) - (a12 * a31)))) + (a30 * ((a11 * a22) - (a12 * a21))));
875 double b31;
876 b31 = ((((a21 * a32) - (a22 * a31)) + ((a22 * a30) - (a20 * a32))) + ((a20 * a31) - (a21 * a30)));
877 double b32;
878 b32 = -((((a11 * a32) - (a12 * a31)) + ((a12 * a30) - (a10 * a32))) + ((a10 * a31) - (a11 * a30)));
879 double b33;
880 b33 = ((((a11 * a22) - (a12 * a21)) + ((a12 * a20) - (a10 * a22))) + ((a10 * a21) - (a11 * a20)));
881 double Delta;
882 Delta = (((b00 + b10) + b20) + b30);
883 double DeltaLambda0;
884 DeltaLambda0 = ((((b01 * l1) + (b02 * l2)) + (b03 * l3)) + b00);
885 double DeltaLambda1;
886 DeltaLambda1 = ((((b11 * l1) + (b12 * l2)) + (b13 * l3)) + b10);
887 double DeltaLambda2;
888 DeltaLambda2 = ((((b21 * l1) + (b22 * l2)) + (b23 * l3)) + b20);
889 double DeltaLambda3;
890 DeltaLambda3 = ((((b31 * l1) + (b32 * l2)) + (b33 * l3)) + b30);
891 double r;
892 r = ((Delta * l4) - ((((a40 * DeltaLambda0) + (a41 * DeltaLambda1)) + (a42 * DeltaLambda2)) + (a43 * DeltaLambda3)));
893 double eps;
894 double max1 = fabs(p3_2_p0_2);
895 if( (max1 < fabs(p3_0_p0_0)) )
896 {
897 max1 = fabs(p3_0_p0_0);
898 }
899 if( (max1 < fabs(p3_3_p0_3)) )
900 {
901 max1 = fabs(p3_3_p0_3);
902 }
903 if( (max1 < fabs(p3_4_p0_4)) )
904 {
905 max1 = fabs(p3_4_p0_4);
906 }
907 if( (max1 < fabs(p3_1_p0_1)) )
908 {
909 max1 = fabs(p3_1_p0_1);
910 }
911 if( (max1 < fabs(p3_5_p0_5)) )
912 {
913 max1 = fabs(p3_5_p0_5);
914 }
915 double max2 = fabs(p2_1_p0_1);
916 if( (max2 < fabs(p2_4_p0_4)) )
917 {
918 max2 = fabs(p2_4_p0_4);
919 }
920 if( (max2 < fabs(p2_2_p0_2)) )
921 {
922 max2 = fabs(p2_2_p0_2);
923 }
924 if( (max2 < fabs(p2_0_p0_0)) )
925 {
926 max2 = fabs(p2_0_p0_0);
927 }
928 if( (max2 < fabs(p2_3_p0_3)) )
929 {
930 max2 = fabs(p2_3_p0_3);
931 }
932 if( (max2 < fabs(p2_5_p0_5)) )
933 {
934 max2 = fabs(p2_5_p0_5);
935 }
936 double max3 = fabs(p1_0_p0_0);
937 if( (max3 < fabs(p1_1_p0_1)) )
938 {
939 max3 = fabs(p1_1_p0_1);
940 }
941 if( (max3 < fabs(p1_2_p0_2)) )
942 {
943 max3 = fabs(p1_2_p0_2);
944 }
945 if( (max3 < fabs(p1_3_p0_3)) )
946 {
947 max3 = fabs(p1_3_p0_3);
948 }
949 if( (max3 < fabs(p1_4_p0_4)) )
950 {
951 max3 = fabs(p1_4_p0_4);
952 }
953 if( (max3 < fabs(p1_5_p0_5)) )
954 {
955 max3 = fabs(p1_5_p0_5);
956 }
957 double max4 = fabs(q0_0_p0_0);
958 if( (max4 < fabs(q0_1_p0_1)) )
959 {
960 max4 = fabs(q0_1_p0_1);
961 }
962 if( (max4 < fabs(q0_2_p0_2)) )
963 {
964 max4 = fabs(q0_2_p0_2);
965 }
966 if( (max4 < fabs(q0_3_p0_3)) )
967 {
968 max4 = fabs(q0_3_p0_3);
969 }
970 if( (max4 < fabs(q0_4_p0_4)) )
971 {
972 max4 = fabs(q0_4_p0_4);
973 }
974 if( (max4 < fabs(q0_5_p0_5)) )
975 {
976 max4 = fabs(q0_5_p0_5);
977 }
978 if( (max4 < fabs(q1_0_p0_0)) )
979 {
980 max4 = fabs(q1_0_p0_0);
981 }
982 if( (max4 < fabs(q1_1_p0_1)) )
983 {
984 max4 = fabs(q1_1_p0_1);
985 }
986 if( (max4 < fabs(q1_2_p0_2)) )
987 {
988 max4 = fabs(q1_2_p0_2);
989 }
990 if( (max4 < fabs(q1_3_p0_3)) )
991 {
992 max4 = fabs(q1_3_p0_3);
993 }
994 if( (max4 < fabs(q1_4_p0_4)) )
995 {
996 max4 = fabs(q1_4_p0_4);
997 }
998 if( (max4 < fabs(q1_5_p0_5)) )
999 {
1000 max4 = fabs(q1_5_p0_5);
1001 }
1002 double max5 = fabs(q1_0_p0_0);
1003 if( (max5 < fabs(q1_1_p0_1)) )
1004 {
1005 max5 = fabs(q1_1_p0_1);
1006 }
1007 if( (max5 < fabs(q1_2_p0_2)) )
1008 {
1009 max5 = fabs(q1_2_p0_2);
1010 }
1011 if( (max5 < fabs(q1_3_p0_3)) )
1012 {
1013 max5 = fabs(q1_3_p0_3);
1014 }
1015 if( (max5 < fabs(q1_4_p0_4)) )
1016 {
1017 max5 = fabs(q1_4_p0_4);
1018 }
1019 if( (max5 < fabs(q1_5_p0_5)) )
1020 {
1021 max5 = fabs(q1_5_p0_5);
1022 }
1023 if( (max5 < fabs(q2_0_p0_0)) )
1024 {
1025 max5 = fabs(q2_0_p0_0);
1026 }
1027 if( (max5 < fabs(q2_1_p0_1)) )
1028 {
1029 max5 = fabs(q2_1_p0_1);
1030 }
1031 if( (max5 < fabs(q2_2_p0_2)) )
1032 {
1033 max5 = fabs(q2_2_p0_2);
1034 }
1035 if( (max5 < fabs(q2_3_p0_3)) )
1036 {
1037 max5 = fabs(q2_3_p0_3);
1038 }
1039 if( (max5 < fabs(q2_4_p0_4)) )
1040 {
1041 max5 = fabs(q2_4_p0_4);
1042 }
1043 if( (max5 < fabs(q2_5_p0_5)) )
1044 {
1045 max5 = fabs(q2_5_p0_5);
1046 }
1047 double max6 = fabs(q2_0_p0_0);
1048 if( (max6 < fabs(q2_1_p0_1)) )
1049 {
1050 max6 = fabs(q2_1_p0_1);
1051 }
1052 if( (max6 < fabs(q2_2_p0_2)) )
1053 {
1054 max6 = fabs(q2_2_p0_2);
1055 }
1056 if( (max6 < fabs(q2_3_p0_3)) )
1057 {
1058 max6 = fabs(q2_3_p0_3);
1059 }
1060 if( (max6 < fabs(q2_4_p0_4)) )
1061 {
1062 max6 = fabs(q2_4_p0_4);
1063 }
1064 if( (max6 < fabs(q2_5_p0_5)) )
1065 {
1066 max6 = fabs(q2_5_p0_5);
1067 }
1068 if( (max6 < fabs(q3_0_p0_0)) )
1069 {
1070 max6 = fabs(q3_0_p0_0);
1071 }
1072 if( (max6 < fabs(q3_1_p0_1)) )
1073 {
1074 max6 = fabs(q3_1_p0_1);
1075 }
1076 if( (max6 < fabs(q3_2_p0_2)) )
1077 {
1078 max6 = fabs(q3_2_p0_2);
1079 }
1080 if( (max6 < fabs(q3_3_p0_3)) )
1081 {
1082 max6 = fabs(q3_3_p0_3);
1083 }
1084 if( (max6 < fabs(q3_4_p0_4)) )
1085 {
1086 max6 = fabs(q3_4_p0_4);
1087 }
1088 if( (max6 < fabs(q3_5_p0_5)) )
1089 {
1090 max6 = fabs(q3_5_p0_5);
1091 }
1092 double lower_bound_1;
1093 double upper_bound_1;
1094 int Delta_sign;
1095 int int_tmp_result;
1096 lower_bound_1 = max4;
1097 upper_bound_1 = max4;
1098 if( (max1 < lower_bound_1) )
1099 {
1100 lower_bound_1 = max1;
1101 }
1102 else
1103 {
1104 if( (max1 > upper_bound_1) )
1105 {
1106 upper_bound_1 = max1;
1107 }
1108 }
1109 if( (max2 < lower_bound_1) )
1110 {
1111 lower_bound_1 = max2;
1112 }
1113 else
1114 {
1115 if( (max2 > upper_bound_1) )
1116 {
1117 upper_bound_1 = max2;
1118 }
1119 }
1120 if( (max3 < lower_bound_1) )
1121 {
1122 lower_bound_1 = max3;
1123 }
1124 else
1125 {
1126 if( (max3 > upper_bound_1) )
1127 {
1128 upper_bound_1 = max3;
1129 }
1130 }
1131 if( (max5 < lower_bound_1) )
1132 {
1133 lower_bound_1 = max5;
1134 }
1135 else
1136 {
1137 if( (max5 > upper_bound_1) )
1138 {
1139 upper_bound_1 = max5;
1140 }
1141 }
1142 if( (max6 < lower_bound_1) )
1143 {
1144 lower_bound_1 = max6;
1145 }
1146 else
1147 {
1148 if( (max6 > upper_bound_1) )
1149 {
1150 upper_bound_1 = max6;
1151 }
1152 }
1153 if( (lower_bound_1 < 3.31864264949884013629e-50) )
1154 {
1155 return FPG_UNCERTAIN_VALUE;
1156 }
1157 else
1158 {
1159 if( (upper_bound_1 > 4.83570327845851562508e+24) )
1160 {
1161 return FPG_UNCERTAIN_VALUE;
1162 }
1163 eps = (1.66564133587113165316e-11 * (((((max3 * max4) * max2) * max5) * max1) * max6));
1164 if( (Delta > eps) )
1165 {
1166 int_tmp_result = 1;
1167 }
1168 else
1169 {
1170 if( (Delta < -eps) )
1171 {
1172 int_tmp_result = -1;
1173 }
1174 else
1175 {
1176 return FPG_UNCERTAIN_VALUE;
1177 }
1178 }
1179 }
1180 Delta_sign = int_tmp_result;
1181 int int_tmp_result_FFWKCAA;
1182 double max7 = max1;
1183 if( (max7 < max2) )
1184 {
1185 max7 = max2;
1186 }
1187 if( (max7 < max3) )
1188 {
1189 max7 = max3;
1190 }
1191 double max8 = max3;
1192 if( (max8 < fabs(p4_5_p0_5)) )
1193 {
1194 max8 = fabs(p4_5_p0_5);
1195 }
1196 if( (max8 < fabs(p4_0_p0_0)) )
1197 {
1198 max8 = fabs(p4_0_p0_0);
1199 }
1200 if( (max8 < fabs(p4_1_p0_1)) )
1201 {
1202 max8 = fabs(p4_1_p0_1);
1203 }
1204 if( (max8 < fabs(p4_2_p0_2)) )
1205 {
1206 max8 = fabs(p4_2_p0_2);
1207 }
1208 if( (max8 < fabs(p4_3_p0_3)) )
1209 {
1210 max8 = fabs(p4_3_p0_3);
1211 }
1212 if( (max8 < fabs(p4_4_p0_4)) )
1213 {
1214 max8 = fabs(p4_4_p0_4);
1215 }
1216 if( (max7 < max8) )
1217 {
1218 max7 = max8;
1219 }
1220 if( (max7 < max6) )
1221 {
1222 max7 = max6;
1223 }
1224 double max9 = max3;
1225 if( (max9 < max8) )
1226 {
1227 max9 = max8;
1228 }
1229 if( (max9 < max5) )
1230 {
1231 max9 = max5;
1232 }
1233 double max10 = max4;
1234 if( (max10 < max3) )
1235 {
1236 max10 = max3;
1237 }
1238 if( (max10 < max5) )
1239 {
1240 max10 = max5;
1241 }
1242 double max11 = max4;
1243 if( (max11 < max5) )
1244 {
1245 max11 = max5;
1246 }
1247 if( (max10 < max11) )
1248 {
1249 max10 = max11;
1250 }
1251 if( (max10 < max6) )
1252 {
1253 max10 = max6;
1254 }
1255 lower_bound_1 = max1;
1256 upper_bound_1 = max1;
1257 if( (max2 < lower_bound_1) )
1258 {
1259 lower_bound_1 = max2;
1260 }
1261 if( (max7 < lower_bound_1) )
1262 {
1263 lower_bound_1 = max7;
1264 }
1265 else
1266 {
1267 if( (max7 > upper_bound_1) )
1268 {
1269 upper_bound_1 = max7;
1270 }
1271 }
1272 if( (max8 < lower_bound_1) )
1273 {
1274 lower_bound_1 = max8;
1275 }
1276 if( (max9 < lower_bound_1) )
1277 {
1278 lower_bound_1 = max9;
1279 }
1280 else
1281 {
1282 if( (max9 > upper_bound_1) )
1283 {
1284 upper_bound_1 = max9;
1285 }
1286 }
1287 if( (max10 < lower_bound_1) )
1288 {
1289 lower_bound_1 = max10;
1290 }
1291 else
1292 {
1293 if( (max10 > upper_bound_1) )
1294 {
1295 upper_bound_1 = max10;
1296 }
1297 }
1298 if( (max11 < lower_bound_1) )
1299 {
1300 lower_bound_1 = max11;
1301 }
1302 else
1303 {
1304 if( (max11 > upper_bound_1) )
1305 {
1306 upper_bound_1 = max11;
1307 }
1308 }
1309 if( (lower_bound_1 < 4.87975611107819181771e-38) )
1310 {
1311 return FPG_UNCERTAIN_VALUE;
1312 }
1313 else
1314 {
1315 if( (upper_bound_1 > 4.83570327845851562508e+24) )
1316 {
1317 return FPG_UNCERTAIN_VALUE;
1318 }
1319 eps = (6.92085098542795335117e-10 * (((((((max8 * max11) * max2) * max10) * max1) * max10) * max9) * max7));
1320 if( (r > eps) )
1321 {
1322 int_tmp_result_FFWKCAA = 1;
1323 }
1324 else
1325 {
1326 if( (r < -eps) )
1327 {
1328 int_tmp_result_FFWKCAA = -1;
1329 }
1330 else
1331 {
1332 return FPG_UNCERTAIN_VALUE;
1333 }
1334 }
1335 }
1336 return (Delta_sign * int_tmp_result_FFWKCAA);
1337}
1338
1339
1340inline int side4_7d_filter( const double* p0, const double* p1, const double* p2, const double* p3, const double* p4, const double* q0, const double* q1, const double* q2, const double* q3) {
1341 double p1_0_p0_0 = (p1[0] - p0[0]);
1342 double p1_1_p0_1 = (p1[1] - p0[1]);
1343 double p1_2_p0_2 = (p1[2] - p0[2]);
1344 double p1_3_p0_3 = (p1[3] - p0[3]);
1345 double p1_4_p0_4 = (p1[4] - p0[4]);
1346 double p1_5_p0_5 = (p1[5] - p0[5]);
1347 double p1_6_p0_6 = (p1[6] - p0[6]);
1348 double l1;
1349 l1 = (1 * (((((((p1_0_p0_0 * p1_0_p0_0) + (p1_1_p0_1 * p1_1_p0_1)) + (p1_2_p0_2 * p1_2_p0_2)) + (p1_3_p0_3 * p1_3_p0_3)) + (p1_4_p0_4 * p1_4_p0_4)) + (p1_5_p0_5 * p1_5_p0_5)) + (p1_6_p0_6 * p1_6_p0_6)));
1350 double p2_0_p0_0 = (p2[0] - p0[0]);
1351 double p2_1_p0_1 = (p2[1] - p0[1]);
1352 double p2_2_p0_2 = (p2[2] - p0[2]);
1353 double p2_3_p0_3 = (p2[3] - p0[3]);
1354 double p2_4_p0_4 = (p2[4] - p0[4]);
1355 double p2_5_p0_5 = (p2[5] - p0[5]);
1356 double p2_6_p0_6 = (p2[6] - p0[6]);
1357 double l2;
1358 l2 = (1 * (((((((p2_0_p0_0 * p2_0_p0_0) + (p2_1_p0_1 * p2_1_p0_1)) + (p2_2_p0_2 * p2_2_p0_2)) + (p2_3_p0_3 * p2_3_p0_3)) + (p2_4_p0_4 * p2_4_p0_4)) + (p2_5_p0_5 * p2_5_p0_5)) + (p2_6_p0_6 * p2_6_p0_6)));
1359 double p3_0_p0_0 = (p3[0] - p0[0]);
1360 double p3_1_p0_1 = (p3[1] - p0[1]);
1361 double p3_2_p0_2 = (p3[2] - p0[2]);
1362 double p3_3_p0_3 = (p3[3] - p0[3]);
1363 double p3_4_p0_4 = (p3[4] - p0[4]);
1364 double p3_5_p0_5 = (p3[5] - p0[5]);
1365 double p3_6_p0_6 = (p3[6] - p0[6]);
1366 double l3;
1367 l3 = (1 * (((((((p3_0_p0_0 * p3_0_p0_0) + (p3_1_p0_1 * p3_1_p0_1)) + (p3_2_p0_2 * p3_2_p0_2)) + (p3_3_p0_3 * p3_3_p0_3)) + (p3_4_p0_4 * p3_4_p0_4)) + (p3_5_p0_5 * p3_5_p0_5)) + (p3_6_p0_6 * p3_6_p0_6)));
1368 double p4_0_p0_0 = (p4[0] - p0[0]);
1369 double p4_1_p0_1 = (p4[1] - p0[1]);
1370 double p4_2_p0_2 = (p4[2] - p0[2]);
1371 double p4_3_p0_3 = (p4[3] - p0[3]);
1372 double p4_4_p0_4 = (p4[4] - p0[4]);
1373 double p4_5_p0_5 = (p4[5] - p0[5]);
1374 double p4_6_p0_6 = (p4[6] - p0[6]);
1375 double l4;
1376 l4 = (1 * (((((((p4_0_p0_0 * p4_0_p0_0) + (p4_1_p0_1 * p4_1_p0_1)) + (p4_2_p0_2 * p4_2_p0_2)) + (p4_3_p0_3 * p4_3_p0_3)) + (p4_4_p0_4 * p4_4_p0_4)) + (p4_5_p0_5 * p4_5_p0_5)) + (p4_6_p0_6 * p4_6_p0_6)));
1377 double q0_0_p0_0 = (q0[0] - p0[0]);
1378 double q0_1_p0_1 = (q0[1] - p0[1]);
1379 double q0_2_p0_2 = (q0[2] - p0[2]);
1380 double q0_3_p0_3 = (q0[3] - p0[3]);
1381 double q0_4_p0_4 = (q0[4] - p0[4]);
1382 double q0_5_p0_5 = (q0[5] - p0[5]);
1383 double q0_6_p0_6 = (q0[6] - p0[6]);
1384 double a10;
1385 a10 = (2 * (((((((p1_0_p0_0 * q0_0_p0_0) + (p1_1_p0_1 * q0_1_p0_1)) + (p1_2_p0_2 * q0_2_p0_2)) + (p1_3_p0_3 * q0_3_p0_3)) + (p1_4_p0_4 * q0_4_p0_4)) + (p1_5_p0_5 * q0_5_p0_5)) + (p1_6_p0_6 * q0_6_p0_6)));
1386 double q1_0_p0_0 = (q1[0] - p0[0]);
1387 double q1_1_p0_1 = (q1[1] - p0[1]);
1388 double q1_2_p0_2 = (q1[2] - p0[2]);
1389 double q1_3_p0_3 = (q1[3] - p0[3]);
1390 double q1_4_p0_4 = (q1[4] - p0[4]);
1391 double q1_5_p0_5 = (q1[5] - p0[5]);
1392 double q1_6_p0_6 = (q1[6] - p0[6]);
1393 double a11;
1394 a11 = (2 * (((((((p1_0_p0_0 * q1_0_p0_0) + (p1_1_p0_1 * q1_1_p0_1)) + (p1_2_p0_2 * q1_2_p0_2)) + (p1_3_p0_3 * q1_3_p0_3)) + (p1_4_p0_4 * q1_4_p0_4)) + (p1_5_p0_5 * q1_5_p0_5)) + (p1_6_p0_6 * q1_6_p0_6)));
1395 double q2_0_p0_0 = (q2[0] - p0[0]);
1396 double q2_1_p0_1 = (q2[1] - p0[1]);
1397 double q2_2_p0_2 = (q2[2] - p0[2]);
1398 double q2_3_p0_3 = (q2[3] - p0[3]);
1399 double q2_4_p0_4 = (q2[4] - p0[4]);
1400 double q2_5_p0_5 = (q2[5] - p0[5]);
1401 double q2_6_p0_6 = (q2[6] - p0[6]);
1402 double a12;
1403 a12 = (2 * (((((((p1_0_p0_0 * q2_0_p0_0) + (p1_1_p0_1 * q2_1_p0_1)) + (p1_2_p0_2 * q2_2_p0_2)) + (p1_3_p0_3 * q2_3_p0_3)) + (p1_4_p0_4 * q2_4_p0_4)) + (p1_5_p0_5 * q2_5_p0_5)) + (p1_6_p0_6 * q2_6_p0_6)));
1404 double q3_0_p0_0 = (q3[0] - p0[0]);
1405 double q3_1_p0_1 = (q3[1] - p0[1]);
1406 double q3_2_p0_2 = (q3[2] - p0[2]);
1407 double q3_3_p0_3 = (q3[3] - p0[3]);
1408 double q3_4_p0_4 = (q3[4] - p0[4]);
1409 double q3_5_p0_5 = (q3[5] - p0[5]);
1410 double q3_6_p0_6 = (q3[6] - p0[6]);
1411 double a13;
1412 a13 = (2 * (((((((p1_0_p0_0 * q3_0_p0_0) + (p1_1_p0_1 * q3_1_p0_1)) + (p1_2_p0_2 * q3_2_p0_2)) + (p1_3_p0_3 * q3_3_p0_3)) + (p1_4_p0_4 * q3_4_p0_4)) + (p1_5_p0_5 * q3_5_p0_5)) + (p1_6_p0_6 * q3_6_p0_6)));
1413 double a20;
1414 a20 = (2 * (((((((p2_0_p0_0 * q0_0_p0_0) + (p2_1_p0_1 * q0_1_p0_1)) + (p2_2_p0_2 * q0_2_p0_2)) + (p2_3_p0_3 * q0_3_p0_3)) + (p2_4_p0_4 * q0_4_p0_4)) + (p2_5_p0_5 * q0_5_p0_5)) + (p2_6_p0_6 * q0_6_p0_6)));
1415 double a21;
1416 a21 = (2 * (((((((p2_0_p0_0 * q1_0_p0_0) + (p2_1_p0_1 * q1_1_p0_1)) + (p2_2_p0_2 * q1_2_p0_2)) + (p2_3_p0_3 * q1_3_p0_3)) + (p2_4_p0_4 * q1_4_p0_4)) + (p2_5_p0_5 * q1_5_p0_5)) + (p2_6_p0_6 * q1_6_p0_6)));
1417 double a22;
1418 a22 = (2 * (((((((p2_0_p0_0 * q2_0_p0_0) + (p2_1_p0_1 * q2_1_p0_1)) + (p2_2_p0_2 * q2_2_p0_2)) + (p2_3_p0_3 * q2_3_p0_3)) + (p2_4_p0_4 * q2_4_p0_4)) + (p2_5_p0_5 * q2_5_p0_5)) + (p2_6_p0_6 * q2_6_p0_6)));
1419 double a23;
1420 a23 = (2 * (((((((p2_0_p0_0 * q3_0_p0_0) + (p2_1_p0_1 * q3_1_p0_1)) + (p2_2_p0_2 * q3_2_p0_2)) + (p2_3_p0_3 * q3_3_p0_3)) + (p2_4_p0_4 * q3_4_p0_4)) + (p2_5_p0_5 * q3_5_p0_5)) + (p2_6_p0_6 * q3_6_p0_6)));
1421 double a30;
1422 a30 = (2 * (((((((p3_0_p0_0 * q0_0_p0_0) + (p3_1_p0_1 * q0_1_p0_1)) + (p3_2_p0_2 * q0_2_p0_2)) + (p3_3_p0_3 * q0_3_p0_3)) + (p3_4_p0_4 * q0_4_p0_4)) + (p3_5_p0_5 * q0_5_p0_5)) + (p3_6_p0_6 * q0_6_p0_6)));
1423 double a31;
1424 a31 = (2 * (((((((p3_0_p0_0 * q1_0_p0_0) + (p3_1_p0_1 * q1_1_p0_1)) + (p3_2_p0_2 * q1_2_p0_2)) + (p3_3_p0_3 * q1_3_p0_3)) + (p3_4_p0_4 * q1_4_p0_4)) + (p3_5_p0_5 * q1_5_p0_5)) + (p3_6_p0_6 * q1_6_p0_6)));
1425 double a32;
1426 a32 = (2 * (((((((p3_0_p0_0 * q2_0_p0_0) + (p3_1_p0_1 * q2_1_p0_1)) + (p3_2_p0_2 * q2_2_p0_2)) + (p3_3_p0_3 * q2_3_p0_3)) + (p3_4_p0_4 * q2_4_p0_4)) + (p3_5_p0_5 * q2_5_p0_5)) + (p3_6_p0_6 * q2_6_p0_6)));
1427 double a33;
1428 a33 = (2 * (((((((p3_0_p0_0 * q3_0_p0_0) + (p3_1_p0_1 * q3_1_p0_1)) + (p3_2_p0_2 * q3_2_p0_2)) + (p3_3_p0_3 * q3_3_p0_3)) + (p3_4_p0_4 * q3_4_p0_4)) + (p3_5_p0_5 * q3_5_p0_5)) + (p3_6_p0_6 * q3_6_p0_6)));
1429 double a40;
1430 a40 = (2 * (((((((p4_0_p0_0 * q0_0_p0_0) + (p4_1_p0_1 * q0_1_p0_1)) + (p4_2_p0_2 * q0_2_p0_2)) + (p4_3_p0_3 * q0_3_p0_3)) + (p4_4_p0_4 * q0_4_p0_4)) + (p4_5_p0_5 * q0_5_p0_5)) + (p4_6_p0_6 * q0_6_p0_6)));
1431 double a41;
1432 a41 = (2 * (((((((p4_0_p0_0 * q1_0_p0_0) + (p4_1_p0_1 * q1_1_p0_1)) + (p4_2_p0_2 * q1_2_p0_2)) + (p4_3_p0_3 * q1_3_p0_3)) + (p4_4_p0_4 * q1_4_p0_4)) + (p4_5_p0_5 * q1_5_p0_5)) + (p4_6_p0_6 * q1_6_p0_6)));
1433 double a42;
1434 a42 = (2 * (((((((p4_0_p0_0 * q2_0_p0_0) + (p4_1_p0_1 * q2_1_p0_1)) + (p4_2_p0_2 * q2_2_p0_2)) + (p4_3_p0_3 * q2_3_p0_3)) + (p4_4_p0_4 * q2_4_p0_4)) + (p4_5_p0_5 * q2_5_p0_5)) + (p4_6_p0_6 * q2_6_p0_6)));
1435 double a43;
1436 a43 = (2 * (((((((p4_0_p0_0 * q3_0_p0_0) + (p4_1_p0_1 * q3_1_p0_1)) + (p4_2_p0_2 * q3_2_p0_2)) + (p4_3_p0_3 * q3_3_p0_3)) + (p4_4_p0_4 * q3_4_p0_4)) + (p4_5_p0_5 * q3_5_p0_5)) + (p4_6_p0_6 * q3_6_p0_6)));
1437 double b00;
1438 b00 = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22))));
1439 double b01;
1440 b01 = -((((a22 * a33) - (a23 * a32)) + ((a23 * a31) - (a21 * a33))) + ((a21 * a32) - (a22 * a31)));
1441 double b02;
1442 b02 = ((((a12 * a33) - (a13 * a32)) + ((a13 * a31) - (a11 * a33))) + ((a11 * a32) - (a12 * a31)));
1443 double b03;
1444 b03 = -((((a12 * a23) - (a13 * a22)) + ((a13 * a21) - (a11 * a23))) + ((a11 * a22) - (a12 * a21)));
1445 double b10;
1446 b10 = -(((a10 * ((a22 * a33) - (a23 * a32))) - (a20 * ((a12 * a33) - (a13 * a32)))) + (a30 * ((a12 * a23) - (a13 * a22))));
1447 double b11;
1448 b11 = ((((a22 * a33) - (a23 * a32)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a32) - (a22 * a30)));
1449 double b12;
1450 b12 = -((((a12 * a33) - (a13 * a32)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a32) - (a12 * a30)));
1451 double b13;
1452 b13 = ((((a12 * a23) - (a13 * a22)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a22) - (a12 * a20)));
1453 double b20;
1454 b20 = (((a10 * ((a21 * a33) - (a23 * a31))) - (a20 * ((a11 * a33) - (a13 * a31)))) + (a30 * ((a11 * a23) - (a13 * a21))));
1455 double b21;
1456 b21 = -((((a21 * a33) - (a23 * a31)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a31) - (a21 * a30)));
1457 double b22;
1458 b22 = ((((a11 * a33) - (a13 * a31)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a31) - (a11 * a30)));
1459 double b23;
1460 b23 = -((((a11 * a23) - (a13 * a21)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a21) - (a11 * a20)));
1461 double b30;
1462 b30 = -(((a10 * ((a21 * a32) - (a22 * a31))) - (a20 * ((a11 * a32) - (a12 * a31)))) + (a30 * ((a11 * a22) - (a12 * a21))));
1463 double b31;
1464 b31 = ((((a21 * a32) - (a22 * a31)) + ((a22 * a30) - (a20 * a32))) + ((a20 * a31) - (a21 * a30)));
1465 double b32;
1466 b32 = -((((a11 * a32) - (a12 * a31)) + ((a12 * a30) - (a10 * a32))) + ((a10 * a31) - (a11 * a30)));
1467 double b33;
1468 b33 = ((((a11 * a22) - (a12 * a21)) + ((a12 * a20) - (a10 * a22))) + ((a10 * a21) - (a11 * a20)));
1469 double Delta;
1470 Delta = (((b00 + b10) + b20) + b30);
1471 double DeltaLambda0;
1472 DeltaLambda0 = ((((b01 * l1) + (b02 * l2)) + (b03 * l3)) + b00);
1473 double DeltaLambda1;
1474 DeltaLambda1 = ((((b11 * l1) + (b12 * l2)) + (b13 * l3)) + b10);
1475 double DeltaLambda2;
1476 DeltaLambda2 = ((((b21 * l1) + (b22 * l2)) + (b23 * l3)) + b20);
1477 double DeltaLambda3;
1478 DeltaLambda3 = ((((b31 * l1) + (b32 * l2)) + (b33 * l3)) + b30);
1479 double r;
1480 r = ((Delta * l4) - ((((a40 * DeltaLambda0) + (a41 * DeltaLambda1)) + (a42 * DeltaLambda2)) + (a43 * DeltaLambda3)));
1481 double eps;
1482 double max1 = fabs(p1_0_p0_0);
1483 if( (max1 < fabs(p1_1_p0_1)) )
1484 {
1485 max1 = fabs(p1_1_p0_1);
1486 }
1487 if( (max1 < fabs(p1_2_p0_2)) )
1488 {
1489 max1 = fabs(p1_2_p0_2);
1490 }
1491 if( (max1 < fabs(p1_3_p0_3)) )
1492 {
1493 max1 = fabs(p1_3_p0_3);
1494 }
1495 if( (max1 < fabs(p1_4_p0_4)) )
1496 {
1497 max1 = fabs(p1_4_p0_4);
1498 }
1499 if( (max1 < fabs(p1_5_p0_5)) )
1500 {
1501 max1 = fabs(p1_5_p0_5);
1502 }
1503 if( (max1 < fabs(p1_6_p0_6)) )
1504 {
1505 max1 = fabs(p1_6_p0_6);
1506 }
1507 double max2 = fabs(p3_0_p0_0);
1508 if( (max2 < fabs(p3_4_p0_4)) )
1509 {
1510 max2 = fabs(p3_4_p0_4);
1511 }
1512 if( (max2 < fabs(p3_2_p0_2)) )
1513 {
1514 max2 = fabs(p3_2_p0_2);
1515 }
1516 if( (max2 < fabs(p3_1_p0_1)) )
1517 {
1518 max2 = fabs(p3_1_p0_1);
1519 }
1520 if( (max2 < fabs(p3_3_p0_3)) )
1521 {
1522 max2 = fabs(p3_3_p0_3);
1523 }
1524 if( (max2 < fabs(p3_5_p0_5)) )
1525 {
1526 max2 = fabs(p3_5_p0_5);
1527 }
1528 if( (max2 < fabs(p3_6_p0_6)) )
1529 {
1530 max2 = fabs(p3_6_p0_6);
1531 }
1532 double max3 = fabs(p2_5_p0_5);
1533 if( (max3 < fabs(p2_2_p0_2)) )
1534 {
1535 max3 = fabs(p2_2_p0_2);
1536 }
1537 if( (max3 < fabs(p2_3_p0_3)) )
1538 {
1539 max3 = fabs(p2_3_p0_3);
1540 }
1541 if( (max3 < fabs(p2_0_p0_0)) )
1542 {
1543 max3 = fabs(p2_0_p0_0);
1544 }
1545 if( (max3 < fabs(p2_1_p0_1)) )
1546 {
1547 max3 = fabs(p2_1_p0_1);
1548 }
1549 if( (max3 < fabs(p2_6_p0_6)) )
1550 {
1551 max3 = fabs(p2_6_p0_6);
1552 }
1553 if( (max3 < fabs(p2_4_p0_4)) )
1554 {
1555 max3 = fabs(p2_4_p0_4);
1556 }
1557 double max4 = fabs(q0_0_p0_0);
1558 if( (max4 < fabs(q0_1_p0_1)) )
1559 {
1560 max4 = fabs(q0_1_p0_1);
1561 }
1562 if( (max4 < fabs(q0_2_p0_2)) )
1563 {
1564 max4 = fabs(q0_2_p0_2);
1565 }
1566 if( (max4 < fabs(q0_3_p0_3)) )
1567 {
1568 max4 = fabs(q0_3_p0_3);
1569 }
1570 if( (max4 < fabs(q0_4_p0_4)) )
1571 {
1572 max4 = fabs(q0_4_p0_4);
1573 }
1574 if( (max4 < fabs(q0_5_p0_5)) )
1575 {
1576 max4 = fabs(q0_5_p0_5);
1577 }
1578 if( (max4 < fabs(q0_6_p0_6)) )
1579 {
1580 max4 = fabs(q0_6_p0_6);
1581 }
1582 if( (max4 < fabs(q1_0_p0_0)) )
1583 {
1584 max4 = fabs(q1_0_p0_0);
1585 }
1586 if( (max4 < fabs(q1_1_p0_1)) )
1587 {
1588 max4 = fabs(q1_1_p0_1);
1589 }
1590 if( (max4 < fabs(q1_2_p0_2)) )
1591 {
1592 max4 = fabs(q1_2_p0_2);
1593 }
1594 if( (max4 < fabs(q1_3_p0_3)) )
1595 {
1596 max4 = fabs(q1_3_p0_3);
1597 }
1598 if( (max4 < fabs(q1_4_p0_4)) )
1599 {
1600 max4 = fabs(q1_4_p0_4);
1601 }
1602 if( (max4 < fabs(q1_5_p0_5)) )
1603 {
1604 max4 = fabs(q1_5_p0_5);
1605 }
1606 if( (max4 < fabs(q1_6_p0_6)) )
1607 {
1608 max4 = fabs(q1_6_p0_6);
1609 }
1610 double max5 = fabs(q1_0_p0_0);
1611 if( (max5 < fabs(q1_1_p0_1)) )
1612 {
1613 max5 = fabs(q1_1_p0_1);
1614 }
1615 if( (max5 < fabs(q1_2_p0_2)) )
1616 {
1617 max5 = fabs(q1_2_p0_2);
1618 }
1619 if( (max5 < fabs(q1_3_p0_3)) )
1620 {
1621 max5 = fabs(q1_3_p0_3);
1622 }
1623 if( (max5 < fabs(q1_4_p0_4)) )
1624 {
1625 max5 = fabs(q1_4_p0_4);
1626 }
1627 if( (max5 < fabs(q1_5_p0_5)) )
1628 {
1629 max5 = fabs(q1_5_p0_5);
1630 }
1631 if( (max5 < fabs(q1_6_p0_6)) )
1632 {
1633 max5 = fabs(q1_6_p0_6);
1634 }
1635 if( (max5 < fabs(q2_0_p0_0)) )
1636 {
1637 max5 = fabs(q2_0_p0_0);
1638 }
1639 if( (max5 < fabs(q2_1_p0_1)) )
1640 {
1641 max5 = fabs(q2_1_p0_1);
1642 }
1643 if( (max5 < fabs(q2_2_p0_2)) )
1644 {
1645 max5 = fabs(q2_2_p0_2);
1646 }
1647 if( (max5 < fabs(q2_3_p0_3)) )
1648 {
1649 max5 = fabs(q2_3_p0_3);
1650 }
1651 if( (max5 < fabs(q2_4_p0_4)) )
1652 {
1653 max5 = fabs(q2_4_p0_4);
1654 }
1655 if( (max5 < fabs(q2_5_p0_5)) )
1656 {
1657 max5 = fabs(q2_5_p0_5);
1658 }
1659 if( (max5 < fabs(q2_6_p0_6)) )
1660 {
1661 max5 = fabs(q2_6_p0_6);
1662 }
1663 double max6 = fabs(q2_0_p0_0);
1664 if( (max6 < fabs(q2_1_p0_1)) )
1665 {
1666 max6 = fabs(q2_1_p0_1);
1667 }
1668 if( (max6 < fabs(q2_2_p0_2)) )
1669 {
1670 max6 = fabs(q2_2_p0_2);
1671 }
1672 if( (max6 < fabs(q2_3_p0_3)) )
1673 {
1674 max6 = fabs(q2_3_p0_3);
1675 }
1676 if( (max6 < fabs(q2_4_p0_4)) )
1677 {
1678 max6 = fabs(q2_4_p0_4);
1679 }
1680 if( (max6 < fabs(q2_5_p0_5)) )
1681 {
1682 max6 = fabs(q2_5_p0_5);
1683 }
1684 if( (max6 < fabs(q2_6_p0_6)) )
1685 {
1686 max6 = fabs(q2_6_p0_6);
1687 }
1688 if( (max6 < fabs(q3_0_p0_0)) )
1689 {
1690 max6 = fabs(q3_0_p0_0);
1691 }
1692 if( (max6 < fabs(q3_1_p0_1)) )
1693 {
1694 max6 = fabs(q3_1_p0_1);
1695 }
1696 if( (max6 < fabs(q3_2_p0_2)) )
1697 {
1698 max6 = fabs(q3_2_p0_2);
1699 }
1700 if( (max6 < fabs(q3_3_p0_3)) )
1701 {
1702 max6 = fabs(q3_3_p0_3);
1703 }
1704 if( (max6 < fabs(q3_4_p0_4)) )
1705 {
1706 max6 = fabs(q3_4_p0_4);
1707 }
1708 if( (max6 < fabs(q3_5_p0_5)) )
1709 {
1710 max6 = fabs(q3_5_p0_5);
1711 }
1712 if( (max6 < fabs(q3_6_p0_6)) )
1713 {
1714 max6 = fabs(q3_6_p0_6);
1715 }
1716 double lower_bound_1;
1717 double upper_bound_1;
1718 int Delta_sign;
1719 int int_tmp_result;
1720 lower_bound_1 = max3;
1721 upper_bound_1 = max3;
1722 if( (max4 < lower_bound_1) )
1723 {
1724 lower_bound_1 = max4;
1725 }
1726 else
1727 {
1728 if( (max4 > upper_bound_1) )
1729 {
1730 upper_bound_1 = max4;
1731 }
1732 }
1733 if( (max1 < lower_bound_1) )
1734 {
1735 lower_bound_1 = max1;
1736 }
1737 else
1738 {
1739 if( (max1 > upper_bound_1) )
1740 {
1741 upper_bound_1 = max1;
1742 }
1743 }
1744 if( (max2 < lower_bound_1) )
1745 {
1746 lower_bound_1 = max2;
1747 }
1748 else
1749 {
1750 if( (max2 > upper_bound_1) )
1751 {
1752 upper_bound_1 = max2;
1753 }
1754 }
1755 if( (max5 < lower_bound_1) )
1756 {
1757 lower_bound_1 = max5;
1758 }
1759 else
1760 {
1761 if( (max5 > upper_bound_1) )
1762 {
1763 upper_bound_1 = max5;
1764 }
1765 }
1766 if( (max6 < lower_bound_1) )
1767 {
1768 lower_bound_1 = max6;
1769 }
1770 else
1771 {
1772 if( (max6 > upper_bound_1) )
1773 {
1774 upper_bound_1 = max6;
1775 }
1776 }
1777 if( (lower_bound_1 < 3.04548303565602498901e-50) )
1778 {
1779 return FPG_UNCERTAIN_VALUE;
1780 }
1781 else
1782 {
1783 if( (upper_bound_1 > 4.83570327845851562508e+24) )
1784 {
1785 return FPG_UNCERTAIN_VALUE;
1786 }
1787 eps = (2.78873548804336160566e-11 * (((((max1 * max4) * max3) * max5) * max2) * max6));
1788 if( (Delta > eps) )
1789 {
1790 int_tmp_result = 1;
1791 }
1792 else
1793 {
1794 if( (Delta < -eps) )
1795 {
1796 int_tmp_result = -1;
1797 }
1798 else
1799 {
1800 return FPG_UNCERTAIN_VALUE;
1801 }
1802 }
1803 }
1804 Delta_sign = int_tmp_result;
1805 int int_tmp_result_FFWKCAA;
1806 double max7 = max3;
1807 if( (max7 < max1) )
1808 {
1809 max7 = max1;
1810 }
1811 if( (max7 < max2) )
1812 {
1813 max7 = max2;
1814 }
1815 if( (max7 < max6) )
1816 {
1817 max7 = max6;
1818 }
1819 double max8 = max1;
1820 if( (max8 < fabs(p4_4_p0_4)) )
1821 {
1822 max8 = fabs(p4_4_p0_4);
1823 }
1824 if( (max8 < fabs(p4_1_p0_1)) )
1825 {
1826 max8 = fabs(p4_1_p0_1);
1827 }
1828 if( (max8 < fabs(p4_5_p0_5)) )
1829 {
1830 max8 = fabs(p4_5_p0_5);
1831 }
1832 if( (max8 < fabs(p4_0_p0_0)) )
1833 {
1834 max8 = fabs(p4_0_p0_0);
1835 }
1836 if( (max8 < fabs(p4_2_p0_2)) )
1837 {
1838 max8 = fabs(p4_2_p0_2);
1839 }
1840 if( (max8 < fabs(p4_3_p0_3)) )
1841 {
1842 max8 = fabs(p4_3_p0_3);
1843 }
1844 if( (max8 < fabs(p4_6_p0_6)) )
1845 {
1846 max8 = fabs(p4_6_p0_6);
1847 }
1848 if( (max7 < max8) )
1849 {
1850 max7 = max8;
1851 }
1852 double max9 = max1;
1853 if( (max9 < max5) )
1854 {
1855 max9 = max5;
1856 }
1857 if( (max9 < max8) )
1858 {
1859 max9 = max8;
1860 }
1861 double max10 = max4;
1862 if( (max10 < max1) )
1863 {
1864 max10 = max1;
1865 }
1866 if( (max10 < max5) )
1867 {
1868 max10 = max5;
1869 }
1870 if( (max10 < max6) )
1871 {
1872 max10 = max6;
1873 }
1874 double max11 = max4;
1875 if( (max11 < max5) )
1876 {
1877 max11 = max5;
1878 }
1879 if( (max10 < max11) )
1880 {
1881 max10 = max11;
1882 }
1883 lower_bound_1 = max3;
1884 upper_bound_1 = max3;
1885 if( (max2 < lower_bound_1) )
1886 {
1887 lower_bound_1 = max2;
1888 }
1889 if( (max7 < lower_bound_1) )
1890 {
1891 lower_bound_1 = max7;
1892 }
1893 else
1894 {
1895 if( (max7 > upper_bound_1) )
1896 {
1897 upper_bound_1 = max7;
1898 }
1899 }
1900 if( (max8 < lower_bound_1) )
1901 {
1902 lower_bound_1 = max8;
1903 }
1904 if( (max9 < lower_bound_1) )
1905 {
1906 lower_bound_1 = max9;
1907 }
1908 else
1909 {
1910 if( (max9 > upper_bound_1) )
1911 {
1912 upper_bound_1 = max9;
1913 }
1914 }
1915 if( (max10 < lower_bound_1) )
1916 {
1917 lower_bound_1 = max10;
1918 }
1919 else
1920 {
1921 if( (max10 > upper_bound_1) )
1922 {
1923 upper_bound_1 = max10;
1924 }
1925 }
1926 if( (max11 < lower_bound_1) )
1927 {
1928 lower_bound_1 = max11;
1929 }
1930 else
1931 {
1932 if( (max11 > upper_bound_1) )
1933 {
1934 upper_bound_1 = max11;
1935 }
1936 }
1937 if( (lower_bound_1 < 4.48906690519700369396e-38) )
1938 {
1939 return FPG_UNCERTAIN_VALUE;
1940 }
1941 else
1942 {
1943 if( (upper_bound_1 > 4.83570327845851562508e+24) )
1944 {
1945 return FPG_UNCERTAIN_VALUE;
1946 }
1947 eps = (1.34926049830188433875e-09 * (((((((max8 * max11) * max3) * max10) * max2) * max10) * max9) * max7));
1948 if( (r > eps) )
1949 {
1950 int_tmp_result_FFWKCAA = 1;
1951 }
1952 else
1953 {
1954 if( (r < -eps) )
1955 {
1956 int_tmp_result_FFWKCAA = -1;
1957 }
1958 else
1959 {
1960 return FPG_UNCERTAIN_VALUE;
1961 }
1962 }
1963 }
1964 return (Delta_sign * int_tmp_result_FFWKCAA);
1965}
1966
1967
1968inline int side4_8d_filter( const double* p0, const double* p1, const double* p2, const double* p3, const double* p4, const double* q0, const double* q1, const double* q2, const double* q3) {
1969 double p1_0_p0_0 = (p1[0] - p0[0]);
1970 double p1_1_p0_1 = (p1[1] - p0[1]);
1971 double p1_2_p0_2 = (p1[2] - p0[2]);
1972 double p1_3_p0_3 = (p1[3] - p0[3]);
1973 double p1_4_p0_4 = (p1[4] - p0[4]);
1974 double p1_5_p0_5 = (p1[5] - p0[5]);
1975 double p1_6_p0_6 = (p1[6] - p0[6]);
1976 double p1_7_p0_7 = (p1[7] - p0[7]);
1977 double l1;
1978 l1 = (1 * ((((((((p1_0_p0_0 * p1_0_p0_0) + (p1_1_p0_1 * p1_1_p0_1)) + (p1_2_p0_2 * p1_2_p0_2)) + (p1_3_p0_3 * p1_3_p0_3)) + (p1_4_p0_4 * p1_4_p0_4)) + (p1_5_p0_5 * p1_5_p0_5)) + (p1_6_p0_6 * p1_6_p0_6)) + (p1_7_p0_7 * p1_7_p0_7)));
1979 double p2_0_p0_0 = (p2[0] - p0[0]);
1980 double p2_1_p0_1 = (p2[1] - p0[1]);
1981 double p2_2_p0_2 = (p2[2] - p0[2]);
1982 double p2_3_p0_3 = (p2[3] - p0[3]);
1983 double p2_4_p0_4 = (p2[4] - p0[4]);
1984 double p2_5_p0_5 = (p2[5] - p0[5]);
1985 double p2_6_p0_6 = (p2[6] - p0[6]);
1986 double p2_7_p0_7 = (p2[7] - p0[7]);
1987 double l2;
1988 l2 = (1 * ((((((((p2_0_p0_0 * p2_0_p0_0) + (p2_1_p0_1 * p2_1_p0_1)) + (p2_2_p0_2 * p2_2_p0_2)) + (p2_3_p0_3 * p2_3_p0_3)) + (p2_4_p0_4 * p2_4_p0_4)) + (p2_5_p0_5 * p2_5_p0_5)) + (p2_6_p0_6 * p2_6_p0_6)) + (p2_7_p0_7 * p2_7_p0_7)));
1989 double p3_0_p0_0 = (p3[0] - p0[0]);
1990 double p3_1_p0_1 = (p3[1] - p0[1]);
1991 double p3_2_p0_2 = (p3[2] - p0[2]);
1992 double p3_3_p0_3 = (p3[3] - p0[3]);
1993 double p3_4_p0_4 = (p3[4] - p0[4]);
1994 double p3_5_p0_5 = (p3[5] - p0[5]);
1995 double p3_6_p0_6 = (p3[6] - p0[6]);
1996 double p3_7_p0_7 = (p3[7] - p0[7]);
1997 double l3;
1998 l3 = (1 * ((((((((p3_0_p0_0 * p3_0_p0_0) + (p3_1_p0_1 * p3_1_p0_1)) + (p3_2_p0_2 * p3_2_p0_2)) + (p3_3_p0_3 * p3_3_p0_3)) + (p3_4_p0_4 * p3_4_p0_4)) + (p3_5_p0_5 * p3_5_p0_5)) + (p3_6_p0_6 * p3_6_p0_6)) + (p3_7_p0_7 * p3_7_p0_7)));
1999 double p4_0_p0_0 = (p4[0] - p0[0]);
2000 double p4_1_p0_1 = (p4[1] - p0[1]);
2001 double p4_2_p0_2 = (p4[2] - p0[2]);
2002 double p4_3_p0_3 = (p4[3] - p0[3]);
2003 double p4_4_p0_4 = (p4[4] - p0[4]);
2004 double p4_5_p0_5 = (p4[5] - p0[5]);
2005 double p4_6_p0_6 = (p4[6] - p0[6]);
2006 double p4_7_p0_7 = (p4[7] - p0[7]);
2007 double l4;
2008 l4 = (1 * ((((((((p4_0_p0_0 * p4_0_p0_0) + (p4_1_p0_1 * p4_1_p0_1)) + (p4_2_p0_2 * p4_2_p0_2)) + (p4_3_p0_3 * p4_3_p0_3)) + (p4_4_p0_4 * p4_4_p0_4)) + (p4_5_p0_5 * p4_5_p0_5)) + (p4_6_p0_6 * p4_6_p0_6)) + (p4_7_p0_7 * p4_7_p0_7)));
2009 double q0_0_p0_0 = (q0[0] - p0[0]);
2010 double q0_1_p0_1 = (q0[1] - p0[1]);
2011 double q0_2_p0_2 = (q0[2] - p0[2]);
2012 double q0_3_p0_3 = (q0[3] - p0[3]);
2013 double q0_4_p0_4 = (q0[4] - p0[4]);
2014 double q0_5_p0_5 = (q0[5] - p0[5]);
2015 double q0_6_p0_6 = (q0[6] - p0[6]);
2016 double q0_7_p0_7 = (q0[7] - p0[7]);
2017 double a10;
2018 a10 = (2 * ((((((((p1_0_p0_0 * q0_0_p0_0) + (p1_1_p0_1 * q0_1_p0_1)) + (p1_2_p0_2 * q0_2_p0_2)) + (p1_3_p0_3 * q0_3_p0_3)) + (p1_4_p0_4 * q0_4_p0_4)) + (p1_5_p0_5 * q0_5_p0_5)) + (p1_6_p0_6 * q0_6_p0_6)) + (p1_7_p0_7 * q0_7_p0_7)));
2019 double q1_0_p0_0 = (q1[0] - p0[0]);
2020 double q1_1_p0_1 = (q1[1] - p0[1]);
2021 double q1_2_p0_2 = (q1[2] - p0[2]);
2022 double q1_3_p0_3 = (q1[3] - p0[3]);
2023 double q1_4_p0_4 = (q1[4] - p0[4]);
2024 double q1_5_p0_5 = (q1[5] - p0[5]);
2025 double q1_6_p0_6 = (q1[6] - p0[6]);
2026 double q1_7_p0_7 = (q1[7] - p0[7]);
2027 double a11;
2028 a11 = (2 * ((((((((p1_0_p0_0 * q1_0_p0_0) + (p1_1_p0_1 * q1_1_p0_1)) + (p1_2_p0_2 * q1_2_p0_2)) + (p1_3_p0_3 * q1_3_p0_3)) + (p1_4_p0_4 * q1_4_p0_4)) + (p1_5_p0_5 * q1_5_p0_5)) + (p1_6_p0_6 * q1_6_p0_6)) + (p1_7_p0_7 * q1_7_p0_7)));
2029 double q2_0_p0_0 = (q2[0] - p0[0]);
2030 double q2_1_p0_1 = (q2[1] - p0[1]);
2031 double q2_2_p0_2 = (q2[2] - p0[2]);
2032 double q2_3_p0_3 = (q2[3] - p0[3]);
2033 double q2_4_p0_4 = (q2[4] - p0[4]);
2034 double q2_5_p0_5 = (q2[5] - p0[5]);
2035 double q2_6_p0_6 = (q2[6] - p0[6]);
2036 double q2_7_p0_7 = (q2[7] - p0[7]);
2037 double a12;
2038 a12 = (2 * ((((((((p1_0_p0_0 * q2_0_p0_0) + (p1_1_p0_1 * q2_1_p0_1)) + (p1_2_p0_2 * q2_2_p0_2)) + (p1_3_p0_3 * q2_3_p0_3)) + (p1_4_p0_4 * q2_4_p0_4)) + (p1_5_p0_5 * q2_5_p0_5)) + (p1_6_p0_6 * q2_6_p0_6)) + (p1_7_p0_7 * q2_7_p0_7)));
2039 double q3_0_p0_0 = (q3[0] - p0[0]);
2040 double q3_1_p0_1 = (q3[1] - p0[1]);
2041 double q3_2_p0_2 = (q3[2] - p0[2]);
2042 double q3_3_p0_3 = (q3[3] - p0[3]);
2043 double q3_4_p0_4 = (q3[4] - p0[4]);
2044 double q3_5_p0_5 = (q3[5] - p0[5]);
2045 double q3_6_p0_6 = (q3[6] - p0[6]);
2046 double q3_7_p0_7 = (q3[7] - p0[7]);
2047 double a13;
2048 a13 = (2 * ((((((((p1_0_p0_0 * q3_0_p0_0) + (p1_1_p0_1 * q3_1_p0_1)) + (p1_2_p0_2 * q3_2_p0_2)) + (p1_3_p0_3 * q3_3_p0_3)) + (p1_4_p0_4 * q3_4_p0_4)) + (p1_5_p0_5 * q3_5_p0_5)) + (p1_6_p0_6 * q3_6_p0_6)) + (p1_7_p0_7 * q3_7_p0_7)));
2049 double a20;
2050 a20 = (2 * ((((((((p2_0_p0_0 * q0_0_p0_0) + (p2_1_p0_1 * q0_1_p0_1)) + (p2_2_p0_2 * q0_2_p0_2)) + (p2_3_p0_3 * q0_3_p0_3)) + (p2_4_p0_4 * q0_4_p0_4)) + (p2_5_p0_5 * q0_5_p0_5)) + (p2_6_p0_6 * q0_6_p0_6)) + (p2_7_p0_7 * q0_7_p0_7)));
2051 double a21;
2052 a21 = (2 * ((((((((p2_0_p0_0 * q1_0_p0_0) + (p2_1_p0_1 * q1_1_p0_1)) + (p2_2_p0_2 * q1_2_p0_2)) + (p2_3_p0_3 * q1_3_p0_3)) + (p2_4_p0_4 * q1_4_p0_4)) + (p2_5_p0_5 * q1_5_p0_5)) + (p2_6_p0_6 * q1_6_p0_6)) + (p2_7_p0_7 * q1_7_p0_7)));
2053 double a22;
2054 a22 = (2 * ((((((((p2_0_p0_0 * q2_0_p0_0) + (p2_1_p0_1 * q2_1_p0_1)) + (p2_2_p0_2 * q2_2_p0_2)) + (p2_3_p0_3 * q2_3_p0_3)) + (p2_4_p0_4 * q2_4_p0_4)) + (p2_5_p0_5 * q2_5_p0_5)) + (p2_6_p0_6 * q2_6_p0_6)) + (p2_7_p0_7 * q2_7_p0_7)));
2055 double a23;
2056 a23 = (2 * ((((((((p2_0_p0_0 * q3_0_p0_0) + (p2_1_p0_1 * q3_1_p0_1)) + (p2_2_p0_2 * q3_2_p0_2)) + (p2_3_p0_3 * q3_3_p0_3)) + (p2_4_p0_4 * q3_4_p0_4)) + (p2_5_p0_5 * q3_5_p0_5)) + (p2_6_p0_6 * q3_6_p0_6)) + (p2_7_p0_7 * q3_7_p0_7)));
2057 double a30;
2058 a30 = (2 * ((((((((p3_0_p0_0 * q0_0_p0_0) + (p3_1_p0_1 * q0_1_p0_1)) + (p3_2_p0_2 * q0_2_p0_2)) + (p3_3_p0_3 * q0_3_p0_3)) + (p3_4_p0_4 * q0_4_p0_4)) + (p3_5_p0_5 * q0_5_p0_5)) + (p3_6_p0_6 * q0_6_p0_6)) + (p3_7_p0_7 * q0_7_p0_7)));
2059 double a31;
2060 a31 = (2 * ((((((((p3_0_p0_0 * q1_0_p0_0) + (p3_1_p0_1 * q1_1_p0_1)) + (p3_2_p0_2 * q1_2_p0_2)) + (p3_3_p0_3 * q1_3_p0_3)) + (p3_4_p0_4 * q1_4_p0_4)) + (p3_5_p0_5 * q1_5_p0_5)) + (p3_6_p0_6 * q1_6_p0_6)) + (p3_7_p0_7 * q1_7_p0_7)));
2061 double a32;
2062 a32 = (2 * ((((((((p3_0_p0_0 * q2_0_p0_0) + (p3_1_p0_1 * q2_1_p0_1)) + (p3_2_p0_2 * q2_2_p0_2)) + (p3_3_p0_3 * q2_3_p0_3)) + (p3_4_p0_4 * q2_4_p0_4)) + (p3_5_p0_5 * q2_5_p0_5)) + (p3_6_p0_6 * q2_6_p0_6)) + (p3_7_p0_7 * q2_7_p0_7)));
2063 double a33;
2064 a33 = (2 * ((((((((p3_0_p0_0 * q3_0_p0_0) + (p3_1_p0_1 * q3_1_p0_1)) + (p3_2_p0_2 * q3_2_p0_2)) + (p3_3_p0_3 * q3_3_p0_3)) + (p3_4_p0_4 * q3_4_p0_4)) + (p3_5_p0_5 * q3_5_p0_5)) + (p3_6_p0_6 * q3_6_p0_6)) + (p3_7_p0_7 * q3_7_p0_7)));
2065 double a40;
2066 a40 = (2 * ((((((((p4_0_p0_0 * q0_0_p0_0) + (p4_1_p0_1 * q0_1_p0_1)) + (p4_2_p0_2 * q0_2_p0_2)) + (p4_3_p0_3 * q0_3_p0_3)) + (p4_4_p0_4 * q0_4_p0_4)) + (p4_5_p0_5 * q0_5_p0_5)) + (p4_6_p0_6 * q0_6_p0_6)) + (p4_7_p0_7 * q0_7_p0_7)));
2067 double a41;
2068 a41 = (2 * ((((((((p4_0_p0_0 * q1_0_p0_0) + (p4_1_p0_1 * q1_1_p0_1)) + (p4_2_p0_2 * q1_2_p0_2)) + (p4_3_p0_3 * q1_3_p0_3)) + (p4_4_p0_4 * q1_4_p0_4)) + (p4_5_p0_5 * q1_5_p0_5)) + (p4_6_p0_6 * q1_6_p0_6)) + (p4_7_p0_7 * q1_7_p0_7)));
2069 double a42;
2070 a42 = (2 * ((((((((p4_0_p0_0 * q2_0_p0_0) + (p4_1_p0_1 * q2_1_p0_1)) + (p4_2_p0_2 * q2_2_p0_2)) + (p4_3_p0_3 * q2_3_p0_3)) + (p4_4_p0_4 * q2_4_p0_4)) + (p4_5_p0_5 * q2_5_p0_5)) + (p4_6_p0_6 * q2_6_p0_6)) + (p4_7_p0_7 * q2_7_p0_7)));
2071 double a43;
2072 a43 = (2 * ((((((((p4_0_p0_0 * q3_0_p0_0) + (p4_1_p0_1 * q3_1_p0_1)) + (p4_2_p0_2 * q3_2_p0_2)) + (p4_3_p0_3 * q3_3_p0_3)) + (p4_4_p0_4 * q3_4_p0_4)) + (p4_5_p0_5 * q3_5_p0_5)) + (p4_6_p0_6 * q3_6_p0_6)) + (p4_7_p0_7 * q3_7_p0_7)));
2073 double b00;
2074 b00 = (((a11 * ((a22 * a33) - (a23 * a32))) - (a21 * ((a12 * a33) - (a13 * a32)))) + (a31 * ((a12 * a23) - (a13 * a22))));
2075 double b01;
2076 b01 = -((((a22 * a33) - (a23 * a32)) + ((a23 * a31) - (a21 * a33))) + ((a21 * a32) - (a22 * a31)));
2077 double b02;
2078 b02 = ((((a12 * a33) - (a13 * a32)) + ((a13 * a31) - (a11 * a33))) + ((a11 * a32) - (a12 * a31)));
2079 double b03;
2080 b03 = -((((a12 * a23) - (a13 * a22)) + ((a13 * a21) - (a11 * a23))) + ((a11 * a22) - (a12 * a21)));
2081 double b10;
2082 b10 = -(((a10 * ((a22 * a33) - (a23 * a32))) - (a20 * ((a12 * a33) - (a13 * a32)))) + (a30 * ((a12 * a23) - (a13 * a22))));
2083 double b11;
2084 b11 = ((((a22 * a33) - (a23 * a32)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a32) - (a22 * a30)));
2085 double b12;
2086 b12 = -((((a12 * a33) - (a13 * a32)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a32) - (a12 * a30)));
2087 double b13;
2088 b13 = ((((a12 * a23) - (a13 * a22)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a22) - (a12 * a20)));
2089 double b20;
2090 b20 = (((a10 * ((a21 * a33) - (a23 * a31))) - (a20 * ((a11 * a33) - (a13 * a31)))) + (a30 * ((a11 * a23) - (a13 * a21))));
2091 double b21;
2092 b21 = -((((a21 * a33) - (a23 * a31)) + ((a23 * a30) - (a20 * a33))) + ((a20 * a31) - (a21 * a30)));
2093 double b22;
2094 b22 = ((((a11 * a33) - (a13 * a31)) + ((a13 * a30) - (a10 * a33))) + ((a10 * a31) - (a11 * a30)));
2095 double b23;
2096 b23 = -((((a11 * a23) - (a13 * a21)) + ((a13 * a20) - (a10 * a23))) + ((a10 * a21) - (a11 * a20)));
2097 double b30;
2098 b30 = -(((a10 * ((a21 * a32) - (a22 * a31))) - (a20 * ((a11 * a32) - (a12 * a31)))) + (a30 * ((a11 * a22) - (a12 * a21))));
2099 double b31;
2100 b31 = ((((a21 * a32) - (a22 * a31)) + ((a22 * a30) - (a20 * a32))) + ((a20 * a31) - (a21 * a30)));
2101 double b32;
2102 b32 = -((((a11 * a32) - (a12 * a31)) + ((a12 * a30) - (a10 * a32))) + ((a10 * a31) - (a11 * a30)));
2103 double b33;
2104 b33 = ((((a11 * a22) - (a12 * a21)) + ((a12 * a20) - (a10 * a22))) + ((a10 * a21) - (a11 * a20)));
2105 double Delta;
2106 Delta = (((b00 + b10) + b20) + b30);
2107 double DeltaLambda0;
2108 DeltaLambda0 = ((((b01 * l1) + (b02 * l2)) + (b03 * l3)) + b00);
2109 double DeltaLambda1;
2110 DeltaLambda1 = ((((b11 * l1) + (b12 * l2)) + (b13 * l3)) + b10);
2111 double DeltaLambda2;
2112 DeltaLambda2 = ((((b21 * l1) + (b22 * l2)) + (b23 * l3)) + b20);
2113 double DeltaLambda3;
2114 DeltaLambda3 = ((((b31 * l1) + (b32 * l2)) + (b33 * l3)) + b30);
2115 double r;
2116 r = ((Delta * l4) - ((((a40 * DeltaLambda0) + (a41 * DeltaLambda1)) + (a42 * DeltaLambda2)) + (a43 * DeltaLambda3)));
2117 double eps;
2118 double max1 = fabs(p2_5_p0_5);
2119 if( (max1 < fabs(p2_3_p0_3)) )
2120 {
2121 max1 = fabs(p2_3_p0_3);
2122 }
2123 if( (max1 < fabs(p2_0_p0_0)) )
2124 {
2125 max1 = fabs(p2_0_p0_0);
2126 }
2127 if( (max1 < fabs(p2_1_p0_1)) )
2128 {
2129 max1 = fabs(p2_1_p0_1);
2130 }
2131 if( (max1 < fabs(p2_6_p0_6)) )
2132 {
2133 max1 = fabs(p2_6_p0_6);
2134 }
2135 if( (max1 < fabs(p2_2_p0_2)) )
2136 {
2137 max1 = fabs(p2_2_p0_2);
2138 }
2139 if( (max1 < fabs(p2_4_p0_4)) )
2140 {
2141 max1 = fabs(p2_4_p0_4);
2142 }
2143 if( (max1 < fabs(p2_7_p0_7)) )
2144 {
2145 max1 = fabs(p2_7_p0_7);
2146 }
2147 double max2 = fabs(p1_4_p0_4);
2148 if( (max2 < fabs(p1_3_p0_3)) )
2149 {
2150 max2 = fabs(p1_3_p0_3);
2151 }
2152 if( (max2 < fabs(p1_7_p0_7)) )
2153 {
2154 max2 = fabs(p1_7_p0_7);
2155 }
2156 if( (max2 < fabs(p1_0_p0_0)) )
2157 {
2158 max2 = fabs(p1_0_p0_0);
2159 }
2160 if( (max2 < fabs(p1_2_p0_2)) )
2161 {
2162 max2 = fabs(p1_2_p0_2);
2163 }
2164 if( (max2 < fabs(p1_5_p0_5)) )
2165 {
2166 max2 = fabs(p1_5_p0_5);
2167 }
2168 if( (max2 < fabs(p1_1_p0_1)) )
2169 {
2170 max2 = fabs(p1_1_p0_1);
2171 }
2172 if( (max2 < fabs(p1_6_p0_6)) )
2173 {
2174 max2 = fabs(p1_6_p0_6);
2175 }
2176 double max3 = fabs(p3_3_p0_3);
2177 if( (max3 < fabs(p3_0_p0_0)) )
2178 {
2179 max3 = fabs(p3_0_p0_0);
2180 }
2181 if( (max3 < fabs(p3_1_p0_1)) )
2182 {
2183 max3 = fabs(p3_1_p0_1);
2184 }
2185 if( (max3 < fabs(p3_2_p0_2)) )
2186 {
2187 max3 = fabs(p3_2_p0_2);
2188 }
2189 if( (max3 < fabs(p3_4_p0_4)) )
2190 {
2191 max3 = fabs(p3_4_p0_4);
2192 }
2193 if( (max3 < fabs(p3_5_p0_5)) )
2194 {
2195 max3 = fabs(p3_5_p0_5);
2196 }
2197 if( (max3 < fabs(p3_6_p0_6)) )
2198 {
2199 max3 = fabs(p3_6_p0_6);
2200 }
2201 if( (max3 < fabs(p3_7_p0_7)) )
2202 {
2203 max3 = fabs(p3_7_p0_7);
2204 }
2205 double max4 = fabs(q0_0_p0_0);
2206 if( (max4 < fabs(q0_1_p0_1)) )
2207 {
2208 max4 = fabs(q0_1_p0_1);
2209 }
2210 if( (max4 < fabs(q0_2_p0_2)) )
2211 {
2212 max4 = fabs(q0_2_p0_2);
2213 }
2214 if( (max4 < fabs(q0_3_p0_3)) )
2215 {
2216 max4 = fabs(q0_3_p0_3);
2217 }
2218 if( (max4 < fabs(q0_4_p0_4)) )
2219 {
2220 max4 = fabs(q0_4_p0_4);
2221 }
2222 if( (max4 < fabs(q0_5_p0_5)) )
2223 {
2224 max4 = fabs(q0_5_p0_5);
2225 }
2226 if( (max4 < fabs(q0_6_p0_6)) )
2227 {
2228 max4 = fabs(q0_6_p0_6);
2229 }
2230 if( (max4 < fabs(q0_7_p0_7)) )
2231 {
2232 max4 = fabs(q0_7_p0_7);
2233 }
2234 if( (max4 < fabs(q1_0_p0_0)) )
2235 {
2236 max4 = fabs(q1_0_p0_0);
2237 }
2238 if( (max4 < fabs(q1_1_p0_1)) )
2239 {
2240 max4 = fabs(q1_1_p0_1);
2241 }
2242 if( (max4 < fabs(q1_2_p0_2)) )
2243 {
2244 max4 = fabs(q1_2_p0_2);
2245 }
2246 if( (max4 < fabs(q1_3_p0_3)) )
2247 {
2248 max4 = fabs(q1_3_p0_3);
2249 }
2250 if( (max4 < fabs(q1_4_p0_4)) )
2251 {
2252 max4 = fabs(q1_4_p0_4);
2253 }
2254 if( (max4 < fabs(q1_5_p0_5)) )
2255 {
2256 max4 = fabs(q1_5_p0_5);
2257 }
2258 if( (max4 < fabs(q1_6_p0_6)) )
2259 {
2260 max4 = fabs(q1_6_p0_6);
2261 }
2262 if( (max4 < fabs(q1_7_p0_7)) )
2263 {
2264 max4 = fabs(q1_7_p0_7);
2265 }
2266 double max5 = fabs(q1_0_p0_0);
2267 if( (max5 < fabs(q1_1_p0_1)) )
2268 {
2269 max5 = fabs(q1_1_p0_1);
2270 }
2271 if( (max5 < fabs(q1_2_p0_2)) )
2272 {
2273 max5 = fabs(q1_2_p0_2);
2274 }
2275 if( (max5 < fabs(q1_3_p0_3)) )
2276 {
2277 max5 = fabs(q1_3_p0_3);
2278 }
2279 if( (max5 < fabs(q1_4_p0_4)) )
2280 {
2281 max5 = fabs(q1_4_p0_4);
2282 }
2283 if( (max5 < fabs(q1_5_p0_5)) )
2284 {
2285 max5 = fabs(q1_5_p0_5);
2286 }
2287 if( (max5 < fabs(q1_6_p0_6)) )
2288 {
2289 max5 = fabs(q1_6_p0_6);
2290 }
2291 if( (max5 < fabs(q1_7_p0_7)) )
2292 {
2293 max5 = fabs(q1_7_p0_7);
2294 }
2295 if( (max5 < fabs(q2_0_p0_0)) )
2296 {
2297 max5 = fabs(q2_0_p0_0);
2298 }
2299 if( (max5 < fabs(q2_1_p0_1)) )
2300 {
2301 max5 = fabs(q2_1_p0_1);
2302 }
2303 if( (max5 < fabs(q2_2_p0_2)) )
2304 {
2305 max5 = fabs(q2_2_p0_2);
2306 }
2307 if( (max5 < fabs(q2_3_p0_3)) )
2308 {
2309 max5 = fabs(q2_3_p0_3);
2310 }
2311 if( (max5 < fabs(q2_4_p0_4)) )
2312 {
2313 max5 = fabs(q2_4_p0_4);
2314 }
2315 if( (max5 < fabs(q2_5_p0_5)) )
2316 {
2317 max5 = fabs(q2_5_p0_5);
2318 }
2319 if( (max5 < fabs(q2_6_p0_6)) )
2320 {
2321 max5 = fabs(q2_6_p0_6);
2322 }
2323 if( (max5 < fabs(q2_7_p0_7)) )
2324 {
2325 max5 = fabs(q2_7_p0_7);
2326 }
2327 double max6 = fabs(q2_0_p0_0);
2328 if( (max6 < fabs(q2_1_p0_1)) )
2329 {
2330 max6 = fabs(q2_1_p0_1);
2331 }
2332 if( (max6 < fabs(q2_2_p0_2)) )
2333 {
2334 max6 = fabs(q2_2_p0_2);
2335 }
2336 if( (max6 < fabs(q2_3_p0_3)) )
2337 {
2338 max6 = fabs(q2_3_p0_3);
2339 }
2340 if( (max6 < fabs(q2_4_p0_4)) )
2341 {
2342 max6 = fabs(q2_4_p0_4);
2343 }
2344 if( (max6 < fabs(q2_5_p0_5)) )
2345 {
2346 max6 = fabs(q2_5_p0_5);
2347 }
2348 if( (max6 < fabs(q2_6_p0_6)) )
2349 {
2350 max6 = fabs(q2_6_p0_6);
2351 }
2352 if( (max6 < fabs(q2_7_p0_7)) )
2353 {
2354 max6 = fabs(q2_7_p0_7);
2355 }
2356 if( (max6 < fabs(q3_0_p0_0)) )
2357 {
2358 max6 = fabs(q3_0_p0_0);
2359 }
2360 if( (max6 < fabs(q3_1_p0_1)) )
2361 {
2362 max6 = fabs(q3_1_p0_1);
2363 }
2364 if( (max6 < fabs(q3_2_p0_2)) )
2365 {
2366 max6 = fabs(q3_2_p0_2);
2367 }
2368 if( (max6 < fabs(q3_3_p0_3)) )
2369 {
2370 max6 = fabs(q3_3_p0_3);
2371 }
2372 if( (max6 < fabs(q3_4_p0_4)) )
2373 {
2374 max6 = fabs(q3_4_p0_4);
2375 }
2376 if( (max6 < fabs(q3_5_p0_5)) )
2377 {
2378 max6 = fabs(q3_5_p0_5);
2379 }
2380 if( (max6 < fabs(q3_6_p0_6)) )
2381 {
2382 max6 = fabs(q3_6_p0_6);
2383 }
2384 if( (max6 < fabs(q3_7_p0_7)) )
2385 {
2386 max6 = fabs(q3_7_p0_7);
2387 }
2388 double lower_bound_1;
2389 double upper_bound_1;
2390 int Delta_sign;
2391 int int_tmp_result;
2392 lower_bound_1 = max4;
2393 upper_bound_1 = max4;
2394 if( (max1 < lower_bound_1) )
2395 {
2396 lower_bound_1 = max1;
2397 }
2398 else
2399 {
2400 if( (max1 > upper_bound_1) )
2401 {
2402 upper_bound_1 = max1;
2403 }
2404 }
2405 if( (max3 < lower_bound_1) )
2406 {
2407 lower_bound_1 = max3;
2408 }
2409 else
2410 {
2411 if( (max3 > upper_bound_1) )
2412 {
2413 upper_bound_1 = max3;
2414 }
2415 }
2416 if( (max2 < lower_bound_1) )
2417 {
2418 lower_bound_1 = max2;
2419 }
2420 else
2421 {
2422 if( (max2 > upper_bound_1) )
2423 {
2424 upper_bound_1 = max2;
2425 }
2426 }
2427 if( (max6 < lower_bound_1) )
2428 {
2429 lower_bound_1 = max6;
2430 }
2431 else
2432 {
2433 if( (max6 > upper_bound_1) )
2434 {
2435 upper_bound_1 = max6;
2436 }
2437 }
2438 if( (max5 < lower_bound_1) )
2439 {
2440 lower_bound_1 = max5;
2441 }
2442 else
2443 {
2444 if( (max5 > upper_bound_1) )
2445 {
2446 upper_bound_1 = max5;
2447 }
2448 }
2449 if( (lower_bound_1 < 2.82528483194754087282e-50) )
2450 {
2451 return FPG_UNCERTAIN_VALUE;
2452 }
2453 else
2454 {
2455 if( (upper_bound_1 > 4.83570327845851562508e+24) )
2456 {
2457 return FPG_UNCERTAIN_VALUE;
2458 }
2459 eps = (4.37492894694731040560e-11 * (((((max2 * max4) * max1) * max5) * max3) * max6));
2460 if( (Delta > eps) )
2461 {
2462 int_tmp_result = 1;
2463 }
2464 else
2465 {
2466 if( (Delta < -eps) )
2467 {
2468 int_tmp_result = -1;
2469 }
2470 else
2471 {
2472 return FPG_UNCERTAIN_VALUE;
2473 }
2474 }
2475 }
2476 Delta_sign = int_tmp_result;
2477 int int_tmp_result_FFWKCAA;
2478 double max7 = max1;
2479 if( (max7 < max3) )
2480 {
2481 max7 = max3;
2482 }
2483 double max8 = max2;
2484 if( (max8 < fabs(p4_3_p0_3)) )
2485 {
2486 max8 = fabs(p4_3_p0_3);
2487 }
2488 if( (max8 < fabs(p4_1_p0_1)) )
2489 {
2490 max8 = fabs(p4_1_p0_1);
2491 }
2492 if( (max8 < fabs(p4_4_p0_4)) )
2493 {
2494 max8 = fabs(p4_4_p0_4);
2495 }
2496 if( (max8 < fabs(p4_0_p0_0)) )
2497 {
2498 max8 = fabs(p4_0_p0_0);
2499 }
2500 if( (max8 < fabs(p4_2_p0_2)) )
2501 {
2502 max8 = fabs(p4_2_p0_2);
2503 }
2504 if( (max8 < fabs(p4_5_p0_5)) )
2505 {
2506 max8 = fabs(p4_5_p0_5);
2507 }
2508 if( (max8 < fabs(p4_6_p0_6)) )
2509 {
2510 max8 = fabs(p4_6_p0_6);
2511 }
2512 if( (max8 < fabs(p4_7_p0_7)) )
2513 {
2514 max8 = fabs(p4_7_p0_7);
2515 }
2516 if( (max7 < max8) )
2517 {
2518 max7 = max8;
2519 }
2520 if( (max7 < max2) )
2521 {
2522 max7 = max2;
2523 }
2524 if( (max7 < max6) )
2525 {
2526 max7 = max6;
2527 }
2528 double max9 = max8;
2529 if( (max9 < max2) )
2530 {
2531 max9 = max2;
2532 }
2533 if( (max9 < max5) )
2534 {
2535 max9 = max5;
2536 }
2537 double max10 = max4;
2538 double max11 = max4;
2539 if( (max11 < max5) )
2540 {
2541 max11 = max5;
2542 }
2543 if( (max10 < max11) )
2544 {
2545 max10 = max11;
2546 }
2547 if( (max10 < max2) )
2548 {
2549 max10 = max2;
2550 }
2551 if( (max10 < max6) )
2552 {
2553 max10 = max6;
2554 }
2555 if( (max10 < max5) )
2556 {
2557 max10 = max5;
2558 }
2559 lower_bound_1 = max11;
2560 upper_bound_1 = max11;
2561 if( (max9 < lower_bound_1) )
2562 {
2563 lower_bound_1 = max9;
2564 }
2565 else
2566 {
2567 if( (max9 > upper_bound_1) )
2568 {
2569 upper_bound_1 = max9;
2570 }
2571 }
2572 if( (max7 < lower_bound_1) )
2573 {
2574 lower_bound_1 = max7;
2575 }
2576 else
2577 {
2578 if( (max7 > upper_bound_1) )
2579 {
2580 upper_bound_1 = max7;
2581 }
2582 }
2583 if( (max1 < lower_bound_1) )
2584 {
2585 lower_bound_1 = max1;
2586 }
2587 if( (max3 < lower_bound_1) )
2588 {
2589 lower_bound_1 = max3;
2590 }
2591 if( (max8 < lower_bound_1) )
2592 {
2593 lower_bound_1 = max8;
2594 }
2595 if( (max10 < lower_bound_1) )
2596 {
2597 lower_bound_1 = max10;
2598 }
2599 else
2600 {
2601 if( (max10 > upper_bound_1) )
2602 {
2603 upper_bound_1 = max10;
2604 }
2605 }
2606 if( (lower_bound_1 < 4.17402518597284772324e-38) )
2607 {
2608 return FPG_UNCERTAIN_VALUE;
2609 }
2610 else
2611 {
2612 if( (upper_bound_1 > 4.83570327845851562508e+24) )
2613 {
2614 return FPG_UNCERTAIN_VALUE;
2615 }
2616 eps = (2.41492645607254025015e-09 * (((((((max8 * max11) * max1) * max10) * max3) * max10) * max9) * max7));
2617 if( (r > eps) )
2618 {
2619 int_tmp_result_FFWKCAA = 1;
2620 }
2621 else
2622 {
2623 if( (r < -eps) )
2624 {
2625 int_tmp_result_FFWKCAA = -1;
2626 }
2627 else
2628 {
2629 return FPG_UNCERTAIN_VALUE;
2630 }
2631 }
2632 }
2633 return (Delta_sign * int_tmp_result_FFWKCAA);
2634}