text: #include "igen_dd_immintrin.h"
  #include "igen_dd_lib.h"
  #include <math.h>
  #include <stddef.h>
  #include <stdlib.h>
  void init_AVX_DFT32(dd_I a) {}
  
  void AVX_DFT32(dd_I *Y, dd_I *X) {
    ddi_4 a98;
    ddi_4 a99;
    ddi_4 s434;
    ddi_4 s435;
    ddi_4 s436;
    ddi_4 s437;
    ddi_4 s438;
    ddi_4 s439;
    ddi_4 s440;
    ddi_4 s441;
    ddi_4 s442;
    ddi_4 s443;
    ddi_4 s444;
    ddi_4 s445;
    ddi_4 s446;
    ddi_4 s447;
    ddi_4 s448;
    ddi_4 s449;
    ddi_4 s450;
    ddi_4 s451;
    ddi_4 s452;
    ddi_4 s453;
    ddi_4 s454;
    ddi_4 s455;
    ddi_4 s456;
    ddi_4 s457;
    ddi_4 s458;
    ddi_4 s459;
    ddi_4 s460;
    ddi_4 s461;
    ddi_4 s462;
    ddi_4 s463;
    ddi_4 s464;
    ddi_4 s465;
    ddi_4 s466;
    ddi_4 s467;
    ddi_4 s468;
    ddi_4 s469;
    ddi_4 s470;
    ddi_4 s471;
    ddi_4 s472;
    ddi_4 s473;
    ddi_4 s474;
    ddi_4 s475;
    ddi_4 s476;
    ddi_4 s477;
    ddi_4 s478;
    ddi_4 s479;
    ddi_4 s480;
    ddi_4 s481;
    ddi_4 s482;
    ddi_4 s483;
    ddi_4 s484;
    ddi_4 s485;
    ddi_4 s486;
    ddi_4 s487;
    ddi_4 s488;
    ddi_4 s489;
    ddi_4 s490;
    ddi_4 s491;
    ddi_4 s492;
    ddi_4 s493;
    ddi_4 s494;
    ddi_4 s495;
    ddi_4 s496;
    ddi_4 s497;
    ddi_4 s498;
    ddi_4 s499;
    ddi_4 s500;
    ddi_4 s501;
    ddi_4 s502;
    ddi_4 s503;
    ddi_4 s504;
    ddi_4 s505;
    ddi_4 s506;
    ddi_4 s507;
    ddi_4 s508;
    ddi_4 s509;
    ddi_4 s510;
    ddi_4 s511;
    ddi_4 s512;
    ddi_4 s513;
    ddi_4 s514;
    ddi_4 s515;
    ddi_4 s516;
    ddi_4 s517;
    ddi_4 s518;
    ddi_4 s519;
    ddi_4 s520;
    ddi_4 s521;
    ddi_4 s522;
    ddi_4 s523;
    ddi_4 s524;
    ddi_4 s525;
    ddi_4 s526;
    ddi_4 s527;
    ddi_4 s528;
    ddi_4 s529;
    ddi_4 s530;
    ddi_4 s531;
    ddi_4 s532;
    ddi_4 s533;
    ddi_4 s534;
    ddi_4 s535;
    ddi_4 s536;
    ddi_4 s537;
    ddi_4 s538;
    ddi_4 s539;
    ddi_4 s540;
    ddi_4 s541;
    ddi_4 s542;
    ddi_4 s543;
    ddi_4 s544;
    ddi_4 s545;
    ddi_4 s546;
    ddi_4 s547;
    ddi_4 s548;
    ddi_4 s549;
    ddi_4 s550;
    ddi_4 s551;
    ddi_4 s552;
    ddi_4 s553;
    ddi_4 s554;
    ddi_4 s555;
    ddi_4 s556;
    ddi_4 s557;
    ddi_4 s558;
    ddi_4 s559;
    ddi_4 s560;
    ddi_4 s561;
    ddi_4 s562;
    ddi_4 s563;
    ddi_4 s564;
    ddi_4 s565;
    ddi_4 s566;
    ddi_4 s567;
    ddi_4 s568;
    ddi_4 s569;
    ddi_4 s570;
    ddi_4 s571;
    ddi_4 s572;
    ddi_4 s573;
    ddi_4 s574;
    ddi_4 s575;
    ddi_4 s576;
    ddi_4 s577;
    ddi_4 t279;
    ddi_4 t280;
    ddi_4 t281;
    ddi_4 t282;
    ddi_4 t283;
    ddi_4 t284;
    ddi_4 t285;
    ddi_4 t286;
    ddi_4 t287;
    ddi_4 t288;
    ddi_4 t289;
    ddi_4 t290;
    ddi_4 t291;
    ddi_4 t292;
    ddi_4 t293;
    ddi_4 t294;
    ddi_4 t295;
    ddi_4 t296;
    ddi_4 t297;
    ddi_4 t298;
    ddi_4 t299;
    ddi_4 t300;
    ddi_4 t301;
    ddi_4 t302;
    ddi_4 t303;
    ddi_4 t304;
    ddi_4 t305;
    ddi_4 t306;
    ddi_4 t307;
    ddi_4 t308;
    ddi_4 t309;
    ddi_4 t310;
    ddi_4 t311;
    ddi_4 t312;
    ddi_4 t313;
    ddi_4 t314;
    ddi_4 t315;
    ddi_4 t316;
    ddi_4 t317;
    ddi_4 t318;
    ddi_4 t319;
    ddi_4 t320;
    ddi_4 t321;
    ddi_4 t322;
    ddi_4 t323;
    ddi_4 t324;
    ddi_4 t325;
    ddi_4 t326;
    ddi_4 t327;
    ddi_4 t328;
    ddi_4 t329;
    ddi_4 t330;
    ddi_4 t331;
    ddi_4 t332;
    ddi_4 t333;
    ddi_4 t334;
    ddi_4 t335;
    ddi_4 t336;
    ddi_4 t337;
    ddi_4 t338;
    ddi_4 t339;
    ddi_4 t340;
    ddi_4 t341;
    ddi_4 t342;
    ddi_4 t343;
    ddi_4 t344;
    ddi_4 t345;
    ddi_4 t346;
    ddi_4 t347;
    ddi_4 t348;
    ddi_4 t349;
    ddi_4 t350;
    ddi_4 t351;
    ddi_4 t352;
    ddi_4 t353;
    ddi_4 t354;
    ddi_4 t355;
    ddi_4 t356;
    ddi_4 *a100;
    ddi_4 *a97;
    a97 = ((ddi_4 *)X);
    s434 = *(a97);
    s435 = *((a97 + 1));
    s436 = _igen_dd_mm256_permute2f128_pd(s434, s435, (0) | ((2) << 4));
    s437 = _igen_dd_mm256_permute2f128_pd(s434, s435, (1) | ((3) << 4));
    s438 = _igen_dd_mm256_unpacklo_pd(s436, s437);
    s439 = _igen_dd_mm256_unpackhi_pd(s436, s437);
    s440 = *((a97 + 8));
    s441 = *((a97 + 9));
    s442 = _igen_dd_mm256_permute2f128_pd(s440, s441, (0) | ((2) << 4));
    s443 = _igen_dd_mm256_permute2f128_pd(s440, s441, (1) | ((3) << 4));
    s444 = _igen_dd_mm256_unpacklo_pd(s442, s443);
    s445 = _igen_dd_mm256_unpackhi_pd(s442, s443);
    t279 = _igen_dd_mm256_add_pd(s438, s444);
    t280 = _igen_dd_mm256_add_pd(s439, s445);
    t281 = _igen_dd_mm256_sub_pd(s438, s444);
    t282 = _igen_dd_mm256_sub_pd(s439, s445);
    s446 = *((a97 + 2));
    s447 = *((a97 + 3));
    s448 = _igen_dd_mm256_permute2f128_pd(s446, s447, (0) | ((2) << 4));
    s449 = _igen_dd_mm256_permute2f128_pd(s446, s447, (1) | ((3) << 4));
    s450 = _igen_dd_mm256_unpacklo_pd(s448, s449);
    s451 = _igen_dd_mm256_unpackhi_pd(s448, s449);
    s452 = *((a97 + 10));
    s453 = *((a97 + 11));
    s454 = _igen_dd_mm256_permute2f128_pd(s452, s453, (0) | ((2) << 4));
    s455 = _igen_dd_mm256_permute2f128_pd(s452, s453, (1) | ((3) << 4));
    s456 = _igen_dd_mm256_unpacklo_pd(s454, s455);
    s457 = _igen_dd_mm256_unpackhi_pd(s454, s455);
    t283 = _igen_dd_mm256_add_pd(s450, s456);
    t284 = _igen_dd_mm256_add_pd(s451, s457);
    t285 = _igen_dd_mm256_sub_pd(s450, s456);
    t286 = _igen_dd_mm256_sub_pd(s451, s457);
    dd_I _t1 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                          0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t2 = _igen_dd_mm256_set1_pd(_t1);
    ddi_4 _t3 = _igen_dd_mm256_sub_pd(t285, t286);
    s458 = _igen_dd_mm256_mul_pd(_t2, _t3);
    dd_I _t4 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                          0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t5 = _igen_dd_mm256_set1_pd(_t4);
    ddi_4 _t6 = _igen_dd_mm256_add_pd(t285, t286);
    s459 = _igen_dd_mm256_mul_pd(_t5, _t6);
    s460 = *((a97 + 4));
    s461 = *((a97 + 5));
    s462 = _igen_dd_mm256_permute2f128_pd(s460, s461, (0) | ((2) << 4));
    s463 = _igen_dd_mm256_permute2f128_pd(s460, s461, (1) | ((3) << 4));
    s464 = _igen_dd_mm256_unpacklo_pd(s462, s463);
    s465 = _igen_dd_mm256_unpackhi_pd(s462, s463);
    s466 = *((a97 + 12));
    s467 = *((a97 + 13));
    s468 = _igen_dd_mm256_permute2f128_pd(s466, s467, (0) | ((2) << 4));
    s469 = _igen_dd_mm256_permute2f128_pd(s466, s467, (1) | ((3) << 4));
    s470 = _igen_dd_mm256_unpacklo_pd(s468, s469);
    s471 = _igen_dd_mm256_unpackhi_pd(s468, s469);
    t287 = _igen_dd_mm256_add_pd(s464, s470);
    t288 = _igen_dd_mm256_add_pd(s465, s471);
    t289 = _igen_dd_mm256_sub_pd(s464, s470);
    t290 = _igen_dd_mm256_sub_pd(s465, s471);
    s472 = *((a97 + 6));
    s473 = *((a97 + 7));
    s474 = _igen_dd_mm256_permute2f128_pd(s472, s473, (0) | ((2) << 4));
    s475 = _igen_dd_mm256_permute2f128_pd(s472, s473, (1) | ((3) << 4));
    s476 = _igen_dd_mm256_unpacklo_pd(s474, s475);
    s477 = _igen_dd_mm256_unpackhi_pd(s474, s475);
    s478 = *((a97 + 14));
    s479 = *((a97 + 15));
    s480 = _igen_dd_mm256_permute2f128_pd(s478, s479, (0) | ((2) << 4));
    s481 = _igen_dd_mm256_permute2f128_pd(s478, s479, (1) | ((3) << 4));
    s482 = _igen_dd_mm256_unpacklo_pd(s480, s481);
    s483 = _igen_dd_mm256_unpackhi_pd(s480, s481);
    t291 = _igen_dd_mm256_add_pd(s476, s482);
    t292 = _igen_dd_mm256_add_pd(s477, s483);
    dd_I _t7 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                          0.70710678118654757, -2.737310929369414e-18);
    dd_I _t8 = _ia_neg_dd(_t7);
    ddi_4 _t9 = _igen_dd_mm256_set1_pd(_t8);
    ddi_4 _t10 = _igen_dd_mm256_sub_pd(s476, s482);
    a98 = _igen_dd_mm256_mul_pd(_t9, _t10);
    dd_I _t11 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                           0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t12 = _igen_dd_mm256_set1_pd(_t11);
    ddi_4 _t13 = _igen_dd_mm256_sub_pd(s477, s483);
    a99 = _igen_dd_mm256_mul_pd(_t12, _t13);
    s484 = _igen_dd_mm256_sub_pd(a98, a99);
    s485 = _igen_dd_mm256_add_pd(a98, a99);
    t293 = _igen_dd_mm256_add_pd(t279, t287);
    t294 = _igen_dd_mm256_add_pd(t280, t288);
    t295 = _igen_dd_mm256_sub_pd(t279, t287);
    t296 = _igen_dd_mm256_sub_pd(t280, t288);
    t297 = _igen_dd_mm256_add_pd(t283, t291);
    t298 = _igen_dd_mm256_add_pd(t284, t292);
    t299 = _igen_dd_mm256_sub_pd(t283, t291);
    t300 = _igen_dd_mm256_sub_pd(t284, t292);
    t301 = _igen_dd_mm256_add_pd(t293, t297);
    t302 = _igen_dd_mm256_add_pd(t294, t298);
    t303 = _igen_dd_mm256_sub_pd(t293, t297);
    t304 = _igen_dd_mm256_sub_pd(t294, t298);
    t305 = _igen_dd_mm256_sub_pd(t295, t300);
    t306 = _igen_dd_mm256_add_pd(t296, t299);
    t307 = _igen_dd_mm256_add_pd(t295, t300);
    t308 = _igen_dd_mm256_sub_pd(t296, t299);
    t309 = _igen_dd_mm256_sub_pd(t281, t290);
    t310 = _igen_dd_mm256_add_pd(t282, t289);
    t311 = _igen_dd_mm256_add_pd(t281, t290);
    t312 = _igen_dd_mm256_sub_pd(t282, t289);
    t313 = _igen_dd_mm256_add_pd(s458, s484);
    t314 = _igen_dd_mm256_sub_pd(s459, s485);
    t315 = _igen_dd_mm256_sub_pd(s458, s484);
    t316 = _igen_dd_mm256_add_pd(s459, s485);
    t317 = _igen_dd_mm256_add_pd(t309, t313);
    t318 = _igen_dd_mm256_add_pd(t310, t314);
    t319 = _igen_dd_mm256_sub_pd(t309, t313);
    t320 = _igen_dd_mm256_sub_pd(t310, t314);
    t321 = _igen_dd_mm256_sub_pd(t311, t316);
    t322 = _igen_dd_mm256_add_pd(t312, t315);
    t323 = _igen_dd_mm256_add_pd(t311, t316);
    t324 = _igen_dd_mm256_sub_pd(t312, t315);
    s486 = _igen_dd_mm256_unpacklo_pd(t301, t317);
    s487 = _igen_dd_mm256_unpackhi_pd(t301, t317);
    s488 = _igen_dd_mm256_unpacklo_pd(t302, t318);
    s489 = _igen_dd_mm256_unpackhi_pd(t302, t318);
    s490 = _igen_dd_mm256_permute2f128_pd(s486, s487, (0) | ((2) << 4));
    s491 = _igen_dd_mm256_permute2f128_pd(s486, s487, (1) | ((3) << 4));
    s492 = _igen_dd_mm256_permute2f128_pd(s488, s489, (0) | ((2) << 4));
    s493 = _igen_dd_mm256_permute2f128_pd(s488, s489, (1) | ((3) << 4));
    s494 = _igen_dd_mm256_unpacklo_pd(t305, t321);
    s495 = _igen_dd_mm256_unpackhi_pd(t305, t321);
    s496 = _igen_dd_mm256_unpacklo_pd(t306, t322);
    s497 = _igen_dd_mm256_unpackhi_pd(t306, t322);
    s498 = _igen_dd_mm256_permute2f128_pd(s494, s495, (0) | ((2) << 4));
    s499 = _igen_dd_mm256_permute2f128_pd(s494, s495, (1) | ((3) << 4));
    s500 = _igen_dd_mm256_permute2f128_pd(s496, s497, (0) | ((2) << 4));
    s501 = _igen_dd_mm256_permute2f128_pd(s496, s497, (1) | ((3) << 4));
    s502 = _igen_dd_mm256_permute2f128_pd(s490, s498, (0) | ((2) << 4));
    s503 = _igen_dd_mm256_permute2f128_pd(s490, s498, (1) | ((3) << 4));
    s504 = _igen_dd_mm256_permute2f128_pd(s491, s499, (0) | ((2) << 4));
    s505 = _igen_dd_mm256_permute2f128_pd(s491, s499, (1) | ((3) << 4));
    s506 = _igen_dd_mm256_permute2f128_pd(s492, s500, (0) | ((2) << 4));
    s507 = _igen_dd_mm256_permute2f128_pd(s492, s500, (1) | ((3) << 4));
    s508 = _igen_dd_mm256_permute2f128_pd(s493, s501, (0) | ((2) << 4));
    s509 = _igen_dd_mm256_permute2f128_pd(s493, s501, (1) | ((3) << 4));
    s510 = _igen_dd_mm256_unpacklo_pd(t303, t319);
    s511 = _igen_dd_mm256_unpackhi_pd(t303, t319);
    s512 = _igen_dd_mm256_unpacklo_pd(t304, t320);
    s513 = _igen_dd_mm256_unpackhi_pd(t304, t320);
    s514 = _igen_dd_mm256_permute2f128_pd(s510, s511, (0) | ((2) << 4));
    s515 = _igen_dd_mm256_permute2f128_pd(s510, s511, (1) | ((3) << 4));
    s516 = _igen_dd_mm256_permute2f128_pd(s512, s513, (0) | ((2) << 4));
    s517 = _igen_dd_mm256_permute2f128_pd(s512, s513, (1) | ((3) << 4));
    s518 = _igen_dd_mm256_unpacklo_pd(t307, t323);
    s519 = _igen_dd_mm256_unpackhi_pd(t307, t323);
    s520 = _igen_dd_mm256_unpacklo_pd(t308, t324);
    s521 = _igen_dd_mm256_unpackhi_pd(t308, t324);
    s522 = _igen_dd_mm256_permute2f128_pd(s518, s519, (0) | ((2) << 4));
    s523 = _igen_dd_mm256_permute2f128_pd(s518, s519, (1) | ((3) << 4));
    s524 = _igen_dd_mm256_permute2f128_pd(s520, s521, (0) | ((2) << 4));
    s525 = _igen_dd_mm256_permute2f128_pd(s520, s521, (1) | ((3) << 4));
    s526 = _igen_dd_mm256_permute2f128_pd(s514, s522, (0) | ((2) << 4));
    s527 = _igen_dd_mm256_permute2f128_pd(s514, s522, (1) | ((3) << 4));
    s528 = _igen_dd_mm256_permute2f128_pd(s515, s523, (0) | ((2) << 4));
    s529 = _igen_dd_mm256_permute2f128_pd(s515, s523, (1) | ((3) << 4));
    s530 = _igen_dd_mm256_permute2f128_pd(s516, s524, (0) | ((2) << 4));
    s531 = _igen_dd_mm256_permute2f128_pd(s516, s524, (1) | ((3) << 4));
    s532 = _igen_dd_mm256_permute2f128_pd(s517, s525, (0) | ((2) << 4));
    s533 = _igen_dd_mm256_permute2f128_pd(s517, s525, (1) | ((3) << 4));
    dd_I _t14 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t15 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                           0.70710678118654757, -2.737310929369414e-18);
    dd_I _t16 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t17 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t18 = _igen_dd_mm256_set_pd(_t14, _t15, _t16, _t17);
    dd_I _t19 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t20 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                           0.70710678118654757, -2.737310929369414e-18);
    dd_I _t21 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t22 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t23 = _igen_dd_mm256_set_pd(_t19, _t20, _t21, _t22);
    ddi_4 _t24 = _igen_dd_mm256_mul_pd(_t18, s504);
    ddi_4 _t25 = _igen_dd_mm256_mul_pd(_t23, s508);
    s534 = _igen_dd_mm256_sub_pd(_t24, _t25);
    dd_I _t26 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t27 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                           0.70710678118654757, -2.737310929369414e-18);
    dd_I _t28 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t29 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t30 = _igen_dd_mm256_set_pd(_t26, _t27, _t28, _t29);
    dd_I _t31 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t32 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                           0.70710678118654757, -2.737310929369414e-18);
    dd_I _t33 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t34 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t35 = _igen_dd_mm256_set_pd(_t31, _t32, _t33, _t34);
    ddi_4 _t36 = _igen_dd_mm256_mul_pd(_t30, s504);
    ddi_4 _t37 = _igen_dd_mm256_mul_pd(_t35, s508);
    s535 = _igen_dd_mm256_add_pd(_t36, _t37);
    t325 = _igen_dd_mm256_add_pd(s502, s534);
    t326 = _igen_dd_mm256_add_pd(s506, s535);
    t327 = _igen_dd_mm256_sub_pd(s502, s534);
    t328 = _igen_dd_mm256_sub_pd(s506, s535);
    dd_I _t38 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                           0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t39 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t40 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                           0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t41 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t42 = _igen_dd_mm256_set_pd(_t38, _t39, _t40, _t41);
    dd_I _t43 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                           0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t44 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t45 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                           0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t46 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t47 = _igen_dd_mm256_set_pd(_t43, _t44, _t45, _t46);
    ddi_4 _t48 = _igen_dd_mm256_mul_pd(_t42, s503);
    ddi_4 _t49 = _igen_dd_mm256_mul_pd(_t47, s507);
    s536 = _igen_dd_mm256_sub_pd(_t48, _t49);
    dd_I _t50 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                           0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t51 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t52 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                           0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t53 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t54 = _igen_dd_mm256_set_pd(_t50, _t51, _t52, _t53);
    dd_I _t55 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                           0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t56 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t57 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                           0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t58 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t59 = _igen_dd_mm256_set_pd(_t55, _t56, _t57, _t58);
    ddi_4 _t60 = _igen_dd_mm256_mul_pd(_t54, s503);
    ddi_4 _t61 = _igen_dd_mm256_mul_pd(_t59, s507);
    s537 = _igen_dd_mm256_add_pd(_t60, _t61);
    dd_I _t62 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                           0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t63 = _ia_neg_dd(_t62);
    dd_I _t64 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t65 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                           0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t66 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t67 = _igen_dd_mm256_set_pd(_t63, _t64, _t65, _t66);
    dd_I _t68 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                           0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t69 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t70 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                           0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t71 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t72 = _igen_dd_mm256_set_pd(_t68, _t69, _t70, _t71);
    ddi_4 _t73 = _igen_dd_mm256_mul_pd(_t67, s505);
    ddi_4 _t74 = _igen_dd_mm256_mul_pd(_t72, s509);
    s538 = _igen_dd_mm256_sub_pd(_t73, _t74);
    dd_I _t75 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                           0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t76 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t77 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                           0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t78 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t79 = _igen_dd_mm256_set_pd(_t75, _t76, _t77, _t78);
    dd_I _t80 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                           0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t81 = _ia_neg_dd(_t80);
    dd_I _t82 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t83 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                           0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t84 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t85 = _igen_dd_mm256_set_pd(_t81, _t82, _t83, _t84);
    ddi_4 _t86 = _igen_dd_mm256_mul_pd(_t79, s505);
    ddi_4 _t87 = _igen_dd_mm256_mul_pd(_t85, s509);
    s539 = _igen_dd_mm256_add_pd(_t86, _t87);
    t329 = _igen_dd_mm256_add_pd(s536, s538);
    t330 = _igen_dd_mm256_add_pd(s537, s539);
    t331 = _igen_dd_mm256_sub_pd(s536, s538);
    t332 = _igen_dd_mm256_sub_pd(s537, s539);
    t333 = _igen_dd_mm256_add_pd(t325, t329);
    t334 = _igen_dd_mm256_add_pd(t326, t330);
    t335 = _igen_dd_mm256_sub_pd(t325, t329);
    t336 = _igen_dd_mm256_sub_pd(t326, t330);
    s540 = _igen_dd_mm256_unpacklo_pd(t333, t334);
    s541 = _igen_dd_mm256_unpackhi_pd(t333, t334);
    a100 = ((ddi_4 *)Y);
    s542 = _igen_dd_mm256_permute2f128_pd(s540, s541, (0) | ((2) << 4));
    *(a100) = s542;
    s543 = _igen_dd_mm256_permute2f128_pd(s540, s541, (1) | ((3) << 4));
    *((a100 + 1)) = s543;
    s544 = _igen_dd_mm256_unpacklo_pd(t335, t336);
    s545 = _igen_dd_mm256_unpackhi_pd(t335, t336);
    s546 = _igen_dd_mm256_permute2f128_pd(s544, s545, (0) | ((2) << 4));
    *((a100 + 8)) = s546;
    s547 = _igen_dd_mm256_permute2f128_pd(s544, s545, (1) | ((3) << 4));
    *((a100 + 9)) = s547;
    t337 = _igen_dd_mm256_sub_pd(t327, t332);
    t338 = _igen_dd_mm256_add_pd(t328, t331);
    t339 = _igen_dd_mm256_add_pd(t327, t332);
    t340 = _igen_dd_mm256_sub_pd(t328, t331);
    s548 = _igen_dd_mm256_unpacklo_pd(t337, t338);
    s549 = _igen_dd_mm256_unpackhi_pd(t337, t338);
    s550 = _igen_dd_mm256_permute2f128_pd(s548, s549, (0) | ((2) << 4));
    *((a100 + 4)) = s550;
    s551 = _igen_dd_mm256_permute2f128_pd(s548, s549, (1) | ((3) << 4));
    *((a100 + 5)) = s551;
    s552 = _igen_dd_mm256_unpacklo_pd(t339, t340);
    s553 = _igen_dd_mm256_unpackhi_pd(t339, t340);
    s554 = _igen_dd_mm256_permute2f128_pd(s552, s553, (0) | ((2) << 4));
    *((a100 + 12)) = s554;
    s555 = _igen_dd_mm256_permute2f128_pd(s552, s553, (1) | ((3) << 4));
    *((a100 + 13)) = s555;
    dd_I _t88 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t89 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                           0.70710678118654757, -2.737310929369414e-18);
    dd_I _t90 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t91 = _ia_neg_dd(_t88);
    dd_I _t92 = _ia_neg_dd(_t89);
    dd_I _t93 = _ia_neg_dd(_t90);
    dd_I _t94 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t95 = _igen_dd_mm256_set_pd(_t91, _t92, _t93, _t94);
    dd_I _t96 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                           0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t97 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                           0.70710678118654757, -2.737310929369414e-18);
    dd_I _t98 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                           0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t99 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t100 = _igen_dd_mm256_set_pd(_t96, _t97, _t98, _t99);
    ddi_4 _t101 = _igen_dd_mm256_mul_pd(_t95, s528);
    ddi_4 _t102 = _igen_dd_mm256_mul_pd(_t100, s532);
    s556 = _igen_dd_mm256_sub_pd(_t101, _t102);
    dd_I _t103 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                            0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t104 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    dd_I _t105 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                            0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t106 = _ia_set_dd(-1.0, 0.0, 1.0, 0.0);
    ddi_4 _t107 = _igen_dd_mm256_set_pd(_t103, _t104, _t105, _t106);
    dd_I _t108 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                            0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t109 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    dd_I _t110 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                            0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t111 = _ia_neg_dd(_t108);
    dd_I _t112 = _ia_neg_dd(_t109);
    dd_I _t113 = _ia_neg_dd(_t110);
    dd_I _t114 = _ia_set_dd(-0.0, 0.0, 0.0, 0.0);
    ddi_4 _t115 = _igen_dd_mm256_set_pd(_t111, _t112, _t113, _t114);
    ddi_4 _t116 = _igen_dd_mm256_mul_pd(_t107, s528);
    ddi_4 _t117 = _igen_dd_mm256_mul_pd(_t115, s532);
    s557 = _igen_dd_mm256_add_pd(_t116, _t117);
    t341 = _igen_dd_mm256_add_pd(s526, s556);
    t342 = _igen_dd_mm256_add_pd(s530, s557);
    t343 = _igen_dd_mm256_sub_pd(s526, s556);
    t344 = _igen_dd_mm256_sub_pd(s530, s557);
    dd_I _t118 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                            0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t119 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                            0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t120 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                            0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t121 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t122 = _igen_dd_mm256_set_pd(_t118, _t119, _t120, _t121);
    dd_I _t123 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                            0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t124 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                            0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t125 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                            0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t126 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t127 = _igen_dd_mm256_set_pd(_t123, _t124, _t125, _t126);
    ddi_4 _t128 = _igen_dd_mm256_mul_pd(_t122, s527);
    ddi_4 _t129 = _igen_dd_mm256_mul_pd(_t127, s531);
    s558 = _igen_dd_mm256_sub_pd(_t128, _t129);
    dd_I _t130 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                            0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t131 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                            0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t132 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                            0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t133 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t134 = _igen_dd_mm256_set_pd(_t130, _t131, _t132, _t133);
    dd_I _t135 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                            0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t136 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                            0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t137 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                            0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t138 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t139 = _igen_dd_mm256_set_pd(_t135, _t136, _t137, _t138);
    ddi_4 _t140 = _igen_dd_mm256_mul_pd(_t134, s527);
    ddi_4 _t141 = _igen_dd_mm256_mul_pd(_t139, s531);
    s559 = _igen_dd_mm256_add_pd(_t140, _t141);
    dd_I _t142 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                            0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t143 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                            0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t144 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                            0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t145 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    dd_I _t146 = _ia_neg_dd(_t142);
    dd_I _t147 = _ia_neg_dd(_t143);
    dd_I _t148 = _ia_neg_dd(_t144);
    dd_I _t149 = _ia_neg_dd(_t145);
    ddi_4 _t150 = _igen_dd_mm256_set_pd(_t146, _t147, _t148, _t149);
    dd_I _t151 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                            0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t152 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                            0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t153 = _ia_neg_dd(_t151);
    dd_I _t154 = _ia_neg_dd(_t152);
    dd_I _t155 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                            0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t156 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t157 = _igen_dd_mm256_set_pd(_t153, _t154, _t155, _t156);
    ddi_4 _t158 = _igen_dd_mm256_mul_pd(_t150, s529);
    ddi_4 _t159 = _igen_dd_mm256_mul_pd(_t157, s533);
    s560 = _igen_dd_mm256_sub_pd(_t158, _t159);
    dd_I _t160 = _ia_set_dd(-0.83146961230254524, -4.328597320854896e-18,
                            0.83146961230254524, 4.3285973208548968e-18);
    dd_I _t161 = _ia_set_dd(-0.38268343236508978, 1.7792326804919868e-18,
                            0.38268343236508978, -1.7792326804919865e-18);
    dd_I _t162 = _ia_neg_dd(_t160);
    dd_I _t163 = _ia_neg_dd(_t161);
    dd_I _t164 = _ia_set_dd(-0.19509032201612825, -1.9162116786901603e-18,
                            0.19509032201612825, 1.9162116786901607e-18);
    dd_I _t165 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    ddi_4 _t166 = _igen_dd_mm256_set_pd(_t162, _t163, _t164, _t165);
    dd_I _t167 = _ia_set_dd(-0.55557023301960218, -2.351278591668233e-18,
                            0.55557023301960218, 2.3512785916682334e-18);
    dd_I _t168 = _ia_set_dd(-0.92387953251128674, -1.5168638949398881e-18,
                            0.92387953251128674, 1.5168638949398883e-18);
    dd_I _t169 = _ia_set_dd(-0.98078528040323043, 5.7924223830923445e-19,
                            0.98078528040323043, -5.7924223830923435e-19);
    dd_I _t170 = _ia_set_dd(-0.70710678118654757, 2.7373109293694144e-18,
                            0.70710678118654757, -2.737310929369414e-18);
    dd_I _t171 = _ia_neg_dd(_t167);
    dd_I _t172 = _ia_neg_dd(_t168);
    dd_I _t173 = _ia_neg_dd(_t169);
    dd_I _t174 = _ia_neg_dd(_t170);
    ddi_4 _t175 = _igen_dd_mm256_set_pd(_t171, _t172, _t173, _t174);
    ddi_4 _t176 = _igen_dd_mm256_mul_pd(_t166, s529);
    ddi_4 _t177 = _igen_dd_mm256_mul_pd(_t175, s533);
    s561 = _igen_dd_mm256_add_pd(_t176, _t177);
    t345 = _igen_dd_mm256_add_pd(s558, s560);
    t346 = _igen_dd_mm256_add_pd(s559, s561);
    t347 = _igen_dd_mm256_sub_pd(s558, s560);
    t348 = _igen_dd_mm256_sub_pd(s559, s561);
    t349 = _igen_dd_mm256_add_pd(t341, t345);
    t350 = _igen_dd_mm256_add_pd(t342, t346);
    t351 = _igen_dd_mm256_sub_pd(t341, t345);
    t352 = _igen_dd_mm256_sub_pd(t342, t346);
    s562 = _igen_dd_mm256_unpacklo_pd(t349, t350);
    s563 = _igen_dd_mm256_unpackhi_pd(t349, t350);
    s564 = _igen_dd_mm256_permute2f128_pd(s562, s563, (0) | ((2) << 4));
    *((a100 + 2)) = s564;
    s565 = _igen_dd_mm256_permute2f128_pd(s562, s563, (1) | ((3) << 4));
    *((a100 + 3)) = s565;
    s566 = _igen_dd_mm256_unpacklo_pd(t351, t352);
    s567 = _igen_dd_mm256_unpackhi_pd(t351, t352);
    s568 = _igen_dd_mm256_permute2f128_pd(s566, s567, (0) | ((2) << 4));
    *((a100 + 10)) = s568;
    s569 = _igen_dd_mm256_permute2f128_pd(s566, s567, (1) | ((3) << 4));
    *((a100 + 11)) = s569;
    t353 = _igen_dd_mm256_sub_pd(t343, t348);
    t354 = _igen_dd_mm256_add_pd(t344, t347);
    t355 = _igen_dd_mm256_add_pd(t343, t348);
    t356 = _igen_dd_mm256_sub_pd(t344, t347);
    s570 = _igen_dd_mm256_unpacklo_pd(t353, t354);
    s571 = _igen_dd_mm256_unpackhi_pd(t353, t354);
    s572 = _igen_dd_mm256_permute2f128_pd(s570, s571, (0) | ((2) << 4));
    *((a100 + 6)) = s572;
    s573 = _igen_dd_mm256_permute2f128_pd(s570, s571, (1) | ((3) << 4));
    *((a100 + 7)) = s573;
    s574 = _igen_dd_mm256_unpacklo_pd(t355, t356);
    s575 = _igen_dd_mm256_unpackhi_pd(t355, t356);
    s576 = _igen_dd_mm256_permute2f128_pd(s574, s575, (0) | ((2) << 4));
    *((a100 + 14)) = s576;
    s577 = _igen_dd_mm256_permute2f128_pd(s574, s575, (1) | ((3) << 4));
    *((a100 + 15)) = s577;
  }
  