#include "igen_lib.h"

f64_I cospi(f64_I x);
f64_I sinpi(f64_I x);
static f64_I D1[512];

void init_DFT256(f64_I a) {
  for (int i3 = 0; i3 <= 15; i3++) {
    for (int i10 = 0; i10 <= 7; i10++) {
      f64_I _t1 = _ia_cast_int_to_f64((2 * (i3 * i10)));
      f64_I _t2 = _ia_set_f64(-256.0, 256.0);
      f64_I _t3 = _ia_div_f64(_t1, _t2);
      D1[((32 * i3) + (4 * i10))] = cospi(_t3);
      f64_I _t4 = _ia_cast_int_to_f64((2 * (((2 * (i3 * i10)) + 1) / 2)));
      f64_I _t5 = _ia_set_f64(-256.0, 256.0);
      f64_I _t6 = _ia_div_f64(_t4, _t5);
      D1[(1 + (32 * i3) + (4 * i10))] = sinpi(_t6);
      f64_I _t7 = _ia_cast_int_to_f64((2 * (i3 * (8 + i10))));
      f64_I _t8 = _ia_set_f64(-256.0, 256.0);
      f64_I _t9 = _ia_div_f64(_t7, _t8);
      D1[(2 + (32 * i3) + (4 * i10))] = cospi(_t9);
      f64_I _t10 = _ia_cast_int_to_f64((2 * (((2 * (i3 * (8 + i10))) + 1) / 2)));
      f64_I _t11 = _ia_set_f64(-256.0, 256.0);
      f64_I _t12 = _ia_div_f64(_t10, _t11);
      D1[(3 + (32 * i3) + (4 * i10))] = sinpi(_t12);
    }
  }
}

