cosmopolitan/dsp/core/differsumsq8.c

463 lines
27 KiB
C

/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│
│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│
╞══════════════════════════════════════════════════════════════════════════════╡
│ Copyright 2020 Justine Alexandra Roberts Tunney │
│ │
│ Permission to use, copy, modify, and/or distribute this software for │
│ any purpose with or without fee is hereby granted, provided that the │
│ above copyright notice and this permission notice appear in all copies. │
│ │
│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │
│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │
│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │
│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │
│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │
│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
│ PERFORMANCE OF THIS SOFTWARE. │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "dsp/core/core.h"
#include "dsp/core/q.h"
/**
* Computes Σ𝑥ᵢΣ𝑥ⱼΣ𝑥ₖΣ𝑥ₗΣ𝑥ₘΣ𝑥ₙΣ𝑥ₚΣ𝑥ₛ(δ₁𝑥ᵢ+δ₂𝑥ⱼ+δ₃𝑥ₖ+δ₄𝑥ₗ+δ₅𝑥ₘ+δ₆𝑥ₙ+δₚ𝑥ₚ+δₛ𝑥ₛ)²
*
* “As soon as an Analytical Engine exists, it will necessarily
* guide the future course of the science. Whenever any result
* is sought by its aid, the question will then arise — by what
* course of calculation can these results be arrived at by the
* machine in the shortest time?
*
* — Charles Babbage (Life of a Philosopher, 1864)
*
*/
double DifferSumSq8(const double D[static 8], double L, double H) {
double T10, T100, T101, T102, T103, T104, T105, T106, T107, T108, T109, T11;
double T110, T111, T112, T113, T114, T115, T116, T117, T118, T119, T12, T120;
double T121, T122, T123, T124, T125, T126, T127, T128, T129, T13, T130, T131;
double T132, T133, T134, T135, T136, T137, T138, T139, T14, T140, T141, T142;
double T143, T144, T145, T146, T147, T148, T149, T15, T150, T151, T152, T153;
double T154, T155, T156, T157, T158, T159, T16, T160, T161, T162, T163, T164;
double T165, T166, T167, T168, T169, T17, T170, T171, T172, T173, T174, T175;
double T176, T177, T178, T179, T18, T180, T181, T182, T183, T184, T185, T186;
double T187, T188, T189, T19, T190, T191, T192, T193, T194, T195, T196, T197;
double T198, T199, T2, T20, T200, T201, T202, T203, T204, T205, T206, T207;
double T208, T209, T21, T210, T211, T212, T213, T214, T215, T216, T217, T218;
double T219, T22, T220, T221, T222, T223, T224, T225, T226, T227, T228, T229;
double T230, T231, T232, T233, T234, T235, T236, T237, T238, T239, T24, T240;
double T241, T242, T243, T244, T245, T246, T247, T248, T249, T25, T250, T251;
double T252, T253, T254, T255, T256, T257, T258, T259, T26, T260, T261, T262;
double T263, T264, T265, T266, T267, T268, T269, T27, T270, T271, T272, T273;
double T274, T275, T276, T277, T278, T279, T28, T280, T281, T282, T283, T284;
double T285, T286, T287, T288, T289, T29, T290, T291, T292, T293, T294, T295;
double T296, T297, T298, T299, T3, T30, T300, T301, T302, T303, T304, T305;
double T307, T308, T309, T31, T310, T311, T312, T313, T314, T315, T316, T317;
double T318, T319, T32, T320, T321, T322, T323, T324, T325, T326, T327, T328;
double T329, T33, T330, T331, T332, T333, T334, T335, T336, T337, T338, T339;
double T34, T340, T341, T342, T343, T344, T345, T346, T347, T348, T349, T35;
double T350, T351, T352, T353, T354, T355, T356, T357, T358, T359, T36, T360;
double T361, T362, T363, T364, T365, T366, T367, T368, T369, T37, T370, T371;
double T372, T373, T374, T375, T376, T377, T378, T379, T38, T380, T381, T382;
double T383, T384, T385, T386, T387, T388, T389, T39, T390, T391, T392, T393;
double T394, T395, T396, T397, T398, T399, T4, T40, T400, T401, T402, T403;
double T405, T406, T407, T41, T42, T43, T44, T45, T46, T47, T48, T49, T5, T50;
double T51, T52, T53, T54, T55, T56, T57, T58, T59, T6, T60, T61, T62, T63;
double T65, T66, T67, T68, T69, T7, T70, T71, T72, T73, T74, T75, T76, T77;
double T79, T8, T80, T81, T82, T83, T84, T85, T86, T87, T88, T89, T9, T90;
double T92, T93, T94, T95, T96, T97, T98, T99, T23, T306, T91, T78, T64, T404;
T2 = 4 * D[5], T3 = 3 * D[4], T4 = 3 * D[3], T5 = 3 * D[2], T6 = 3 * D[1],
T7 = 3 * D[0], T8 = D[7] * D[7], T9 = D[6] * D[6], T10 = -28 * D[5],
T11 = -18 * D[4], T12 = -18 * D[3], T13 = -18 * D[2], T14 = -18 * D[1],
T15 = -18 * D[0], T16 = D[5] * D[5], T17 = D[4] * D[4], T18 = D[3] * D[3],
T19 = D[2] * D[2], T20 = D[1] * D[1], T21 = D[0] * D[0], T22 = -34 * D[5],
T23 = -24 * D[4], T24 = -24 * D[3], T25 = -24 * D[2], T26 = -24 * D[1],
T27 = -24 * D[0], T28 = 84 * D[5], T29 = 39 * D[4], T30 = 39 * D[3],
T31 = 39 * D[2], T32 = 39 * D[1], T33 = 39 * D[0], T34 = 210 * D[5],
T35 = 120 * D[4], T36 = 120 * D[3], T37 = 120 * D[2], T38 = 120 * D[1],
T39 = 120 * D[0], T40 = 128 * D[5], T41 = 84 * D[4], T42 = 84 * D[3],
T43 = 84 * D[2], T44 = 84 * D[1], T45 = 84 * D[0];
T46 = -144 * D[5], T47 = (T23 + T24 + T25 + T26 + T27) * D[5],
T48 = (T24 + T25 + T26 + T27) * D[4], T49 = (T25 + T26 + T27) * D[3],
T50 = (T26 + T27) * D[2], T51 = -24 * D[0] * D[1], T52 = -552 * D[5],
T53 = -192 * D[4], T54 = -192 * D[3], T55 = -192 * D[2], T56 = -192 * D[1],
T57 = -192 * D[0], T58 = H * H, T59 = -688 * D[5], T60 = -336 * D[4],
T61 = -336 * D[3], T62 = -336 * D[2], T63 = -336 * D[1], T64 = -336 * D[0],
T65 = -280 * D[5], T66 = -168 * D[4], T67 = -168 * D[3], T68 = -168 * D[2],
T69 = -168 * D[1], T70 = -168 * D[0], T71 = 168 * D[5], T72 = -42 * D[4],
T73 = -42 * D[3], T74 = -42 * D[2], T75 = -42 * D[1], T76 = -42 * D[0],
T77 = (H * H * H), T78 = 336 * D[4], T79 = 336 * D[3], T80 = 336 * D[2],
T81 = 336 * D[1], T82 = 336 * D[0], T83 = 1568 * D[5],
T84 = 336 * D[0] * D[1], T85 = 1288 * D[5], T86 = 504 * D[4],
T87 = 504 * D[3], T88 = 504 * D[2], T89 = 504 * D[1], T90 = 504 * D[0],
T91 = 392 * D[5], T92 = 210 * D[4], T93 = 210 * D[3], T94 = 210 * D[2],
T95 = 210 * D[1], T96 = 210 * D[0], T97 = 84 * T8, T98 = 168 * D[6],
T99 = 84 * T9, T100 = 84 * T16, T101 = (T41 + T42 + T43 + T44 + T45) * D[5],
T102 = 84 * T17, T103 = (T42 + T43 + T44 + T45) * D[4], T104 = 84 * T18,
T105 = (T43 + T44 + T45) * D[3], T106 = 84 * T19, T107 = (T44 + T45) * D[2],
T108 = 84 * T20, T109 = 84 * D[0] * D[1], T110 = 84 * T21, T111 = -924 * D[5],
T112 = (T78 + T79 + T80 + T81 + T82) * D[5],
T113 = (T79 + T80 + T81 + T82) * D[4], T114 = (T80 + T81 + T82) * D[3],
T115 = (T81 + T82) * D[2], T116 = (H * H * H * H), T117 = -2128 * D[5],
T118 = -2520 * D[5], T119 = (T66 + T67 + T68 + T69 + T70) * D[5],
T120 = (T67 + T68 + T69 + T70) * D[4], T121 = (T68 + T69 + T70) * D[3],
T122 = (T69 + T70) * D[2], T123 = -168 * D[0] * D[1], T124 = -1512 * D[5],
T125 = -420 * D[4], T126 = -420 * D[3], T127 = -420 * D[2],
T128 = -420 * D[1], T129 = -420 * D[0], T130 = -364 * D[5];
T131 = T97 + (T98 + T71 + T72 + T73 + T74 + T75 + T76) * D[7] + T99 +
(T71 + T72 + T73 + T74 + T75 + T76) * D[6] + T100 +
(T72 + T73 + T74 + T75 + T76) * D[5] + T102 +
(T73 + T74 + T75 + T76) * D[4] + T104 + (T74 + T75 + T76) * D[3] +
T106 + (T75 + T76) * D[2] + T108 - 42 * D[0] * D[1] + T110;
T132 = 462 * T8, T133 = 924 * D[6], T134 = 924 * D[5], T135 = 462 * T9,
T136 = 462 * T16, T137 = (T60 + T61 + T62 + T63 + T64) * D[5],
T138 = 462 * T17, T139 = (T61 + T62 + T63 + T64) * D[4], T140 = 462 * T18,
T141 = (T62 + T63 + T64) * D[3], T142 = 462 * T19, T143 = (T63 + T64) * D[2],
T144 = 462 * T20, T145 = 462 * T21, T146 = (H * H * H * H * H),
T147 = 2240 * D[5], T148 = -840 * D[4], T149 = -840 * D[3],
T150 = -840 * D[2], T151 = -840 * D[1], T152 = -840 * D[0],
T153 = 3080 * D[5], T154 = (T148 + T149 + T150 + T151 + T152) * D[5],
T155 = (T149 + T150 + T151 + T152) * D[4], T156 = (T150 + T151 + T152) * D[3],
T157 = (T151 + T152) * D[2], T158 = -840 * D[0] * D[1], T159 = 1260 * T8,
T160 = 2520 * D[6], T161 = 2520 * D[5], T162 = 1260 * T9, T163 = 1260 * T16,
T164 = 1260 * T17, T165 = 1260 * T18, T166 = 1260 * T19, T167 = 1260 * T20,
T168 = 210 * D[0] * D[1], T169 = 1260 * T21, T170 = 168 * D[4],
T171 = 168 * D[3], T172 = 168 * D[2], T173 = 168 * D[1], T174 = 168 * D[0],
T175 = 1148 * D[5], T176 = 168 * D[0] * D[1], T177 = 224 * D[5];
T178 = -72 * T8 + (-144 * D[6] + T46 + T23 + T24 + T25 + T26 + T27) * D[7] -
72 * T9 + (T46 + T23 + T24 + T25 + T26 + T27) * D[6] - 72 * T16 + T47 -
72 * T17 + T48 - 72 * T18 + T49 - 72 * T19 + T50 - 72 * T20 + T51 -
72 * T21;
T179 = 420 * T8, T180 = 840 * D[6], T181 = 840 * D[5], T182 = 420 * T9,
T183 = 840 * D[5] * D[6], T184 = 420 * T16, T185 = 420 * T17,
T186 = 420 * T18, T187 = 420 * T19, T188 = 420 * T20, T189 = 420 * T21,
T190 = (H * H * H * H * H * H);
T191 = -1064 * T8 +
(-2128 * D[6] + T117 + T78 + T79 + T80 + T81 + T82) * D[7] -
1064 * T9 + (T117 + T78 + T79 + T80 + T81 + T82) * D[6] - 1064 * T16 +
T112 - 1064 * T17 + T113 - 1064 * T18 + T114 - 1064 * T19 + T115 -
1064 * T20 + T84 - 1064 * T21;
T192 = 1540 * T8, T193 = 3080 * D[6], T194 = 840 * D[4], T195 = 840 * D[3],
T196 = 840 * D[2], T197 = 840 * D[1], T198 = 840 * D[0], T199 = 1540 * T9,
T200 = 1540 * T16, T201 = 1540 * T17, T202 = 1540 * T18, T203 = 1540 * T19,
T204 = 1540 * T20, T205 = 840 * D[0] * D[1], T206 = 1540 * T21,
T207 = -2800 * D[5], T208 = (T194 + T195 + T196 + T197 + T198) * D[5],
T209 = (T195 + T196 + T197 + T198) * D[4], T210 = (T196 + T197 + T198) * D[3],
T211 = (T197 + T198) * D[2], T212 = -1624 * D[5], T213 = -88 * D[5];
T214 = 42 * T8 + (84 * D[6] + T28 + T29 + T30 + T31 + T32 + T33) * D[7] +
42 * T9 + (T28 + T29 + T30 + T31 + T32 + T33) * D[6] + 42 * T16 +
(T29 + T30 + T31 + T32 + T33) * D[5] + 42 * T17 +
(T30 + T31 + T32 + T33) * D[4] + 42 * T18 + (T31 + T32 + T33) * D[3] +
42 * T19 + (T32 + T33) * D[2] + 42 * T20 + 39 * D[0] * D[1] + 42 * T21;
T215 = 276 * T8, T216 = 552 * D[6], T217 = 552 * D[5], T218 = 192 * D[4],
T219 = 192 * D[3], T220 = 192 * D[2], T221 = 192 * D[1], T222 = 192 * D[0],
T223 = 276 * T9, T224 = 276 * T16, T225 = 276 * T17, T226 = 276 * T18,
T227 = 276 * T19, T228 = 276 * T20, T229 = 192 * D[0] * D[1],
T230 = 276 * T21, T231 = (H * H * H * H * H * H * H);
T232 = 784 * T8 + (1568 * D[6] + T83 + T78 + T79 + T80 + T81 + T82) * D[7] +
784 * T9 + (T83 + T78 + T79 + T80 + T81 + T82) * D[6] + 784 * T16 +
T112 + 784 * T17 + T113 + 784 * T18 + T114 + 784 * T19 + T115 +
784 * T20 + T84 + 784 * T21;
T233 = (T170 + T171 + T172 + T173 + T174) * D[5];
T234 = (T171 + T172 + T173 + T174) * D[4];
T235 = (T172 + T173 + T174) * D[3];
T236 = (T173 + T174) * D[2];
T237 = T159 + (T160 + T161 - T92 - T93 - T94 - T95 - T96) * D[7] + T162 +
(T161 - T92 - T93 - T94 - T95 - T96) * D[6] + T163 +
(-T92 - T93 - T94 - T95 - T96) * D[5] + T164 +
(-T93 - T94 - T95 - T96) * D[4] + T165 + (-T94 - T95 - T96) * D[3] +
T166 + (-T95 - T96) * D[2] + T167 - T168 + T169;
T238 = 812 * T8, T239 = 1624 * D[6], T240 = 1624 * D[5], T241 = 812 * T9,
T242 = 812 * T16, T243 = 812 * T17, T244 = 812 * T18, T245 = 812 * T19,
T246 = 812 * T20, T247 = 812 * T21, T248 = 672 * D[5], T249 = 20 * D[5],
T250 = (T3 + T4 + T5 + T6 + T7) * D[5], T251 = (T4 + T5 + T6 + T7) * D[4],
T252 = (T5 + T6 + T7) * D[3], T253 = (T6 + T7) * D[2], T254 = 3 * D[0] * D[1];
T255 = -14 * T8 + (-28 * D[6] + T10 + T11 + T12 + T13 + T14 + T15) * D[7] -
14 * T9 + (T10 + T11 + T12 + T13 + T14 + T15) * D[6] - 14 * T16 +
(T11 + T12 + T13 + T14 + T15) * D[5] - 14 * T17 +
(T12 + T13 + T14 + T15) * D[4] - 14 * T18 + (T13 + T14 + T15) * D[3] -
14 * T19 + (T14 + T15) * D[2] - 14 * T20 - 18 * D[0] * D[1] - 14 * T21;
T256 = 105 * T8, T257 = 210 * D[6], T258 = 105 * T9, T259 = 105 * T16,
T260 = 105 * T17, T261 = 105 * T18, T262 = 105 * T19, T263 = 105 * T20,
T264 = 120 * D[0] * D[1], T265 = 105 * T21,
T266 = (H * H * H * H * H * H * H * H);
T267 = -344 * T8 + (-688 * D[6] + T59 + T60 + T61 + T62 + T63 + T64) * D[7] -
344 * T9 + (T59 + T60 + T61 + T62 + T63 + T64) * D[6] - 344 * T16 +
T137 - 344 * T17 + T139 - 344 * T18 + T141 - 344 * T19 + T143 -
344 * T20 - T84 - 344 * T21;
T268 = 644 * T8, T269 = 1288 * D[6], T270 = 644 * T9, T271 = 644 * T16,
T272 = 644 * T17, T273 = 644 * T18, T274 = 644 * T19, T275 = 644 * T20,
T276 = 504 * D[0] * D[1], T277 = 644 * T21;
T278 = -756 * T8 +
(-1512 * D[6] + T124 + T125 + T126 + T127 + T128 + T129) * D[7] -
756 * T9 + (T124 + T125 + T126 + T127 + T128 + T129) * D[6] -
756 * T16 + (T125 + T126 + T127 + T128 + T129) * D[5] - 756 * T17 +
(T126 + T127 + T128 + T129) * D[4] - 756 * T18 +
(T127 + T128 + T129) * D[3] - 756 * T19 + (T128 + T129) * D[2] -
756 * T20 - 420 * D[0] * D[1] - 756 * T21;
T279 = 574 * T8, T280 = 1148 * D[6], T281 = 574 * T9, T282 = 574 * T16,
T283 = 574 * T17, T284 = 574 * T18, T285 = 574 * T19, T286 = 574 * T20,
T287 = 574 * T21;
T288 = -280 * T8 + (-560 * D[6] - 560 * D[5]) * D[7] - 280 * T9 -
560 * D[5] * D[6] - 280 * T16 - 280 * T17 - 280 * T18 - 280 * T19 -
280 * T20 - 280 * T21;
T289 = 24 * D[4], T290 = 24 * D[3], T291 = 24 * D[2], T292 = 24 * D[1],
T293 = 24 * D[0], T294 = 24 * D[0] * D[1], T295 = -14 * T8, T296 = -28 * D[6],
T297 = -14 * T9, T298 = 6 * D[4], T299 = 6 * D[3], T300 = 6 * D[2],
T301 = 6 * D[1], T302 = 6 * D[0], T303 = -14 * T16, T304 = -14 * T17,
T305 = -14 * T18, T306 = -14 * T19, T307 = -14 * T20, T308 = -14 * T21;
T309 = 2 * T8 + (4 * D[6] + T2 + T3 + T4 + T5 + T6 + T7) * D[7] + 2 * T9 +
(T2 + T3 + T4 + T5 + T6 + T7) * D[6] + 2 * T16 + T250 + 2 * T17 +
T251 + 2 * T18 + T252 + 2 * T19 + T253 + 2 * T20 + T254 + 2 * T21;
T310 = 17 * T8, T311 = 34 * D[6], T312 = 34 * D[5], T313 = 17 * T9,
T314 = 17 * T16, T315 = (T289 + T290 + T291 + T292 + T293) * D[5];
T316 = 17 * T17, T317 = (T290 + T291 + T292 + T293) * D[4];
T318 = 17 * T18, T319 = (T291 + T292 + T293) * D[3];
T320 = 17 * T19, T321 = (T292 + T293) * D[2];
T322 = 17 * T20, T323 = 17 * T21, T324 = (H * H * H * H * H * H * H * H * H);
T325 = 64 * T8,
T326 = (128 * D[6] + T40 + T41 + T42 + T43 + T44 + T45) * D[7];
T327 = 64 * T9, T328 = (T40 + T41 + T42 + T43 + T44 + T45) * D[6];
T329 = 64 * T16, T330 = 64 * T17, T331 = 64 * T18, T332 = 64 * T19,
T333 = 64 * T20, T334 = 64 * T21, T335 = 140 * T8, T336 = 280 * D[6],
T337 = 280 * D[5], T338 = 140 * T9, T339 = 140 * T16, T340 = 140 * T17,
T341 = 140 * T18, T342 = 140 * T19, T343 = 140 * T20, T344 = 140 * T21,
T345 = 196 * T8;
T346 = (392 * D[6] + T91 + T92 + T93 + T94 + T95 + T96) * D[7];
T347 = 196 * T9;
T348 = (T91 + T92 + T93 + T94 + T95 + T96) * D[6];
T349 = 196 * T16;
T350 = (T92 + T93 + T94 + T95 + T96) * D[5];
T351 = 196 * T17;
T352 = (T93 + T94 + T95 + T96) * D[4];
T353 = 196 * T18;
T354 = (T94 + T95 + T96) * D[3];
T355 = 196 * T19;
T356 = (T95 + T96) * D[2];
T357 = 196 * T20, T358 = 196 * T21, T359 = 182 * T8, T360 = 364 * D[6],
T361 = 364 * D[5], T362 = 182 * T9, T363 = 182 * T16, T364 = 182 * T17,
T365 = 182 * T18, T366 = 182 * T19, T367 = 182 * T20, T368 = 182 * T21,
T369 = 112 * T8;
T370 = (224 * D[6] + T177 + T41 + T42 + T43 + T44 + T45) * D[7];
T371 = 112 * T9;
T372 = (T177 + T41 + T42 + T43 + T44 + T45) * D[6];
T373 = 112 * T16, T374 = 112 * T17, T375 = 112 * T18, T376 = 112 * T19,
T377 = 112 * T20, T378 = 112 * T21, T379 = 44 * T8, T380 = 88 * D[6],
T381 = 88 * D[5], T382 = 44 * T9, T383 = 44 * T16, T384 = 44 * T17,
T385 = 44 * T18, T386 = 44 * T19, T387 = 44 * T20, T388 = 44 * T21,
T389 = 10 * T8, T390 = (20 * D[6] + T249 + T3 + T4 + T5 + T6 + T7) * D[7];
T391 = 10 * T9, T392 = (T249 + T3 + T4 + T5 + T6 + T7) * D[6];
T393 = 10 * T16, T394 = 10 * T17, T395 = 10 * T18, T396 = 10 * T19,
T397 = 10 * T20, T398 = 10 * T21, T399 = 2 * D[6], T400 = 2 * D[5],
T401 = 2 * D[5] * D[6];
T402 = T309 * (L * L * L * L * L * L * L * L * L * L) +
(T255 * H - T310 + (-T311 + T22 + T23 + T24 + T25 + T26 + T27) * D[7] -
T313 + (T22 + T23 + T24 + T25 + T26 + T27) * D[6] - T314 + T47 -
T316 + T48 - T318 + T49 - T320 + T50 - T322 + T51 - T323) *
(L * L * L * L * L * L * L * L * L) +
(T214 * T58 +
(T256 + (T257 + T34 + T35 + T36 + T37 + T38 + T39) * D[7] + T258 +
(T34 + T35 + T36 + T37 + T38 + T39) * D[6] + T259 +
(T35 + T36 + T37 + T38 + T39) * D[5] + T260 +
(T36 + T37 + T38 + T39) * D[4] + T261 + (T37 + T38 + T39) * D[3] +
T262 + (T38 + T39) * D[2] + T263 + T264 + T265) *
H +
T325 + T326 + T327 + T328 + T329 + T101 + T330 + T103 + T331 + T105 +
T332 + T107 + T333 + T109 + T334) *
(L * L * L * L * L * L * L * L) +
(T178 * T77 +
(-T215 + (-T216 + T52 + T53 + T54 + T55 + T56 + T57) * D[7] - T223 +
(T52 + T53 + T54 + T55 + T56 + T57) * D[6] - T224 +
(T53 + T54 + T55 + T56 + T57) * D[5] - T225 +
(T54 + T55 + T56 + T57) * D[4] - T226 + (T55 + T56 + T57) * D[3] -
T227 + (T56 + T57) * D[2] - T228 - T229 - T230) *
T58 +
T267 * H - T335 + (-T336 + T65 + T66 + T67 + T68 + T69 + T70) * D[7] -
T338 + (T65 + T66 + T67 + T68 + T69 + T70) * D[6] - T339 + T119 -
T340 + T120 - T341 + T121 - T342 + T122 - T343 + T123 - T344) *
(L * L * L * L * L * L * L);
T403 =
T402 +
(T131 * T116 +
(T179 + (T180 + T181) * D[7] + T182 + T183 + T184 + T185 + T186 + T187 +
T188 + T189) *
T77 +
T232 * T58 +
(T268 + (T269 + T85 + T86 + T87 + T88 + T89 + T90) * D[7] + T270 +
(T85 + T86 + T87 + T88 + T89 + T90) * D[6] + T271 +
(T86 + T87 + T88 + T89 + T90) * D[5] + T272 +
(T87 + T88 + T89 + T90) * D[4] + T273 + (T88 + T89 + T90) * D[3] +
T274 + (T89 + T90) * D[2] + T275 + T276 + T277) *
H +
T345 + T346 + T347 + T348 + T349 + T350 + T351 + T352 + T353 + T354 +
T355 + T356 + T357 + T168 + T358) *
(L * L * L * L * L * L) +
((-T97 + (-T98 - T71 + T41 + T42 + T43 + T44 + T45) * D[7] - T99 +
(-T71 + T41 + T42 + T43 + T44 + T45) * D[6] - T100 + T101 - T102 +
T103 - T104 + T105 - T106 + T107 - T108 + T109 - T110) *
T146 +
(-T132 + (-T133 + T111 + T78 + T79 + T80 + T81 + T82) * D[7] - T135 +
(T111 + T78 + T79 + T80 + T81 + T82) * D[6] - T136 + T112 - T138 +
T113 - T140 + T114 - T142 + T115 - T144 + T84 - T145) *
T116 +
T191 * T77 +
(-T159 + (-T160 + T118 + T66 + T67 + T68 + T69 + T70) * D[7] - T162 +
(T118 + T66 + T67 + T68 + T69 + T70) * D[6] - T163 + T119 - T164 +
T120 - T165 + T121 - T166 + T122 - T167 + T123 - T169) *
T58 +
T278 * H - T359 + (-T360 + T130 + T66 + T67 + T68 + T69 + T70) * D[7] -
T362 + (T130 + T66 + T67 + T68 + T69 + T70) * D[6] - T363 + T119 - T364 +
T120 - T365 + T121 - T366 + T122 - T367 + T123 - T368) *
(L * L * L * L * L);
T404 =
T403 +
(T131 * T190 +
(T132 + (T133 + T134 + T60 + T61 + T62 + T63 + T64) * D[7] + T135 +
(T134 + T60 + T61 + T62 + T63 + T64) * D[6] + T136 + T137 + T138 +
T139 + T140 + T141 + T142 + T143 + T144 - T84 + T145) *
T146 +
(1120 * T8 +
(2240 * D[6] + T147 + T148 + T149 + T150 + T151 + T152) * D[7] +
1120 * T9 + (T147 + T148 + T149 + T150 + T151 + T152) * D[6] +
1120 * T16 + T154 + 1120 * T17 + T155 + 1120 * T18 + T156 + 1120 * T19 +
T157 + 1120 * T20 + T158 + 1120 * T21) *
T116 +
(T192 + (T193 + T153 + T148 + T149 + T150 + T151 + T152) * D[7] + T199 +
(T153 + T148 + T149 + T150 + T151 + T152) * D[6] + T200 + T154 + T201 +
T155 + T202 + T156 + T203 + T157 + T204 + T158 + T206) *
T77 +
T237 * T58 +
(T279 + (T280 + T175 + T170 + T171 + T172 + T173 + T174) * D[7] + T281 +
(T175 + T170 + T171 + T172 + T173 + T174) * D[6] + T282 + T233 + T283 +
T234 + T284 + T235 + T285 + T236 + T286 + T176 + T287) *
H +
T369 + T370 + T371 + T372 + T373 + T101 + T374 + T103 + T375 + T105 +
T376 + T107 + T377 + T109 + T378) *
(L * L * L * L) +
(T178 * T231 +
(-T179 + (-T180 - T181) * D[7] - T182 - T183 - T184 - T185 - T186 -
T187 - T188 - T189) *
T190 +
T191 * T146 +
(-T192 + (-T193 - T153 + T194 + T195 + T196 + T197 + T198) * D[7] -
T199 + (-T153 + T194 + T195 + T196 + T197 + T198) * D[6] - T200 + T208 -
T201 + T209 - T202 + T210 - T203 + T211 - T204 + T205 - T206) *
T116 +
(-1400 * T8 +
(-2800 * D[6] + T207 + T194 + T195 + T196 + T197 + T198) * D[7] -
1400 * T9 + (T207 + T194 + T195 + T196 + T197 + T198) * D[6] -
1400 * T16 + T208 - 1400 * T17 + T209 - 1400 * T18 + T210 - 1400 * T19 +
T211 - 1400 * T20 + T205 - 1400 * T21) *
T77 +
(-T238 + (-T239 + T212 + T78 + T79 + T80 + T81 + T82) * D[7] - T241 +
(T212 + T78 + T79 + T80 + T81 + T82) * D[6] - T242 + T112 - T243 +
T113 - T244 + T114 - T245 + T115 - T246 + T84 - T247) *
T58 +
T288 * H - T379 + (-T380 + T213 + T23 + T24 + T25 + T26 + T27) * D[7] -
T382 + (T213 + T23 + T24 + T25 + T26 + T27) * D[6] - T383 + T47 - T384 +
T48 - T385 + T49 - T386 + T50 - T387 + T51 - T388) *
(L * L * L);
T405 =
T214 * T266 +
(T215 + (T216 + T217 + T218 + T219 + T220 + T221 + T222) * D[7] + T223 +
(T217 + T218 + T219 + T220 + T221 + T222) * D[6] + T224 +
(T218 + T219 + T220 + T221 + T222) * D[5] + T225 +
(T219 + T220 + T221 + T222) * D[4] + T226 + (T220 + T221 + T222) * D[3] +
T227 + (T221 + T222) * D[2] + T228 + T229 + T230) *
T231 +
T232 * T190 +
(T159 + (T160 + T161 + T170 + T171 + T172 + T173 + T174) * D[7] + T162 +
(T161 + T170 + T171 + T172 + T173 + T174) * D[6] + T163 + T233 + T164 +
T234 + T165 + T235 + T166 + T236 + T167 + T176 + T169) *
T146 +
T237 * T116 +
(T238 + (T239 + T240 + T60 + T61 + T62 + T63 + T64) * D[7] + T241 +
(T240 + T60 + T61 + T62 + T63 + T64) * D[6] + T242 + T137 + T243 + T139 +
T244 + T141 + T245 + T143 + T246 - T84 + T247) *
T77 +
(336 * T8 + (672 * D[6] + T248 + T66 + T67 + T68 + T69 + T70) * D[7] +
336 * T9 + (T248 + T66 + T67 + T68 + T69 + T70) * D[6] + 336 * T16 +
T119 + 336 * T17 + T120 + 336 * T18 + T121 + 336 * T19 + T122 +
336 * T20 - T176 + 336 * T21) *
T58 +
(T97 + (T98 + T71 + T23 + T24 + T25 + T26 + T27) * D[7] + T99 +
(T71 + T23 + T24 + T25 + T26 + T27) * D[6] + T100 + T47 + T102 + T48 +
T104 + T49 + T106 + T50 + T108 + T51 + T110) *
H +
T389 + T390 + T391;
T406 = T255 * T324 +
(-T256 + (-T257 - T34 - T35 - T36 - T37 - T38 - T39) * D[7] - T258 +
(-T34 - T35 - T36 - T37 - T38 - T39) * D[6] - T259 +
(-T35 - T36 - T37 - T38 - T39) * D[5] - T260 +
(-T36 - T37 - T38 - T39) * D[4] - T261 + (-T37 - T38 - T39) * D[3] -
T262 + (-T38 - T39) * D[2] - T263 - T264 - T265) *
T266 +
T267 * T231 +
(-T268 + (-T269 - T85 - T86 - T87 - T88 - T89 - T90) * D[7] - T270 +
(-T85 - T86 - T87 - T88 - T89 - T90) * D[6] - T271 +
(-T86 - T87 - T88 - T89 - T90) * D[5] - T272 +
(-T87 - T88 - T89 - T90) * D[4] - T273 + (-T88 - T89 - T90) * D[3] -
T274 + (-T89 - T90) * D[2] - T275 - T276 - T277) *
T190 +
T278 * T146 +
(-T279 + (-T280 - T175 + T66 + T67 + T68 + T69 + T70) * D[7] - T281 +
(-T175 + T66 + T67 + T68 + T69 + T70) * D[6] - T282 + T119 - T283 +
T120 - T284 + T121 - T285 + T122 - T286 - T176 - T287) *
T116 +
T288 * T77 +
(-T97 + (-T98 - T71 + T289 + T290 + T291 + T292 + T293) * D[7] - T99 +
(-T71 + T289 + T290 + T291 + T292 + T293) * D[6] - T100 + T315 -
T102 + T317 - T104 + T319 - T106 + T321 - T108 + T294 - T110) *
T58;
T407 = T404 +
(T405 + T392 + T393 + T250 + T394 + T251 + T395 + T252 + T396 + T253 +
T397 + T254 + T398) *
L * L +
(T406 +
(T295 + (T296 + T10 + T298 + T299 + T300 + T301 + T302) * D[7] +
T297 + (T10 + T298 + T299 + T300 + T301 + T302) * D[6] + T303 +
(T298 + T299 + T300 + T301 + T302) * D[5] + T304 +
(T299 + T300 + T301 + T302) * D[4] + T305 +
(T300 + T301 + T302) * D[3] + T306 + (T301 + T302) * D[2] + T307 +
6 * D[0] * D[1] + T308) *
H -
T8 + (-T399 - T400) * D[7] - T9 - T401 - T16 - T17 - T18 - T19 - T20 -
T21) *
L +
T309 * (H * H * H * H * H * H * H * H * H * H) +
(T310 + (T311 + T312 + T289 + T290 + T291 + T292 + T293) * D[7] +
T313 + (T312 + T289 + T290 + T291 + T292 + T293) * D[6] + T314 +
T315 + T316 + T317 + T318 + T319 + T320 + T321 + T322 + T294 + T323) *
T324 +
(T325 + T326 + T327 + T328 + T329 + T101 + T330 + T103 + T331 + T105 +
T332 + T107 + T333 + T109 + T334) *
T266 +
(T335 + (T336 + T337 + T170 + T171 + T172 + T173 + T174) * D[7] +
T338 + (T337 + T170 + T171 + T172 + T173 + T174) * D[6] + T339 +
T233 + T340 + T234 + T341 + T235 + T342 + T236 + T343 + T176 + T344) *
T231 +
(T345 + T346 + T347 + T348 + T349 + T350 + T351 + T352 + T353 + T354 +
T355 + T356 + T357 + T168 + T358) *
T190;
return (T407 +
(T359 + (T360 + T361 + T170 + T171 + T172 + T173 + T174) * D[7] +
T362 + (T361 + T170 + T171 + T172 + T173 + T174) * D[6] + T363 +
T233 + T364 + T234 + T365 + T235 + T366 + T236 + T367 + T176 +
T368) *
T146 +
(T369 + T370 + T371 + T372 + T373 + T101 + T374 + T103 + T375 + T105 +
T376 + T107 + T377 + T109 + T378) *
T116 +
(T379 + (T380 + T381 + T289 + T290 + T291 + T292 + T293) * D[7] +
T382 + (T381 + T289 + T290 + T291 + T292 + T293) * D[6] + T383 +
T315 + T384 + T317 + T385 + T319 + T386 + T321 + T387 + T294 +
T388) *
T77 +
(T389 + T390 + T391 + T392 + T393 + T250 + T394 + T251 + T395 + T252 +
T396 + T253 + T397 + T254 + T398) *
T58 +
(T8 + (T399 + T400) * D[7] + T9 + T401 + T16 + T17 + T18 + T19 + T20 +
T21) *
H) /
6;
}