void DFT256(f64_I *Y, f64_I *X) {
  static f64_I T1[512];
  for (int i3 = 0; i3 <= 15; i3++) {
    int a654;
    int a655;
    int a656;
    int a657;
    int a658;
    int a659;
    int a660;
    int a661;
    int a664;
    int a665;
    int a666;
    int a667;
    int a668;
    int a669;
    int a670;
    int a671;
    int a674;
    int a675;
    int a676;
    int a677;
    int a678;
    int a679;
    int a680;
    int a681;
    int a684;
    int a685;
    int a686;
    int a687;
    int a688;
    int a689;
    int a690;
    int a691;
    int a698;
    int a699;
    int a700;
    int a701;
    int a702;
    int a703;
    int a704;
    int a705;
    int a706;
    int a707;
    int a708;
    int a709;
    int a710;
    int a711;
    int a712;
    int a713;
    int a714;
    int a715;
    int a716;
    int a717;
    int a718;
    int a719;
    int a720;
    int a721;
    int a722;
    int a723;
    int a724;
    int a725;
    int a726;
    int a727;
    int a728;
    int a729;
    f64_I a662;
    f64_I a663;
    f64_I a672;
    f64_I a673;
    f64_I a682;
    f64_I a683;
    f64_I a692;
    f64_I a693;
    f64_I a694;
    f64_I a695;
    f64_I a696;
    f64_I a697;
    f64_I s157;
    f64_I s158;
    f64_I s159;
    f64_I s160;
    f64_I s161;
    f64_I s162;
    f64_I s163;
    f64_I s164;
    f64_I s165;
    f64_I s166;
    f64_I s167;
    f64_I s168;
    f64_I s169;
    f64_I s170;
    f64_I s171;
    f64_I s172;
    f64_I s173;
    f64_I s174;
    f64_I s175;
    f64_I s176;
    f64_I t438;
    f64_I t439;
    f64_I t440;
    f64_I t441;
    f64_I t442;
    f64_I t443;
    f64_I t444;
    f64_I t445;
    f64_I t446;
    f64_I t447;
    f64_I t448;
    f64_I t449;
    f64_I t450;
    f64_I t451;
    f64_I t452;
    f64_I t453;
    f64_I t454;
    f64_I t455;
    f64_I t456;
    f64_I t457;
    f64_I t458;
    f64_I t459;
    f64_I t460;
    f64_I t461;
    f64_I t462;
    f64_I t463;
    f64_I t464;
    f64_I t465;
    f64_I t466;
    f64_I t467;
    f64_I t468;
    f64_I t469;
    f64_I t470;
    f64_I t471;
    f64_I t472;
    f64_I t473;
    f64_I t474;
    f64_I t475;
    f64_I t476;
    f64_I t477;
    f64_I t478;
    f64_I t479;
    f64_I t480;
    f64_I t481;
    f64_I t482;
    f64_I t483;
    f64_I t484;
    f64_I t485;
    f64_I t486;
    f64_I t487;
    f64_I t488;
    f64_I t489;
    f64_I t490;
    f64_I t491;
    f64_I t492;
    f64_I t493;
    f64_I t494;
    f64_I t495;
    f64_I t496;
    f64_I t497;
    f64_I t498;
    f64_I t499;
    f64_I t500;
    f64_I t501;
    f64_I t502;
    f64_I t503;
    f64_I t504;
    f64_I t505;
    f64_I t506;
    f64_I t507;
    f64_I t508;
    f64_I t509;
    f64_I t510;
    f64_I t511;
    f64_I t512;
    f64_I t513;
    f64_I t514;
    f64_I t515;
    f64_I t516;
    f64_I t517;
    f64_I t518;
    f64_I t519;
    f64_I t520;
    f64_I t521;
    f64_I t522;
    f64_I t523;
    f64_I t524;
    f64_I t525;
    f64_I t526;
    f64_I t527;
    f64_I t528;
    f64_I t529;
    f64_I t530;
    f64_I t531;
    f64_I t532;
    f64_I t533;
    f64_I t534;
    f64_I t535;
    f64_I t536;
    f64_I t537;
    f64_I t538;
    f64_I t539;
    f64_I t540;
    f64_I t541;
    f64_I t542;
    f64_I t543;
    f64_I t544;
    f64_I t545;
    f64_I t546;
    f64_I t547;
    f64_I t548;
    f64_I t549;
    f64_I t550;
    f64_I t551;
    f64_I t552;
    f64_I t553;
    a654 = (2 * i3);
    a655 = (a654 + 1);
    a656 = (a654 + 256);
    a657 = (a654 + 257);
    t438 = _ia_add_f64(*((X + a654)), *((X + a656)));
    t439 = _ia_add_f64(*((X + a655)), *((X + a657)));
    t440 = _ia_sub_f64(*((X + a654)), *((X + a656)));
    t441 = _ia_sub_f64(*((X + a655)), *((X + a657)));
    a658 = (a654 + 64);
    a659 = (a654 + 65);
    a660 = (a654 + 320);
    a661 = (a654 + 321);
    t442 = _ia_add_f64(*((X + a658)), *((X + a660)));
    t443 = _ia_add_f64(*((X + a659)), *((X + a661)));
    f64_I _t13 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t14 = _ia_sub_f64(*((X + a658)), *((X + a660)));
    a662 = _ia_mul_f64(_t13, _t14);
    f64_I _t15 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t16 = _ia_sub_f64(*((X + a659)), *((X + a661)));
    a663 = _ia_mul_f64(_t15, _t16);
    s157 = _ia_sub_f64(a662, a663);
    s158 = _ia_add_f64(a662, a663);
    a664 = (a654 + 128);
    a665 = (a654 + 129);
    a666 = (a654 + 384);
    a667 = (a654 + 385);
    t444 = _ia_add_f64(*((X + a664)), *((X + a666)));
    t445 = _ia_add_f64(*((X + a665)), *((X + a667)));
    t446 = _ia_sub_f64(*((X + a664)), *((X + a666)));
    t447 = _ia_sub_f64(*((X + a665)), *((X + a667)));
    a668 = (a654 + 192);
    a669 = (a654 + 193);
    a670 = (a654 + 448);
    a671 = (a654 + 449);
    t448 = _ia_add_f64(*((X + a668)), *((X + a670)));
    t449 = _ia_add_f64(*((X + a669)), *((X + a671)));
    f64_I _t17 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t18 = _ia_sub_f64(*((X + a668)), *((X + a670)));
    a672 = _ia_mul_f64(_t17, _t18);
    f64_I _t19 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t20 = _ia_sub_f64(*((X + a669)), *((X + a671)));
    a673 = _ia_mul_f64(_t19, _t20);
    s159 = _ia_add_f64(a672, a673);
    s160 = _ia_sub_f64(a672, a673);
    t450 = _ia_add_f64(t438, t444);
    t451 = _ia_add_f64(t439, t445);
    t452 = _ia_sub_f64(t438, t444);
    t453 = _ia_sub_f64(t439, t445);
    t454 = _ia_add_f64(t442, t448);
    t455 = _ia_add_f64(t443, t449);
    t456 = _ia_sub_f64(t442, t448);
    t457 = _ia_sub_f64(t443, t449);
    t458 = _ia_add_f64(t450, t454);
    t459 = _ia_add_f64(t451, t455);
    t460 = _ia_sub_f64(t450, t454);
    t461 = _ia_sub_f64(t451, t455);
    t462 = _ia_sub_f64(t452, t457);
    t463 = _ia_add_f64(t453, t456);
    t464 = _ia_add_f64(t452, t457);
    t465 = _ia_sub_f64(t453, t456);
    t466 = _ia_sub_f64(t440, t447);
    t467 = _ia_add_f64(t441, t446);
    t468 = _ia_add_f64(t440, t447);
    t469 = _ia_sub_f64(t441, t446);
    t470 = _ia_sub_f64(s157, s159);
    t471 = _ia_add_f64(s158, s160);
    t472 = _ia_add_f64(s157, s159);
    t473 = _ia_sub_f64(s158, s160);
    t474 = _ia_add_f64(t466, t470);
    t475 = _ia_add_f64(t467, t471);
    t476 = _ia_sub_f64(t466, t470);
    t477 = _ia_sub_f64(t467, t471);
    t478 = _ia_sub_f64(t468, t473);
    t479 = _ia_add_f64(t469, t472);
    t480 = _ia_add_f64(t468, t473);
    t481 = _ia_sub_f64(t469, t472);
    a674 = (a654 + 32);
    a675 = (a654 + 33);
    a676 = (a654 + 288);
    a677 = (a654 + 289);
    t482 = _ia_add_f64(*((X + a674)), *((X + a676)));
    t483 = _ia_add_f64(*((X + a675)), *((X + a677)));
    t484 = _ia_sub_f64(*((X + a674)), *((X + a676)));
    t485 = _ia_sub_f64(*((X + a675)), *((X + a677)));
    a678 = (a654 + 96);
    a679 = (a654 + 97);
    a680 = (a654 + 352);
    a681 = (a654 + 353);
    t486 = _ia_add_f64(*((X + a678)), *((X + a680)));
    t487 = _ia_add_f64(*((X + a679)), *((X + a681)));
    f64_I _t21 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t22 = _ia_sub_f64(*((X + a678)), *((X + a680)));
    a682 = _ia_mul_f64(_t21, _t22);
    f64_I _t23 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t24 = _ia_sub_f64(*((X + a679)), *((X + a681)));
    a683 = _ia_mul_f64(_t23, _t24);
    s161 = _ia_sub_f64(a682, a683);
    s162 = _ia_add_f64(a682, a683);
    a684 = (a654 + 160);
    a685 = (a654 + 161);
    a686 = (a654 + 416);
    a687 = (a654 + 417);
    t488 = _ia_add_f64(*((X + a684)), *((X + a686)));
    t489 = _ia_add_f64(*((X + a685)), *((X + a687)));
    t490 = _ia_sub_f64(*((X + a684)), *((X + a686)));
    t491 = _ia_sub_f64(*((X + a685)), *((X + a687)));
    a688 = (a654 + 224);
    a689 = (a654 + 225);
    a690 = (a654 + 480);
    a691 = (a654 + 481);
    t492 = _ia_add_f64(*((X + a688)), *((X + a690)));
    t493 = _ia_add_f64(*((X + a689)), *((X + a691)));
    f64_I _t25 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t26 = _ia_sub_f64(*((X + a688)), *((X + a690)));
    a692 = _ia_mul_f64(_t25, _t26);
    f64_I _t27 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t28 = _ia_sub_f64(*((X + a689)), *((X + a691)));
    a693 = _ia_mul_f64(_t27, _t28);
    s163 = _ia_add_f64(a692, a693);
    s164 = _ia_sub_f64(a692, a693);
    t494 = _ia_add_f64(t482, t488);
    t495 = _ia_add_f64(t483, t489);
    t496 = _ia_sub_f64(t482, t488);
    t497 = _ia_sub_f64(t483, t489);
    t498 = _ia_add_f64(t486, t492);
    t499 = _ia_add_f64(t487, t493);
    t500 = _ia_sub_f64(t486, t492);
    t501 = _ia_sub_f64(t487, t493);
    t502 = _ia_add_f64(t494, t498);
    t503 = _ia_add_f64(t495, t499);
    t504 = _ia_sub_f64(t494, t498);
    t505 = _ia_sub_f64(t495, t499);
    f64_I _t29 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t30 = _ia_sub_f64(t496, t501);
    a694 = _ia_mul_f64(_t29, _t30);
    f64_I _t31 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t32 = _ia_add_f64(t497, t500);
    a695 = _ia_mul_f64(_t31, _t32);
    s165 = _ia_sub_f64(a694, a695);
    s166 = _ia_add_f64(a694, a695);
    f64_I _t33 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t34 = _ia_add_f64(t496, t501);
    a696 = _ia_mul_f64(_t33, _t34);
    f64_I _t35 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t36 = _ia_sub_f64(t497, t500);
    a697 = _ia_mul_f64(_t35, _t36);
    s167 = _ia_add_f64(a696, a697);
    s168 = _ia_sub_f64(a696, a697);
    t506 = _ia_sub_f64(t484, t491);
    t507 = _ia_add_f64(t485, t490);
    t508 = _ia_add_f64(t484, t491);
    t509 = _ia_sub_f64(t485, t490);
    t510 = _ia_sub_f64(s161, s163);
    t511 = _ia_add_f64(s162, s164);
    t512 = _ia_add_f64(s161, s163);
    t513 = _ia_sub_f64(s162, s164);
    t514 = _ia_add_f64(t506, t510);
    t515 = _ia_add_f64(t507, t511);
    t516 = _ia_sub_f64(t506, t510);
    t517 = _ia_sub_f64(t507, t511);
    f64_I _t37 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t38 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t39 = _ia_mul_f64(_t37, t514);
    f64_I _t40 = _ia_mul_f64(_t38, t515);
    s169 = _ia_sub_f64(_t39, _t40);
    f64_I _t41 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t42 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t43 = _ia_mul_f64(_t41, t514);
    f64_I _t44 = _ia_mul_f64(_t42, t515);
    s170 = _ia_add_f64(_t43, _t44);
    f64_I _t45 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t46 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t47 = _ia_mul_f64(_t45, t516);
    f64_I _t48 = _ia_mul_f64(_t46, t517);
    s171 = _ia_add_f64(_t47, _t48);
    f64_I _t49 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t50 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t51 = _ia_mul_f64(_t49, t516);
    f64_I _t52 = _ia_mul_f64(_t50, t517);
    s172 = _ia_sub_f64(_t51, _t52);
    t518 = _ia_sub_f64(t508, t513);
    t519 = _ia_add_f64(t509, t512);
    t520 = _ia_add_f64(t508, t513);
    t521 = _ia_sub_f64(t509, t512);
    f64_I _t53 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t54 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t55 = _ia_mul_f64(_t53, t518);
    f64_I _t56 = _ia_mul_f64(_t54, t519);
    s173 = _ia_sub_f64(_t55, _t56);
    f64_I _t57 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t58 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t59 = _ia_mul_f64(_t57, t518);
    f64_I _t60 = _ia_mul_f64(_t58, t519);
    s174 = _ia_add_f64(_t59, _t60);
    f64_I _t61 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t62 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t63 = _ia_mul_f64(_t61, t520);
    f64_I _t64 = _ia_mul_f64(_t62, t521);
    s175 = _ia_add_f64(_t63, _t64);
    f64_I _t65 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t66 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t67 = _ia_mul_f64(_t65, t520);
    f64_I _t68 = _ia_mul_f64(_t66, t521);
    s176 = _ia_sub_f64(_t67, _t68);
    t522 = _ia_add_f64(t458, t502);
    t523 = _ia_add_f64(t459, t503);
    t524 = _ia_sub_f64(t458, t502);
    t525 = _ia_sub_f64(t459, t503);
    a698 = (32 * i3);
    a699 = (a698 + 1);
    a700 = (a698 + 2);
    a701 = (a698 + 3);
    f64_I _t69 = _ia_mul_f64(*((D1 + a698)), t522);
    f64_I _t70 = _ia_mul_f64(*((D1 + a699)), t523);
    *((T1 + a698)) = _ia_sub_f64(_t69, _t70);
    f64_I _t71 = _ia_mul_f64(*((D1 + a699)), t522);
    f64_I _t72 = _ia_mul_f64(*((D1 + a698)), t523);
    *((T1 + a699)) = _ia_add_f64(_t71, _t72);
    a702 = (a698 + 16);
    f64_I _t73 = _ia_mul_f64(*((D1 + a700)), t524);
    f64_I _t74 = _ia_mul_f64(*((D1 + a701)), t525);
    *((T1 + a702)) = _ia_sub_f64(_t73, _t74);
    a703 = (a698 + 17);
    f64_I _t75 = _ia_mul_f64(*((D1 + a701)), t524);
    f64_I _t76 = _ia_mul_f64(*((D1 + a700)), t525);
    *((T1 + a703)) = _ia_add_f64(_t75, _t76);
    t526 = _ia_add_f64(t474, s169);
    t527 = _ia_add_f64(t475, s170);
    t528 = _ia_sub_f64(t474, s169);
    t529 = _ia_sub_f64(t475, s170);
    a704 = (a698 + 4);
    a705 = (a698 + 5);
    a706 = (a698 + 6);
    a707 = (a698 + 7);
    f64_I _t77 = _ia_mul_f64(*((D1 + a704)), t526);
    f64_I _t78 = _ia_mul_f64(*((D1 + a705)), t527);
    *((T1 + a700)) = _ia_sub_f64(_t77, _t78);
    f64_I _t79 = _ia_mul_f64(*((D1 + a705)), t526);
    f64_I _t80 = _ia_mul_f64(*((D1 + a704)), t527);
    *((T1 + a701)) = _ia_add_f64(_t79, _t80);
    a708 = (a698 + 18);
    f64_I _t81 = _ia_mul_f64(*((D1 + a706)), t528);
    f64_I _t82 = _ia_mul_f64(*((D1 + a707)), t529);
    *((T1 + a708)) = _ia_sub_f64(_t81, _t82);
    a709 = (a698 + 19);
    f64_I _t83 = _ia_mul_f64(*((D1 + a707)), t528);
    f64_I _t84 = _ia_mul_f64(*((D1 + a706)), t529);
    *((T1 + a709)) = _ia_add_f64(_t83, _t84);
    t530 = _ia_add_f64(t462, s165);
    t531 = _ia_add_f64(t463, s166);
    t532 = _ia_sub_f64(t462, s165);
    t533 = _ia_sub_f64(t463, s166);
    a710 = (a698 + 8);
    a711 = (a698 + 9);
    a712 = (a698 + 10);
    a713 = (a698 + 11);
    f64_I _t85 = _ia_mul_f64(*((D1 + a710)), t530);
    f64_I _t86 = _ia_mul_f64(*((D1 + a711)), t531);
    *((T1 + a704)) = _ia_sub_f64(_t85, _t86);
    f64_I _t87 = _ia_mul_f64(*((D1 + a711)), t530);
    f64_I _t88 = _ia_mul_f64(*((D1 + a710)), t531);
    *((T1 + a705)) = _ia_add_f64(_t87, _t88);
    a714 = (a698 + 20);
    f64_I _t89 = _ia_mul_f64(*((D1 + a712)), t532);
    f64_I _t90 = _ia_mul_f64(*((D1 + a713)), t533);
    *((T1 + a714)) = _ia_sub_f64(_t89, _t90);
    a715 = (a698 + 21);
    f64_I _t91 = _ia_mul_f64(*((D1 + a713)), t532);
    f64_I _t92 = _ia_mul_f64(*((D1 + a712)), t533);
    *((T1 + a715)) = _ia_add_f64(_t91, _t92);
    t534 = _ia_add_f64(t478, s173);
    t535 = _ia_add_f64(t479, s174);
    t536 = _ia_sub_f64(t478, s173);
    t537 = _ia_sub_f64(t479, s174);
    a716 = (a698 + 12);
    a717 = (a698 + 13);
    a718 = (a698 + 14);
    a719 = (a698 + 15);
    f64_I _t93 = _ia_mul_f64(*((D1 + a716)), t534);
    f64_I _t94 = _ia_mul_f64(*((D1 + a717)), t535);
    *((T1 + a706)) = _ia_sub_f64(_t93, _t94);
    f64_I _t95 = _ia_mul_f64(*((D1 + a717)), t534);
    f64_I _t96 = _ia_mul_f64(*((D1 + a716)), t535);
    *((T1 + a707)) = _ia_add_f64(_t95, _t96);
    a720 = (a698 + 22);
    f64_I _t97 = _ia_mul_f64(*((D1 + a718)), t536);
    f64_I _t98 = _ia_mul_f64(*((D1 + a719)), t537);
    *((T1 + a720)) = _ia_sub_f64(_t97, _t98);
    a721 = (a698 + 23);
    f64_I _t99 = _ia_mul_f64(*((D1 + a719)), t536);
    f64_I _t100 = _ia_mul_f64(*((D1 + a718)), t537);
    *((T1 + a721)) = _ia_add_f64(_t99, _t100);
    t538 = _ia_sub_f64(t460, t505);
    t539 = _ia_add_f64(t461, t504);
    t540 = _ia_add_f64(t460, t505);
    t541 = _ia_sub_f64(t461, t504);
    f64_I _t101 = _ia_mul_f64(*((D1 + a702)), t538);
    f64_I _t102 = _ia_mul_f64(*((D1 + a703)), t539);
    *((T1 + a710)) = _ia_sub_f64(_t101, _t102);
    f64_I _t103 = _ia_mul_f64(*((D1 + a703)), t538);
    f64_I _t104 = _ia_mul_f64(*((D1 + a702)), t539);
    *((T1 + a711)) = _ia_add_f64(_t103, _t104);
    a722 = (a698 + 24);
    f64_I _t105 = _ia_mul_f64(*((D1 + a708)), t540);
    f64_I _t106 = _ia_mul_f64(*((D1 + a709)), t541);
    *((T1 + a722)) = _ia_sub_f64(_t105, _t106);
    a723 = (a698 + 25);
    f64_I _t107 = _ia_mul_f64(*((D1 + a709)), t540);
    f64_I _t108 = _ia_mul_f64(*((D1 + a708)), t541);
    *((T1 + a723)) = _ia_add_f64(_t107, _t108);
    t542 = _ia_sub_f64(t476, s171);
    t543 = _ia_add_f64(t477, s172);
    t544 = _ia_add_f64(t476, s171);
    t545 = _ia_sub_f64(t477, s172);
    f64_I _t109 = _ia_mul_f64(*((D1 + a714)), t542);
    f64_I _t110 = _ia_mul_f64(*((D1 + a715)), t543);
    *((T1 + a712)) = _ia_sub_f64(_t109, _t110);
    f64_I _t111 = _ia_mul_f64(*((D1 + a715)), t542);
    f64_I _t112 = _ia_mul_f64(*((D1 + a714)), t543);
    *((T1 + a713)) = _ia_add_f64(_t111, _t112);
    a724 = (a698 + 26);
    f64_I _t113 = _ia_mul_f64(*((D1 + a720)), t544);
    f64_I _t114 = _ia_mul_f64(*((D1 + a721)), t545);
    *((T1 + a724)) = _ia_sub_f64(_t113, _t114);
    a725 = (a698 + 27);
    f64_I _t115 = _ia_mul_f64(*((D1 + a721)), t544);
    f64_I _t116 = _ia_mul_f64(*((D1 + a720)), t545);
    *((T1 + a725)) = _ia_add_f64(_t115, _t116);
    t546 = _ia_sub_f64(t464, s167);
    t547 = _ia_add_f64(t465, s168);
    t548 = _ia_add_f64(t464, s167);
    t549 = _ia_sub_f64(t465, s168);
    f64_I _t117 = _ia_mul_f64(*((D1 + a722)), t546);
    f64_I _t118 = _ia_mul_f64(*((D1 + a723)), t547);
    *((T1 + a716)) = _ia_sub_f64(_t117, _t118);
    f64_I _t119 = _ia_mul_f64(*((D1 + a723)), t546);
    f64_I _t120 = _ia_mul_f64(*((D1 + a722)), t547);
    *((T1 + a717)) = _ia_add_f64(_t119, _t120);
    a726 = (a698 + 28);
    f64_I _t121 = _ia_mul_f64(*((D1 + a724)), t548);
    f64_I _t122 = _ia_mul_f64(*((D1 + a725)), t549);
    *((T1 + a726)) = _ia_sub_f64(_t121, _t122);
    a727 = (a698 + 29);
    f64_I _t123 = _ia_mul_f64(*((D1 + a725)), t548);
    f64_I _t124 = _ia_mul_f64(*((D1 + a724)), t549);
    *((T1 + a727)) = _ia_add_f64(_t123, _t124);
    t550 = _ia_sub_f64(t480, s175);
    t551 = _ia_add_f64(t481, s176);
    t552 = _ia_add_f64(t480, s175);
    t553 = _ia_sub_f64(t481, s176);
    a728 = (a698 + 30);
    a729 = (a698 + 31);
    f64_I _t125 = _ia_mul_f64(*((D1 + a726)), t550);
    f64_I _t126 = _ia_mul_f64(*((D1 + a727)), t551);
    *((T1 + a718)) = _ia_sub_f64(_t125, _t126);
    f64_I _t127 = _ia_mul_f64(*((D1 + a727)), t550);
    f64_I _t128 = _ia_mul_f64(*((D1 + a726)), t551);
    *((T1 + a719)) = _ia_add_f64(_t127, _t128);
    f64_I _t129 = _ia_mul_f64(*((D1 + a728)), t552);
    f64_I _t130 = _ia_mul_f64(*((D1 + a729)), t553);
    *((T1 + a728)) = _ia_sub_f64(_t129, _t130);
    f64_I _t131 = _ia_mul_f64(*((D1 + a729)), t552);
    f64_I _t132 = _ia_mul_f64(*((D1 + a728)), t553);
    *((T1 + a729)) = _ia_add_f64(_t131, _t132);
  }
  for (int i2 = 0; i2 <= 15; i2++) {
    int a1000;
    int a1001;
    int a1002;
    int a1003;
    int a1004;
    int a1005;
    int a1006;
    int a1007;
    int a1010;
    int a1011;
    int a1012;
    int a1013;
    int a1014;
    int a1015;
    int a1016;
    int a1017;
    int a1020;
    int a1021;
    int a1022;
    int a1023;
    int a1024;
    int a1025;
    int a1026;
    int a1027;
    int a1030;
    int a1031;
    int a1032;
    int a1033;
    int a1034;
    int a1035;
    int a1036;
    int a1037;
    f64_I a1008;
    f64_I a1009;
    f64_I a1018;
    f64_I a1019;
    f64_I a1028;
    f64_I a1029;
    f64_I a1038;
    f64_I a1039;
    f64_I a1040;
    f64_I a1041;
    f64_I a1042;
    f64_I a1043;
    f64_I s269;
    f64_I s270;
    f64_I s271;
    f64_I s272;
    f64_I s273;
    f64_I s274;
    f64_I s275;
    f64_I s276;
    f64_I s277;
    f64_I s278;
    f64_I s279;
    f64_I s280;
    f64_I s281;
    f64_I s282;
    f64_I s283;
    f64_I s284;
    f64_I s285;
    f64_I s286;
    f64_I s287;
    f64_I s288;
    f64_I t894;
    f64_I t895;
    f64_I t896;
    f64_I t897;
    f64_I t898;
    f64_I t899;
    f64_I t900;
    f64_I t901;
    f64_I t902;
    f64_I t903;
    f64_I t904;
    f64_I t905;
    f64_I t906;
    f64_I t907;
    f64_I t908;
    f64_I t909;
    f64_I t910;
    f64_I t911;
    f64_I t912;
    f64_I t913;
    f64_I t914;
    f64_I t915;
    f64_I t916;
    f64_I t917;
    f64_I t918;
    f64_I t919;
    f64_I t920;
    f64_I t921;
    f64_I t922;
    f64_I t923;
    f64_I t924;
    f64_I t925;
    f64_I t926;
    f64_I t927;
    f64_I t928;
    f64_I t929;
    f64_I t930;
    f64_I t931;
    f64_I t932;
    f64_I t933;
    f64_I t934;
    f64_I t935;
    f64_I t936;
    f64_I t937;
    f64_I t938;
    f64_I t939;
    f64_I t940;
    f64_I t941;
    f64_I t942;
    f64_I t943;
    f64_I t944;
    f64_I t945;
    f64_I t946;
    f64_I t947;
    f64_I t948;
    f64_I t949;
    f64_I t950;
    f64_I t951;
    f64_I t952;
    f64_I t953;
    f64_I t954;
    f64_I t955;
    f64_I t956;
    f64_I t957;
    f64_I t958;
    f64_I t959;
    f64_I t960;
    f64_I t961;
    f64_I t962;
    f64_I t963;
    f64_I t964;
    f64_I t965;
    f64_I t966;
    f64_I t967;
    f64_I t968;
    f64_I t969;
    f64_I t970;
    f64_I t971;
    f64_I t972;
    f64_I t973;
    f64_I t974;
    f64_I t975;
    f64_I t976;
    f64_I t977;
    a1000 = (2 * i2);
    a1001 = (a1000 + 1);
    a1002 = (a1000 + 256);
    a1003 = (a1000 + 257);
    t894 = _ia_add_f64(*((T1 + a1000)), *((T1 + a1002)));
    t895 = _ia_add_f64(*((T1 + a1001)), *((T1 + a1003)));
    t896 = _ia_sub_f64(*((T1 + a1000)), *((T1 + a1002)));
    t897 = _ia_sub_f64(*((T1 + a1001)), *((T1 + a1003)));
    a1004 = (a1000 + 64);
    a1005 = (a1000 + 65);
    a1006 = (a1000 + 320);
    a1007 = (a1000 + 321);
    t898 = _ia_add_f64(*((T1 + a1004)), *((T1 + a1006)));
    t899 = _ia_add_f64(*((T1 + a1005)), *((T1 + a1007)));
    f64_I _t133 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t134 = _ia_sub_f64(*((T1 + a1004)), *((T1 + a1006)));
    a1008 = _ia_mul_f64(_t133, _t134);
    f64_I _t135 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t136 = _ia_sub_f64(*((T1 + a1005)), *((T1 + a1007)));
    a1009 = _ia_mul_f64(_t135, _t136);
    s269 = _ia_sub_f64(a1008, a1009);
    s270 = _ia_add_f64(a1008, a1009);
    a1010 = (a1000 + 128);
    a1011 = (a1000 + 129);
    a1012 = (a1000 + 384);
    a1013 = (a1000 + 385);
    t900 = _ia_add_f64(*((T1 + a1010)), *((T1 + a1012)));
    t901 = _ia_add_f64(*((T1 + a1011)), *((T1 + a1013)));
    t902 = _ia_sub_f64(*((T1 + a1010)), *((T1 + a1012)));
    t903 = _ia_sub_f64(*((T1 + a1011)), *((T1 + a1013)));
    a1014 = (a1000 + 192);
    a1015 = (a1000 + 193);
    a1016 = (a1000 + 448);
    a1017 = (a1000 + 449);
    t904 = _ia_add_f64(*((T1 + a1014)), *((T1 + a1016)));
    t905 = _ia_add_f64(*((T1 + a1015)), *((T1 + a1017)));
    f64_I _t137 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t138 = _ia_sub_f64(*((T1 + a1014)), *((T1 + a1016)));
    a1018 = _ia_mul_f64(_t137, _t138);
    f64_I _t139 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t140 = _ia_sub_f64(*((T1 + a1015)), *((T1 + a1017)));
    a1019 = _ia_mul_f64(_t139, _t140);
    s271 = _ia_add_f64(a1018, a1019);
    s272 = _ia_sub_f64(a1018, a1019);
    t906 = _ia_add_f64(t894, t900);
    t907 = _ia_add_f64(t895, t901);
    t908 = _ia_sub_f64(t894, t900);
    t909 = _ia_sub_f64(t895, t901);
    t910 = _ia_add_f64(t898, t904);
    t911 = _ia_add_f64(t899, t905);
    t912 = _ia_sub_f64(t898, t904);
    t913 = _ia_sub_f64(t899, t905);
    t914 = _ia_add_f64(t906, t910);
    t915 = _ia_add_f64(t907, t911);
    t916 = _ia_sub_f64(t906, t910);
    t917 = _ia_sub_f64(t907, t911);
    t918 = _ia_sub_f64(t908, t913);
    t919 = _ia_add_f64(t909, t912);
    t920 = _ia_add_f64(t908, t913);
    t921 = _ia_sub_f64(t909, t912);
    t922 = _ia_sub_f64(t896, t903);
    t923 = _ia_add_f64(t897, t902);
    t924 = _ia_add_f64(t896, t903);
    t925 = _ia_sub_f64(t897, t902);
    t926 = _ia_sub_f64(s269, s271);
    t927 = _ia_add_f64(s270, s272);
    t928 = _ia_add_f64(s269, s271);
    t929 = _ia_sub_f64(s270, s272);
    t930 = _ia_add_f64(t922, t926);
    t931 = _ia_add_f64(t923, t927);
    t932 = _ia_sub_f64(t922, t926);
    t933 = _ia_sub_f64(t923, t927);
    t934 = _ia_sub_f64(t924, t929);
    t935 = _ia_add_f64(t925, t928);
    t936 = _ia_add_f64(t924, t929);
    t937 = _ia_sub_f64(t925, t928);
    a1020 = (a1000 + 32);
    a1021 = (a1000 + 33);
    a1022 = (a1000 + 288);
    a1023 = (a1000 + 289);
    t938 = _ia_add_f64(*((T1 + a1020)), *((T1 + a1022)));
    t939 = _ia_add_f64(*((T1 + a1021)), *((T1 + a1023)));
    t940 = _ia_sub_f64(*((T1 + a1020)), *((T1 + a1022)));
    t941 = _ia_sub_f64(*((T1 + a1021)), *((T1 + a1023)));
    a1024 = (a1000 + 96);
    a1025 = (a1000 + 97);
    a1026 = (a1000 + 352);
    a1027 = (a1000 + 353);
    t942 = _ia_add_f64(*((T1 + a1024)), *((T1 + a1026)));
    t943 = _ia_add_f64(*((T1 + a1025)), *((T1 + a1027)));
    f64_I _t141 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t142 = _ia_sub_f64(*((T1 + a1024)), *((T1 + a1026)));
    a1028 = _ia_mul_f64(_t141, _t142);
    f64_I _t143 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t144 = _ia_sub_f64(*((T1 + a1025)), *((T1 + a1027)));
    a1029 = _ia_mul_f64(_t143, _t144);
    s273 = _ia_sub_f64(a1028, a1029);
    s274 = _ia_add_f64(a1028, a1029);
    a1030 = (a1000 + 160);
    a1031 = (a1000 + 161);
    a1032 = (a1000 + 416);
    a1033 = (a1000 + 417);
    t944 = _ia_add_f64(*((T1 + a1030)), *((T1 + a1032)));
    t945 = _ia_add_f64(*((T1 + a1031)), *((T1 + a1033)));
    t946 = _ia_sub_f64(*((T1 + a1030)), *((T1 + a1032)));
    t947 = _ia_sub_f64(*((T1 + a1031)), *((T1 + a1033)));
    a1034 = (a1000 + 224);
    a1035 = (a1000 + 225);
    a1036 = (a1000 + 480);
    a1037 = (a1000 + 481);
    t948 = _ia_add_f64(*((T1 + a1034)), *((T1 + a1036)));
    t949 = _ia_add_f64(*((T1 + a1035)), *((T1 + a1037)));
    f64_I _t145 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t146 = _ia_sub_f64(*((T1 + a1034)), *((T1 + a1036)));
    a1038 = _ia_mul_f64(_t145, _t146);
    f64_I _t147 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t148 = _ia_sub_f64(*((T1 + a1035)), *((T1 + a1037)));
    a1039 = _ia_mul_f64(_t147, _t148);
    s275 = _ia_add_f64(a1038, a1039);
    s276 = _ia_sub_f64(a1038, a1039);
    t950 = _ia_add_f64(t938, t944);
    t951 = _ia_add_f64(t939, t945);
    t952 = _ia_sub_f64(t938, t944);
    t953 = _ia_sub_f64(t939, t945);
    t954 = _ia_add_f64(t942, t948);
    t955 = _ia_add_f64(t943, t949);
    t956 = _ia_sub_f64(t942, t948);
    t957 = _ia_sub_f64(t943, t949);
    t958 = _ia_add_f64(t950, t954);
    t959 = _ia_add_f64(t951, t955);
    t960 = _ia_sub_f64(t950, t954);
    t961 = _ia_sub_f64(t951, t955);
    f64_I _t149 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t150 = _ia_sub_f64(t952, t957);
    a1040 = _ia_mul_f64(_t149, _t150);
    f64_I _t151 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t152 = _ia_add_f64(t953, t956);
    a1041 = _ia_mul_f64(_t151, _t152);
    s277 = _ia_sub_f64(a1040, a1041);
    s278 = _ia_add_f64(a1040, a1041);
    f64_I _t153 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t154 = _ia_add_f64(t952, t957);
    a1042 = _ia_mul_f64(_t153, _t154);
    f64_I _t155 = _ia_set_f64(-0.70710678118654746, 0.70710678118654768);
    f64_I _t156 = _ia_sub_f64(t953, t956);
    a1043 = _ia_mul_f64(_t155, _t156);
    s279 = _ia_add_f64(a1042, a1043);
    s280 = _ia_sub_f64(a1042, a1043);
    t962 = _ia_sub_f64(t940, t947);
    t963 = _ia_add_f64(t941, t946);
    t964 = _ia_add_f64(t940, t947);
    t965 = _ia_sub_f64(t941, t946);
    t966 = _ia_sub_f64(s273, s275);
    t967 = _ia_add_f64(s274, s276);
    t968 = _ia_add_f64(s273, s275);
    t969 = _ia_sub_f64(s274, s276);
    t970 = _ia_add_f64(t962, t966);
    t971 = _ia_add_f64(t963, t967);
    t972 = _ia_sub_f64(t962, t966);
    t973 = _ia_sub_f64(t963, t967);
    f64_I _t157 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t158 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t159 = _ia_mul_f64(_t157, t970);
    f64_I _t160 = _ia_mul_f64(_t158, t971);
    s281 = _ia_sub_f64(_t159, _t160);
    f64_I _t161 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t162 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t163 = _ia_mul_f64(_t161, t970);
    f64_I _t164 = _ia_mul_f64(_t162, t971);
    s282 = _ia_add_f64(_t163, _t164);
    f64_I _t165 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t166 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t167 = _ia_mul_f64(_t165, t972);
    f64_I _t168 = _ia_mul_f64(_t166, t973);
    s283 = _ia_add_f64(_t167, _t168);
    f64_I _t169 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t170 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t171 = _ia_mul_f64(_t169, t972);
    f64_I _t172 = _ia_mul_f64(_t170, t973);
    s284 = _ia_sub_f64(_t171, _t172);
    t974 = _ia_sub_f64(t964, t969);
    t975 = _ia_add_f64(t965, t968);
    t976 = _ia_add_f64(t964, t969);
    t977 = _ia_sub_f64(t965, t968);
    f64_I _t173 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t174 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t175 = _ia_mul_f64(_t173, t974);
    f64_I _t176 = _ia_mul_f64(_t174, t975);
    s285 = _ia_sub_f64(_t175, _t176);
    f64_I _t177 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t178 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t179 = _ia_mul_f64(_t177, t974);
    f64_I _t180 = _ia_mul_f64(_t178, t975);
    s286 = _ia_add_f64(_t179, _t180);
    f64_I _t181 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t182 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t183 = _ia_mul_f64(_t181, t976);
    f64_I _t184 = _ia_mul_f64(_t182, t977);
    s287 = _ia_add_f64(_t183, _t184);
    f64_I _t185 = _ia_set_f64(-0.38268343236508973, 0.38268343236508984);
    f64_I _t186 = _ia_set_f64(-0.92387953251128663, 0.92387953251128685);
    f64_I _t187 = _ia_mul_f64(_t185, t976);
    f64_I _t188 = _ia_mul_f64(_t186, t977);
    s288 = _ia_sub_f64(_t187, _t188);
    *((Y + a1000)) = _ia_add_f64(t914, t958);
    *((Y + a1001)) = _ia_add_f64(t915, t959);
    *((Y + a1002)) = _ia_sub_f64(t914, t958);
    *((Y + a1003)) = _ia_sub_f64(t915, t959);
    *((Y + a1020)) = _ia_add_f64(t930, s281);
    *((Y + a1021)) = _ia_add_f64(t931, s282);
    *((Y + a1022)) = _ia_sub_f64(t930, s281);
    *((Y + a1023)) = _ia_sub_f64(t931, s282);
    *((Y + a1004)) = _ia_add_f64(t918, s277);
    *((Y + a1005)) = _ia_add_f64(t919, s278);
    *((Y + a1006)) = _ia_sub_f64(t918, s277);
    *((Y + a1007)) = _ia_sub_f64(t919, s278);
    *((Y + a1024)) = _ia_add_f64(t934, s285);
    *((Y + a1025)) = _ia_add_f64(t935, s286);
    *((Y + a1026)) = _ia_sub_f64(t934, s285);
    *((Y + a1027)) = _ia_sub_f64(t935, s286);
    *((Y + a1010)) = _ia_sub_f64(t916, t961);
    *((Y + a1011)) = _ia_add_f64(t917, t960);
    *((Y + a1012)) = _ia_add_f64(t916, t961);
    *((Y + a1013)) = _ia_sub_f64(t917, t960);
    *((Y + a1030)) = _ia_sub_f64(t932, s283);
    *((Y + a1031)) = _ia_add_f64(t933, s284);
    *((Y + a1032)) = _ia_add_f64(t932, s283);
    *((Y + a1033)) = _ia_sub_f64(t933, s284);
    *((Y + a1014)) = _ia_sub_f64(t920, s279);
    *((Y + a1015)) = _ia_add_f64(t921, s280);
    *((Y + a1016)) = _ia_add_f64(t920, s279);
    *((Y + a1017)) = _ia_sub_f64(t921, s280);
    *((Y + a1034)) = _ia_sub_f64(t936, s287);
    *((Y + a1035)) = _ia_add_f64(t937, s288);
    *((Y + a1036)) = _ia_add_f64(t936, s287);
    *((Y + a1037)) = _ia_sub_f64(t937, s288);
  }
}
