Message ID | CAELXzTOZ=avch1FzmQedgJ75N_TEcC2A2r6eOs2G3b2+G1AdSQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
Hi Richard, On 27 May 2016 at 19:56, Richard Biener <richard.guenther@gmail.com> wrote: > On Thu, May 26, 2016 at 11:32 AM, Kugan Vivekanandarajah > <kugan.vivekanandarajah@linaro.org> wrote: >> Hi Jakub, >> >> >> On 26 May 2016 at 18:18, Jakub Jelinek <jakub@redhat.com> wrote: >>> On Thu, May 26, 2016 at 02:17:56PM +1000, Kugan Vivekanandarajah wrote: >>>> --- a/gcc/tree-ssa-reassoc.c >>>> +++ b/gcc/tree-ssa-reassoc.c >>>> @@ -3767,8 +3767,10 @@ swap_ops_for_binary_stmt (vec<operand_entry *> ops, >>>> operand_entry temp = *oe3; >>>> oe3->op = oe1->op; >>>> oe3->rank = oe1->rank; >>>> + oe3->stmt_to_insert = oe1->stmt_to_insert; >>>> oe1->op = temp.op; >>>> oe1->rank= temp.rank; >>>> + oe1->stmt_to_insert = temp.stmt_to_insert; >>> >>> If you want to swap those 3 fields (what about the others?), can't you write >>> std::swap (oe1->op, oe3->op); >>> std::swap (oe1->rank, oe3->rank); >>> std::swap (oe1->stmt_to_insert, oe3->stmt_to_insert); >>> instead and drop operand_entry temp = *oe3; ? >>> >>>> } >>>> else if ((oe1->rank == oe3->rank >>>> && oe2->rank != oe3->rank) >>>> @@ -3779,8 +3781,10 @@ swap_ops_for_binary_stmt (vec<operand_entry *> ops, >>>> operand_entry temp = *oe2; >>>> oe2->op = oe1->op; >>>> oe2->rank = oe1->rank; >>>> + oe2->stmt_to_insert = oe1->stmt_to_insert; >>>> oe1->op = temp.op; >>>> oe1->rank = temp.rank; >>>> + oe1->stmt_to_insert = temp.stmt_to_insert; >>>> } >>> >>> Similarly. >> >> Done. Revised patch attached. > > Your patch only adds a single testcase, please make sure to include > _all_ relevant testcases. > > The swap should simply swap the whole operand, thus > > std::swap (*oe1, *oe3); > Thanks for the review. I will change this. > it was probably not updated when all the other fields were added. > > I don't like the find_insert_point changes or the change before If we insert the stmt_to_insert before the find_insert_point, we can end up inserting stmt_to_insert before its argument defining stmt. This can be seen with f951 cp2k_single_file.f90 -O3 -ffast-math -march=westmere from PR71252. I am attaching the CFG when all the insert_stmt_before_use are moved before. I dont understand Fortran and I am not able to reduce a testcase from this. > build_and_add_sum. > Why not move the if (stmt1) insert; if (stmt2) insert; before the if > () unconditionally? In this case also, we dont know where build_and_add_sum will insert the new instruction. It may not be stmts[i] before calling build_and_add_sum. Therefore we can end up inserting in a wrong place. testcase gfortran.dg/pr71252.f90 would ICE. > > Do we make progress with just the rest of the changes? If so please split the > patch and include relevant testcases. I think there are two issues. 1. the swap which is obvious 2. insertion poing which has some related changes and shows two different problems (listed above) if you prefer, I can send two patches for the above. Unfortunately, I am not able to reduce Fortran testcase. Any help from anyone is really appreciated. Thanks, Kugan > > Thanks, > Richard. > >> Thanks, >> Kugan Error: definition in block 127 follows the use for SSA_NAME: _1552 in statement: _3105 = _1552 * 2.0e+0; pbe_lsd_eval (struct xc_rho_set_type * & rho_set, struct xc_derivative_set_type * & deriv_set, integer(kind=4) & restrict grad_deriv, struct section_vals_type * & pbe_params) { real(kind=8) a; real(kind=8) alpha_c; real(kind=8) alpha_crhoa; real(kind=8) alpha_crhob; real(kind=8) arhoa; real(kind=8) arhoarhoa; real(kind=8) arhoarhob; real(kind=8) arhob; real(kind=8) arhobrhob; real(kind=8) beta; real(kind=8) chi; real(kind=8) chirhoa; real(kind=8) chirhoarhoa; real(kind=8) chirhoarhob; real(kind=8) chirhob; real(kind=8) chirhobrhob; real(kind=8) e_c_u_0rhoa; real(kind=8) e_c_u_0rhoarhoa; real(kind=8) e_c_u_0rhoarhob; real(kind=8) e_c_u_0rhob; real(kind=8) e_c_u_1rhoa; real(kind=8) e_c_u_1rhob; real(kind=8) epsilon_c_unif; real(kind=8) epsilon_c_unifrhoa; real(kind=8) epsilon_c_unifrhoarhoa; real(kind=8) epsilon_c_unifrhoarhob; real(kind=8) epsilon_c_unifrhob; real(kind=8) epsilon_c_unifrhobrhob; real(kind=8) epsilon_cgga; real(kind=8) epsilon_cggarhoa; real(kind=8) epsilon_cggarhob; real(kind=8) ex_unif_a; real(kind=8) ex_unif_arhoa; real(kind=8) ex_unif_b; real(kind=8) ex_unif_brhob; real(kind=8) f; real(kind=8) frhoa; real(kind=8) frhoarhoa; real(kind=8) frhoarhob; real(kind=8) frhob; real(kind=8) frhobrhob; real(kind=8) fx_a; real(kind=8) fx_anorm_drhoa; real(kind=8) fx_arhoa; real(kind=8) fx_b; real(kind=8) fx_bnorm_drhob; real(kind=8) fx_brhob; real(kind=8) hnorm_drho; integer(kind=4) ii; real(kind=8) k_frhoa; real(kind=8) k_frhoarhoa; real(kind=8) k_s; real(kind=8) k_srhoa; real(kind=8) kappa; real(kind=8) kf_a; real(kind=8) kf_arhoa; real(kind=8) kf_arhoarhoa; real(kind=8) kf_b; real(kind=8) kf_brhob; real(kind=8) kf_brhobrhob; real(kind=8) mu; real(kind=8) my_norm_drho; real(kind=8) my_norm_drhoa; real(kind=8) my_norm_drhob; real(kind=8) my_rho; real(kind=8) phi; real(kind=8) phirhoa; real(kind=8) phirhoarhoa; real(kind=8) phirhoarhob; real(kind=8) phirhob; real(kind=8) phirhobrhob; real(kind=8) rs; real(kind=8) rsrhoa; real(kind=8) rsrhoarhoa; real(kind=8) s_a; real(kind=8) s_anorm_drhoa; real(kind=8) s_arhoa; real(kind=8) s_b; real(kind=8) s_bnorm_drhob; real(kind=8) s_brhob; real(kind=8) t; real(kind=8) t1; real(kind=8) t1000; real(kind=8) t1001; real(kind=8) t101; real(kind=8) t102; real(kind=8) t104; real(kind=8) t105; real(kind=8) t1050; real(kind=8) t107; real(kind=8) t108; real(kind=8) t110; real(kind=8) t112; real(kind=8) t113; real(kind=8) t1164; real(kind=8) t118; real(kind=8) t119; real(kind=8) t1193; real(kind=8) t12; real(kind=8) t122; real(kind=8) t1228; real(kind=8) t123; real(kind=8) t125; real(kind=8) t126; real(kind=8) t1269; real(kind=8) t1283; real(kind=8) t1285; real(kind=8) t1286; real(kind=8) t1288; real(kind=8) t129; real(kind=8) t1291; real(kind=8) t1293; real(kind=8) t130; real(kind=8) t1304; real(kind=8) t131; real(kind=8) t1327; real(kind=8) t1330; real(kind=8) t135; real(kind=8) t137; real(kind=8) t140; real(kind=8) t142; real(kind=8) t143; real(kind=8) t146; real(kind=8) t147; real(kind=8) t148; real(kind=8) t15; real(kind=8) t1501; real(kind=8) t1520; real(kind=8) t153; real(kind=8) t156; real(kind=8) t1602; real(kind=8) t1603; real(kind=8) t163; real(kind=8) t1630; real(kind=8) t1632; real(kind=8) t1638; real(kind=8) t164; real(kind=8) t1640; real(kind=8) t167; real(kind=8) t1674; real(kind=8) t1677; real(kind=8) t1680; real(kind=8) t1711; real(kind=8) t1712; real(kind=8) t1713; real(kind=8) t1739; real(kind=8) t1741; real(kind=8) t1743; real(kind=8) t1748; real(kind=8) t176; real(kind=8) t1765; real(kind=8) t1766; real(kind=8) t1767; real(kind=8) t177; real(kind=8) t178; real(kind=8) t179; real(kind=8) t18; real(kind=8) t1801; real(kind=8) t1829; real(kind=8) t183; real(kind=8) t1830; real(kind=8) t1831; real(kind=8) t1865; real(kind=8) t187; real(kind=8) t1876; real(kind=8) t190; real(kind=8) t191; real(kind=8) t192; real(kind=8) t199; real(kind=8) t2; real(kind=8) t200; real(kind=8) t201; real(kind=8) t205; real(kind=8) t21; real(kind=8) t211; real(kind=8) t212; real(kind=8) t213; real(kind=8) t22; real(kind=8) t220; real(kind=8) t221; real(kind=8) t222; real(kind=8) t226; real(kind=8) t23; real(kind=8) t232; real(kind=8) t233; real(kind=8) t234; real(kind=8) t240; real(kind=8) t242; real(kind=8) t244; real(kind=8) t245; real(kind=8) t246; real(kind=8) t248; real(kind=8) t249; real(kind=8) t250; real(kind=8) t252; real(kind=8) t254; real(kind=8) t256; real(kind=8) t257; real(kind=8) t259; real(kind=8) t266; real(kind=8) t268; real(kind=8) t269; real(kind=8) t27; real(kind=8) t273; real(kind=8) t274; real(kind=8) t277; real(kind=8) t278; real(kind=8) t28; real(kind=8) t281; real(kind=8) t282; real(kind=8) t285; real(kind=8) t286; real(kind=8) t289; real(kind=8) t293; real(kind=8) t294; real(kind=8) t297; real(kind=8) t298; real(kind=8) t299; real(kind=8) t302; real(kind=8) t303; real(kind=8) t305; real(kind=8) t306; real(kind=8) t312; real(kind=8) t313; real(kind=8) t314; real(kind=8) t317; real(kind=8) t318; real(kind=8) t32; real(kind=8) t321; real(kind=8) t324; real(kind=8) t325; real(kind=8) t326; real(kind=8) t336; real(kind=8) t337; real(kind=8) t341; real(kind=8) t346; real(kind=8) t350; real(kind=8) t40; real(kind=8) t403; real(kind=8) t405; real(kind=8) t407; real(kind=8) t409; real(kind=8) t41; real(kind=8) t410; real(kind=8) t411; real(kind=8) t413; real(kind=8) t415; real(kind=8) t417; real(kind=8) t427; real(kind=8) t429; real(kind=8) t432; real(kind=8) t436; real(kind=8) t439; real(kind=8) t442; real(kind=8) t444; real(kind=8) t445; real(kind=8) t45; real(kind=8) t453; real(kind=8) t456; real(kind=8) t457; real(kind=8) t46; real(kind=8) t467; real(kind=8) t468; real(kind=8) t472; real(kind=8) t477; real(kind=8) t481; real(kind=8) t488; real(kind=8) t493; real(kind=8) t494; real(kind=8) t50; real(kind=8) t502; real(kind=8) t505; real(kind=8) t506; real(kind=8) t518; real(kind=8) t519; real(kind=8) t536; real(kind=8) t538; real(kind=8) t543; real(kind=8) t548; real(kind=8) t549; real(kind=8) t556; real(kind=8) t564; real(kind=8) t578; real(kind=8) t58; real(kind=8) t580; real(kind=8) t588; real(kind=8) t59; real(kind=8) t590; real(kind=8) t595; real(kind=8) t600; real(kind=8) t606; real(kind=8) t626; real(kind=8) t628; real(kind=8) t63; real(kind=8) t636; real(kind=8) t638; real(kind=8) t64; real(kind=8) t643; real(kind=8) t648; real(kind=8) t654; real(kind=8) t674; real(kind=8) t676; real(kind=8) t681; real(kind=8) t687; real(kind=8) t70; real(kind=8) t71; real(kind=8) t711; real(kind=8) t72; real(kind=8) t73; real(kind=8) t74; real(kind=8) t745; real(kind=8) t75; real(kind=8) t750; real(kind=8) t755; real(kind=8) t767; real(kind=8) t77; real(kind=8) t775; real(kind=8) t776; real(kind=8) t779; real(kind=8) t785; real(kind=8) t789; real(kind=8) t795; real(kind=8) t798; real(kind=8) t8; real(kind=8) t801; real(kind=8) t812; real(kind=8) t82; real(kind=8) t820; real(kind=8) t822; real(kind=8) t839; real(kind=8) t84; real(kind=8) t840; real(kind=8) t85; real(kind=8) t858; real(kind=8) t879; real(kind=8) t880; real(kind=8) t9; real(kind=8) t904; real(kind=8) t908; real(kind=8) t909; real(kind=8) t91; real(kind=8) t911; real(kind=8) t917; real(kind=8) t919; real(kind=8) t92; real(kind=8) t924; real(kind=8) t93; real(kind=8) t936; real(kind=8) t94; real(kind=8) t944; real(kind=8) t95; real(kind=8) t953; real(kind=8) t959; real(kind=8) t96; real(kind=8) t962; real(kind=8) t966; real(kind=8) t967; real(kind=8) t97; real(kind=8) t98; real(kind=8) t999; real(kind=8) tnorm_drho; real(kind=8) trhoa; real(kind=8) trhoanorm_drho; real(kind=8) trhoarhoa; real(kind=8) trhoarhob; real(kind=8) trhob; real(kind=8) trhobnorm_drho; real(kind=8) trhobrhob; integer(kind=8) dummy$dim$2$ubound; integer(kind=8) dummy$dim$2$lbound; integer(kind=8) dummy$dim$2$stride; integer(kind=8) dummy$dim$1$ubound; integer(kind=8) dummy$dim$1$lbound; integer(kind=8) dummy$dim$1$stride; integer(kind=8) dummy$dim$0$ubound; integer(kind=8) dummy$dim$0$lbound; integer(kind=8) dummy$dim$0$stride; integer(kind=8) dummy$dtype; integer(kind=8) dummy$offset; void * dummy$data; real(kind=8) scale_ex; real(kind=8) scale_ec; struct array3_real(kind=8) rhob; struct array3_real(kind=8) rhoa; integer(kind=4) param; integer(kind=4) npoints; struct array3_real(kind=8) norm_drhob; struct array3_real(kind=8) norm_drhoa; struct array3_real(kind=8) norm_drho; integer(kind=4) handle; real(kind=8) epsilon_rho; struct array3_real(kind=8) e_rb_rb; struct array3_real(kind=8) e_rb; struct array3_real(kind=8) e_ra_rb; struct array3_real(kind=8) e_ra_ra; struct array3_real(kind=8) e_ra; struct array3_real(kind=8) e_ndrb_rb; struct array3_real(kind=8) e_ndrb_ndrb; struct array3_real(kind=8) e_ndrb; struct array3_real(kind=8) e_ndra_ra; struct array3_real(kind=8) e_ndra_ndra; struct array3_real(kind=8) e_ndra; struct array3_real(kind=8) e_ndr_rb; struct array3_real(kind=8) e_ndr_ra; struct array3_real(kind=8) e_ndr_ndr; struct array3_real(kind=8) e_ndr; struct array3_real(kind=8) e_0; struct xc_derivative_type * deriv; struct array2_integer(kind=4) bo; struct xc_rho_set_type * _1; integer(kind=4) _2; struct xc_derivative_set_type * _3; integer(kind=4) _4; void * _5; integer(kind=8) _6; integer(kind=8) _7; integer(kind=8) _8; integer(kind=8) _9; integer(kind=8) _10; integer(kind=8) _11; integer(kind=4) _12; integer(kind=8) _13; integer(kind=4) _14; integer(kind=4) _15; integer(kind=4) _16; integer(kind=8) _17; integer(kind=8) _18; integer(kind=8) _19; integer(kind=4) _20; integer(kind=8) _21; integer(kind=4) _22; integer(kind=4) _23; integer(kind=4) _24; integer(kind=4) _25; integer(kind=8) _26; integer(kind=8) _27; integer(kind=8) _28; integer(kind=4) _29; integer(kind=8) _30; integer(kind=4) _31; integer(kind=4) _32; integer(kind=4) _33; integer(kind=4) _34; integer(kind=4) _35; struct xc_derivative_type * _36; logical(kind=4) _37; logical(kind=4) _38; logical(kind=4) _39; struct xc_derivative_type * _40; struct xc_derivative_type * _41; struct xc_derivative_type * _42; struct xc_derivative_type * _43; struct xc_derivative_type * _44; logical(kind=4) _45; logical(kind=4) _46; logical(kind=4) _47; struct xc_derivative_type * _48; struct xc_derivative_type * _49; struct xc_derivative_type * _50; struct xc_derivative_type * _51; struct xc_derivative_type * _52; struct xc_derivative_type * _53; struct xc_derivative_type * _54; struct xc_derivative_type * _55; struct xc_derivative_type * _56; struct xc_derivative_type * _57; void * _58; void * _59; void * _60; void * _61; void * _62; void * _63; void * _64; void * _65; void * _66; void * _67; void * _68; void * _69; void * _70; void * _71; void * _72; void * _73; void * _74; void * _75; void * _76; void * _77; void * _78; real(kind=8) _105; real(kind=8) _108; real(kind=8) _109; real(kind=8) _111; real(kind=8) _112; real(kind=8) _114; real(kind=8) _117; real(kind=8) _118; real(kind=8) _120; real(kind=8) _121; real(kind=8) _123; real(kind=8) _124; real(kind=8) _126; real(kind=8) _127; real(kind=8) _129; real(kind=8) _130; real(kind=8) _132; real(kind=8) _133; real(kind=8) _135; real(kind=8) _136; real(kind=8) _138; real(kind=8) _139; real(kind=8) _141; real(kind=8) _142; real(kind=8) _144; real(kind=8) _145; real(kind=8) _147; real(kind=8) _148; real(kind=8) _150; real(kind=8) _151; real(kind=8) _153; real(kind=8) _154; real(kind=8) _156; real(kind=8) _157; real(kind=8) _159; real(kind=8) _160; real(kind=8) _162; real(kind=8) _163; void * _169; void * _171; void * _173; void * _175; void * _177; void * _179; void * _181; void * _183; void * _185; void * _187; void * _189; void * _191; void * _193; void * _195; void * _197; void * _199; void * _201; void * _203; void * _205; void * _207; void * _209; real(kind=8) _248; real(kind=8) _250; real(kind=8) _272; void (*<Tb45>) (character(kind=1)[1:] & restrict, integer(kind=4) & restrict, integer(kind=4)) timeset_hook.111877_278; real(kind=8) _497; real(kind=8) _498; integer(kind=4) _499; real(kind=8) _500; real(kind=8) _501; real(kind=8) _502; void * _504; real(kind=8) _505; real(kind=8) _506; real(kind=8) _507; real(kind=8) _508; real(kind=8) _509; real(kind=8) _510; real(kind=8) _511; real(kind=8) _512; real(kind=8) _513; integer(kind=4) _514; real(kind=8) _515; real(kind=8) _517; real(kind=8) M.51221_518; void * _519; real(kind=8) _520; real(kind=8) _521; real(kind=8) _522; real(kind=8) _523; real(kind=8) _524; real(kind=8) reassocpow_525; real(kind=8) _526; real(kind=8) _527; real(kind=8) _528; integer(kind=4) _529; real(kind=8) _530; real(kind=8) _531; real(kind=8) _532; void * _534; real(kind=8) _535; real(kind=8) _536; real(kind=8) _537; real(kind=8) _538; real(kind=8) _539; real(kind=8) _540; real(kind=8) _541; real(kind=8) _542; real(kind=8) _543; integer(kind=4) _544; real(kind=8) _545; real(kind=8) _546; real(kind=8) _547; void * _549; real(kind=8) _550; real(kind=8) _551; real(kind=8) _552; real(kind=8) _553; real(kind=8) _554; real(kind=8) _555; real(kind=8) _556; real(kind=8) _557; real(kind=8) _558; integer(kind=4) _559; real(kind=8) _560; real(kind=8) _561; real(kind=8) _562; void * _564; real(kind=8) _565; real(kind=8) _566; real(kind=8) _567; real(kind=8) _568; real(kind=8) _569; real(kind=8) _570; real(kind=8) _571; real(kind=8) _572; real(kind=8) _573; integer(kind=4) _574; real(kind=8) _575; real(kind=8) _576; real(kind=8) _577; void * _579; real(kind=8) _580; real(kind=8) _581; real(kind=8) _582; real(kind=8) _583; real(kind=8) _584; real(kind=8) _585; real(kind=8) _586; real(kind=8) _587; real(kind=8) _588; integer(kind=4) _589; real(kind=8) _590; real(kind=8) _591; void * _594; real(kind=8) _595; real(kind=8) _596; real(kind=8) _597; real(kind=8) _598; real(kind=8) _599; real(kind=8) _600; real(kind=8) _601; real(kind=8) _602; real(kind=8) _603; integer(kind=4) _604; real(kind=8) _605; real(kind=8) _606; real(kind=8) M.51220_608; void * _609; real(kind=8) _610; real(kind=8) _611; real(kind=8) _612; real(kind=8) _613; real(kind=8) _614; real(kind=8) _615; real(kind=8) _616; real(kind=8) _617; real(kind=8) _618; integer(kind=4) _619; real(kind=8) _620; real(kind=8) _621; real(kind=8) _622; real(kind=8) _623; void * _624; real(kind=8) _625; real(kind=8) _626; real(kind=8) _627; real(kind=8) _628; real(kind=8) _629; real(kind=8) _630; real(kind=8) _631; real(kind=8) _632; real(kind=8) _633; integer(kind=4) _634; real(kind=8) _635; real(kind=8) _636; real(kind=8) _637; real(kind=8) _638; void * _639; real(kind=8) _640; real(kind=8) _641; real(kind=8) _642; real(kind=8) _643; real(kind=8) _644; real(kind=8) reassocpow_645; real(kind=8) _646; real(kind=8) _648; integer(kind=4) _649; real(kind=8) _650; real(kind=8) reassocpow_651; real(kind=8) _652; real(kind=8) _653; void * _654; real(kind=8) _655; real(kind=8) _656; real(kind=8) _657; real(kind=8) _658; real(kind=8) _659; real(kind=8) _660; real(kind=8) _661; real(kind=8) _663; integer(kind=4) _664; real(kind=8) _665; real(kind=8) reassocpow_666; real(kind=8) _667; real(kind=8) _668; void * _669; real(kind=8) _670; real(kind=8) _671; real(kind=8) _672; real(kind=8) _673; real(kind=8) _674; real(kind=8) _675; real(kind=8) _676; real(kind=8) _677; real(kind=8) _678; integer(kind=4) _679; real(kind=8) reassocpow_680; real(kind=8) _681; real(kind=8) _682; real(kind=8) _683; void * _684; real(kind=8) _685; real(kind=8) _686; real(kind=8) _687; real(kind=8) _688; real(kind=8) _689; real(kind=8) _690; real(kind=8) _691; real(kind=8) _692; real(kind=8) _693; integer(kind=4) _694; real(kind=8) _695; real(kind=8) _696; real(kind=8) _697; real(kind=8) _698; void * _699; real(kind=8) _700; real(kind=8) _701; real(kind=8) _702; real(kind=8) _703; real(kind=8) _704; real(kind=8) _705; real(kind=8) reassocpow_706; real(kind=8) _707; integer(kind=4) _709; real(kind=8) _710; real(kind=8) _711; real(kind=8) _712; real(kind=8) _713; void * _714; real(kind=8) _720; real(kind=8) _721; real(kind=8) _723; integer(kind=4) _724; real(kind=8) _727; void * _729; real(kind=8) M.51223_731; real(kind=8) M.51222_736; integer(kind=4) _737; real(kind=8) _738; real(kind=8) _739; integer(kind=8) _741; integer(kind=8) _742; real(kind=8) _743; real(kind=8) _744; real(kind=8) _745; real(kind=8) _746; real(kind=8) _748; real(kind=8) _749; real(kind=8) _750; real(kind=8) _762; real(kind=8) _768; real(kind=8) _769; real(kind=8) _771; real(kind=8) _774; real(kind=8) _779; real(kind=8) _780; real(kind=8) _783; real(kind=8) _784; real(kind=8) _786; real(kind=8) _789; real(kind=8) _792; real(kind=8) _795; real(kind=8) _796; real(kind=8) _798; real(kind=8) _801; real(kind=8) _813; real(kind=8) _814; real(kind=8) _815; real(kind=8) _818; real(kind=8) _819; real(kind=8) _820; real(kind=8) _821; real(kind=8) _825; real(kind=8) _828; real(kind=8) _829; real(kind=8) _830; real(kind=8) _832; real(kind=8) _833; real(kind=8) _834; real(kind=8) _851; real(kind=8) _854; real(kind=8) _855; real(kind=8) _860; real(kind=8) _863; real(kind=8) _864; real(kind=8) _865; real(kind=8) _869; real(kind=8) _870; real(kind=8) _871; real(kind=8) _874; real(kind=8) _880; real(kind=8) _887; real(kind=8) _892; real(kind=8) _894; real(kind=8) _902; real(kind=8) _909; real(kind=8) _911; real(kind=8) _913; real(kind=8) _917; real(kind=8) _918; real(kind=8) _919; real(kind=8) _920; real(kind=8) _921; real(kind=8) _922; real(kind=8) _923; real(kind=8) _925; real(kind=8) _927; real(kind=8) _928; real(kind=8) _929; real(kind=8) _930; real(kind=8) _931; real(kind=8) _935; real(kind=8) _936; real(kind=8) _937; real(kind=8) _939; real(kind=8) _941; real(kind=8) _949; real(kind=8) _953; real(kind=8) _955; real(kind=8) _957; real(kind=8) _961; real(kind=8) _964; real(kind=8) _966; real(kind=8) _972; real(kind=8) _976; real(kind=8) _978; real(kind=8) _980; real(kind=8) _984; real(kind=8) _987; real(kind=8) _989; real(kind=8) _995; real(kind=8) _999; real(kind=8) _1001; real(kind=8) _1003; real(kind=8) _1009; real(kind=8) _1010; real(kind=8) _1012; real(kind=8) _1014; real(kind=8) _1015; real(kind=8) _1042; real(kind=8) _1045; real(kind=8) _1052; real(kind=8) _1057; real(kind=8) _1059; real(kind=8) _1061; real(kind=8) _1063; real(kind=8) _1065; real(kind=8) _1067; real(kind=8) _1070; real(kind=8) _1074; real(kind=8) _1075; real(kind=8) _1077; real(kind=8) _1078; real(kind=8) _1079; real(kind=8) _1091; real(kind=8) _1098; real(kind=8) _1099; real(kind=8) _1101; real(kind=8) _1104; real(kind=8) _1105; real(kind=8) _1106; real(kind=8) _1107; real(kind=8) _1108; real(kind=8) _1109; real(kind=8) _1113; real(kind=8) _1114; real(kind=8) _1115; real(kind=8) _1116; real(kind=8) _1118; real(kind=8) _1121; real(kind=8) _1123; real(kind=8) _1126; real(kind=8) _1128; real(kind=8) _1130; real(kind=8) _1133; real(kind=8) _1135; real(kind=8) _1136; real(kind=8) _1138; real(kind=8) _1142; real(kind=8) _1143; real(kind=8) _1144; real(kind=8) _1145; real(kind=8) _1146; real(kind=8) _1147; real(kind=8) _1148; real(kind=8) _1149; real(kind=8) _1150; real(kind=8) _1151; real(kind=8) _1152; real(kind=8) _1154; real(kind=8) _1155; real(kind=8) _1156; real(kind=8) _1157; real(kind=8) _1158; real(kind=8) _1159; real(kind=8) _1160; real(kind=8) _1161; real(kind=8) _1165; real(kind=8) _1168; real(kind=8) _1171; real(kind=8) _1174; real(kind=8) _1175; real(kind=8) _1201; real(kind=8) _1208; real(kind=8) _1209; real(kind=8) _1211; real(kind=8) _1212; real(kind=8) _1221; real(kind=8) _1222; real(kind=8) _1224; real(kind=8) _1227; real(kind=8) _1228; real(kind=8) _1229; real(kind=8) _1230; real(kind=8) _1231; real(kind=8) _1234; real(kind=8) _1235; real(kind=8) _1236; real(kind=8) _1237; real(kind=8) _1239; real(kind=8) _1242; real(kind=8) _1244; real(kind=8) _1247; real(kind=8) _1249; real(kind=8) _1251; real(kind=8) _1254; real(kind=8) _1256; real(kind=8) _1257; real(kind=8) _1259; real(kind=8) _1263; real(kind=8) _1264; real(kind=8) _1265; real(kind=8) _1266; real(kind=8) _1267; real(kind=8) _1268; real(kind=8) _1269; real(kind=8) _1270; real(kind=8) _1272; real(kind=8) _1273; real(kind=8) _1274; real(kind=8) _1275; real(kind=8) _1276; real(kind=8) _1277; real(kind=8) _1278; real(kind=8) _1279; real(kind=8) _1286; real(kind=8) _1288; real(kind=8) _1290; real(kind=8) _1291; real(kind=8) _1292; real(kind=8) _1293; real(kind=8) _1294; real(kind=8) _1295; real(kind=8) _1296; real(kind=8) _1300; real(kind=8) _1301; real(kind=8) _1302; real(kind=8) _1303; real(kind=8) _1304; real(kind=8) _1305; real(kind=8) _1306; real(kind=8) _1307; real(kind=8) _1308; real(kind=8) _1309; real(kind=8) _1310; real(kind=8) _1311; real(kind=8) _1312; real(kind=8) _1313; real(kind=8) _1314; real(kind=8) _1315; real(kind=8) _1316; real(kind=8) _1317; real(kind=8) _1318; real(kind=8) _1319; real(kind=8) _1320; real(kind=8) _1321; real(kind=8) _1322; real(kind=8) _1323; real(kind=8) _1324; real(kind=8) _1325; real(kind=8) _1326; real(kind=8) _1329; real(kind=8) _1333; real(kind=8) _1336; real(kind=8) _1337; real(kind=8) _1342; real(kind=8) _1344; real(kind=8) _1347; real(kind=8) _1349; real(kind=8) _1351; real(kind=8) _1353; real(kind=8) _1355; real(kind=8) _1357; real(kind=8) _1358; real(kind=8) _1360; real(kind=8) _1361; real(kind=8) _1362; real(kind=8) _1364; real(kind=8) _1366; real(kind=8) _1371; real(kind=8) _1374; real(kind=8) _1375; real(kind=8) _1376; real(kind=8) _1378; real(kind=8) _1381; real(kind=8) _1384; real(kind=8) _1385; real(kind=8) _1386; real(kind=8) _1388; real(kind=8) _1393; real(kind=8) _1398; real(kind=8) _1400; real(kind=8) _1403; real(kind=8) _1405; real(kind=8) _1410; real(kind=8) _1412; real(kind=8) _1415; real(kind=8) _1417; real(kind=8) _1420; real(kind=8) _1423; real(kind=8) _1425; real(kind=8) _1428; real(kind=8) _1431; real(kind=8) _1432; real(kind=8) _1433; real(kind=8) _1436; real(kind=8) _1438; real(kind=8) _1439; real(kind=8) _1441; real(kind=8) _1442; real(kind=8) _1443; real(kind=8) _1445; real(kind=8) _1447; real(kind=8) _1452; real(kind=8) _1455; real(kind=8) _1456; real(kind=8) _1457; real(kind=8) _1459; real(kind=8) _1462; real(kind=8) _1465; real(kind=8) _1466; real(kind=8) _1467; real(kind=8) _1469; real(kind=8) _1474; real(kind=8) _1475; real(kind=8) _1476; real(kind=8) _1477; real(kind=8) _1479; real(kind=8) _1480; real(kind=8) _1482; real(kind=8) _1485; real(kind=8) _1488; real(kind=8) _1492; real(kind=8) _1495; real(kind=8) _1499; real(kind=8) _1501; real(kind=8) _1503; real(kind=8) _1505; real(kind=8) _1508; real(kind=8) _1509; real(kind=8) _1512; real(kind=8) _1513; real(kind=8) _1514; real(kind=8) _1516; real(kind=8) _1518; real(kind=8) _1523; real(kind=8) _1526; real(kind=8) _1527; real(kind=8) _1528; real(kind=8) _1530; real(kind=8) _1533; real(kind=8) _1536; real(kind=8) _1537; real(kind=8) _1538; real(kind=8) _1540; real(kind=8) _1541; real(kind=8) _1545; real(kind=8) _1546; real(kind=8) _1547; real(kind=8) _1549; real(kind=8) _1550; real(kind=8) _1552; real(kind=8) _1555; real(kind=8) _1559; real(kind=8) _1562; real(kind=8) _1566; real(kind=8) _1568; real(kind=8) _1574; real(kind=8) _1576; real(kind=8) _1577; real(kind=8) _1579; real(kind=8) _1580; real(kind=8) _1582; real(kind=8) _1584; real(kind=8) _1585; real(kind=8) _1587; real(kind=8) _1594; real(kind=8) _1598; real(kind=8) _1606; real(kind=8) _1610; real(kind=8) _1611; real(kind=8) _1613; real(kind=8) _1614; real(kind=8) _1616; real(kind=8) _1618; real(kind=8) _1620; real(kind=8) _1621; real(kind=8) _1625; real(kind=8) _1628; real(kind=8) _1629; real(kind=8) _1630; real(kind=8) _1632; real(kind=8) _1637; real(kind=8) _1639; real(kind=8) _1641; real(kind=8) _1644; real(kind=8) _1646; real(kind=8) _1648; real(kind=8) _1650; real(kind=8) _1653; real(kind=8) _1655; real(kind=8) _1657; real(kind=8) _1659; real(kind=8) _1660; real(kind=8) _1661; real(kind=8) _1663; real(kind=8) _1664; real(kind=8) _1666; real(kind=8) _1670; real(kind=8) _1671; real(kind=8) _1685; real(kind=8) _1692; real(kind=8) _1695; real(kind=8) _1697; real(kind=8) _1699; real(kind=8) _1702; real(kind=8) _1704; real(kind=8) _1706; real(kind=8) _1708; real(kind=8) _1710; real(kind=8) _1713; real(kind=8) _1716; real(kind=8) _1718; real(kind=8) _1721; real(kind=8) _1722; real(kind=8) _1723; real(kind=8) _1725; real(kind=8) _1727; real(kind=8) _1729; real(kind=8) _1730; real(kind=8) _1731; real(kind=8) _1733; real(kind=8) _1735; real(kind=8) _1736; real(kind=8) _1738; real(kind=8) _1740; real(kind=8) _1742; real(kind=8) _1743; real(kind=8) _1745; real(kind=8) _1746; real(kind=8) _1748; real(kind=8) _1749; real(kind=8) _1750; real(kind=8) _1752; real(kind=8) _1755; real(kind=8) _1756; real(kind=8) _1759; real(kind=8) _1760; real(kind=8) _1761; real(kind=8) _1765; real(kind=8) _1766; real(kind=8) _1767; real(kind=8) _1768; real(kind=8) _1770; real(kind=8) _1771; real(kind=8) _1775; real(kind=8) _1778; real(kind=8) _1780; real(kind=8) _1782; real(kind=8) _1785; real(kind=8) _1786; real(kind=8) _1788; real(kind=8) _1790; real(kind=8) _1791; real(kind=8) _1793; real(kind=8) _1794; real(kind=8) _1798; real(kind=8) _1800; real(kind=8) _1801; real(kind=8) _1802; real(kind=8) _1803; real(kind=8) _1805; real(kind=8) _1806; real(kind=8) _1807; real(kind=8) _1809; real(kind=8) _1810; real(kind=8) _1811; real(kind=8) _1813; real(kind=8) _1814; real(kind=8) _1815; real(kind=8) _1816; real(kind=8) _1818; real(kind=8) _1819; real(kind=8) _1820; real(kind=8) _1821; real(kind=8) _1822; real(kind=8) _1823; real(kind=8) _1825; real(kind=8) _1829; real(kind=8) _1832; real(kind=8) _1834; real(kind=8) _1836; real(kind=8) _1839; real(kind=8) _1841; real(kind=8) _1842; real(kind=8) _1843; real(kind=8) _1844; real(kind=8) _1845; real(kind=8) _1846; real(kind=8) _1847; real(kind=8) _1848; real(kind=8) _1849; real(kind=8) _1853; real(kind=8) _1858; real(kind=8) _1860; real(kind=8) _1863; real(kind=8) _1864; real(kind=8) _1865; real(kind=8) _1867; real(kind=8) _1873; real(kind=8) _1877; real(kind=8) _1879; real(kind=8) _1883; real(kind=8) _1886; real(kind=8) _1887; real(kind=8) _1888; real(kind=8) _1892; real(kind=8) _1897; real(kind=8) _1899; real(kind=8) _1902; real(kind=8) _1903; real(kind=8) _1904; real(kind=8) _1906; real(kind=8) _1912; real(kind=8) _1913; real(kind=8) _1914; real(kind=8) _1915; real(kind=8) _1916; real(kind=8) _1919; real(kind=8) _1921; real(kind=8) _1925; real(kind=8) _1927; real(kind=8) _1930; real(kind=8) _1934; real(kind=8) _1937; real(kind=8) _1940; real(kind=8) _1943; real(kind=8) _1946; real(kind=8) _1948; real(kind=8) _1949; real(kind=8) _1953; real(kind=8) _1955; real(kind=8) _1958; real(kind=8) _1959; real(kind=8) _1960; real(kind=8) _1962; real(kind=8) _1968; real(kind=8) _1969; real(kind=8) _1970; real(kind=8) _1971; real(kind=8) _1974; real(kind=8) _1978; real(kind=8) _1980; real(kind=8) _1983; real(kind=8) _1987; real(kind=8) _1990; real(kind=8) _1993; real(kind=8) _1997; real(kind=8) _2001; real(kind=8) _2004; real(kind=8) _2005; real(kind=8) _2008; real(kind=8) _2009; real(kind=8) _2011; real(kind=8) _2015; real(kind=8) _2018; real(kind=8) _2021; real(kind=8) _2028; real(kind=8) _2029; real(kind=8) _2030; real(kind=8) _2032; real(kind=8) _2038; real(kind=8) _2040; real(kind=8) _2042; real(kind=8) _2045; real(kind=8) _2048; real(kind=8) _2051; real(kind=8) _2052; real(kind=8) _2053; real(kind=8) _2055; real(kind=8) _2056; real(kind=8) _2058; real(kind=8) _2067; real(kind=8) _2076; real(kind=8) _2077; real(kind=8) _2079; real(kind=8) _2082; real(kind=8) _2085; real(kind=8) _2088; real(kind=8) _2091; real(kind=8) _2094; real(kind=8) _2096; real(kind=8) _2097; real(kind=8) _2098; real(kind=8) _2099; real(kind=8) _2101; real(kind=8) _2103; real(kind=8) _2105; real(kind=8) _2106; real(kind=8) _2107; real(kind=8) _2108; real(kind=8) _2110; real(kind=8) _2112; real(kind=8) _2115; real(kind=8) _2117; real(kind=8) _2118; real(kind=8) _2121; real(kind=8) _2122; real(kind=8) _2123; real(kind=8) _2125; real(kind=8) _2126; real(kind=8) _2128; real(kind=8) _2130; real(kind=8) _2132; real(kind=8) _2135; real(kind=8) _2138; real(kind=8) _2141; real(kind=8) _2143; real(kind=8) _2144; real(kind=8) _2145; real(kind=8) _2146; real(kind=8) _2147; real(kind=8) _2148; real(kind=8) _2149; real(kind=8) _2150; real(kind=8) _2151; real(kind=8) _2153; real(kind=8) _2155; real(kind=8) _2157; real(kind=8) _2160; real(kind=8) _2163; real(kind=8) _2164; real(kind=8) _2165; real(kind=8) _2168; real(kind=8) _2171; real(kind=8) _2174; real(kind=8) _2178; real(kind=8) _2181; real(kind=8) _2186; real(kind=8) _2189; real(kind=8) _2192; real(kind=8) _2195; real(kind=8) _2199; real(kind=8) _2202; real(kind=8) _2207; real(kind=8) _2211; real(kind=8) _2213; real(kind=8) _2214; real(kind=8) _2216; real(kind=8) _2217; real(kind=8) _2219; real(kind=8) _2223; real(kind=8) _2226; real(kind=8) _2229; real(kind=8) _2230; real(kind=8) _2242; real(kind=8) _2244; real(kind=8) _2246; real(kind=8) _2252; real(kind=8) _2255; real(kind=8) _2256; real(kind=8) _2257; real(kind=8) _2259; real(kind=8) _2260; real(kind=8) _2262; real(kind=8) _2265; real(kind=8) _2266; real(kind=8) _2279; real(kind=8) _2281; real(kind=8) _2283; real(kind=8) _2285; real(kind=8) _2288; real(kind=8) _2292; real(kind=8) _2294; real(kind=8) _2296; real(kind=8) _2299; real(kind=8) _2301; real(kind=8) _2303; real(kind=8) _2306; real(kind=8) _2307; real(kind=8) _2309; real(kind=8) _2312; real(kind=8) _2313; real(kind=8) _2314; real(kind=8) _2316; real(kind=8) _2318; real(kind=8) _2320; real(kind=8) _2322; real(kind=8) _2324; real(kind=8) _2325; real(kind=8) _2327; real(kind=8) _2329; real(kind=8) _2330; real(kind=8) _2331; real(kind=8) _2334; real(kind=8) _2335; real(kind=8) _2338; real(kind=8) _2339; real(kind=8) _2343; real(kind=8) _2344; real(kind=8) _2345; real(kind=8) _2347; real(kind=8) _2348; real(kind=8) _2352; real(kind=8) _2355; real(kind=8) _2357; real(kind=8) _2359; real(kind=8) _2362; real(kind=8) _2363; real(kind=8) _2365; real(kind=8) _2367; real(kind=8) _2368; real(kind=8) _2370; real(kind=8) _2371; real(kind=8) _2375; real(kind=8) _2377; real(kind=8) _2378; real(kind=8) _2379; real(kind=8) _2380; real(kind=8) _2382; real(kind=8) _2383; real(kind=8) _2384; real(kind=8) _2386; real(kind=8) _2387; real(kind=8) _2388; real(kind=8) _2390; real(kind=8) _2391; real(kind=8) _2393; real(kind=8) _2394; real(kind=8) _2395; real(kind=8) _2396; real(kind=8) _2397; real(kind=8) _2400; real(kind=8) _2404; real(kind=8) _2407; real(kind=8) _2410; real(kind=8) _2413; real(kind=8) _2415; real(kind=8) _2416; real(kind=8) _2417; real(kind=8) _2418; real(kind=8) _2419; real(kind=8) _2420; real(kind=8) _2421; real(kind=8) _2422; real(kind=8) _2423; real(kind=8) _2428; real(kind=8) _2431; real(kind=8) _2433; real(kind=8) _2440; real(kind=8) _2441; real(kind=8) _2442; real(kind=8) _2444; real(kind=8) _2447; real(kind=8) _2450; real(kind=8) _2453; real(kind=8) _2456; real(kind=8) _2457; real(kind=8) _2458; real(kind=8) _2460; real(kind=8) _2462; real(kind=8) _2465; real(kind=8) _2467; real(kind=8) _2469; real(kind=8) _2472; real(kind=8) _2473; real(kind=8) _2475; real(kind=8) _2478; real(kind=8) _2481; real(kind=8) _2482; real(kind=8) _2483; real(kind=8) _2484; real(kind=8) _2486; real(kind=8) _2487; real(kind=8) _2489; real(kind=8) _2491; real(kind=8) _2493; real(kind=8) _2494; real(kind=8) _2495; real(kind=8) _2496; real(kind=8) _2497; real(kind=8) _2498; real(kind=8) _2499; real(kind=8) _2500; real(kind=8) _2502; real(kind=8) _2510; real(kind=8) _2512; real(kind=8) _2515; real(kind=8) _2518; real(kind=8) _2521; real(kind=8) _2524; real(kind=8) _2525; real(kind=8) _2526; real(kind=8) _2528; real(kind=8) _2530; real(kind=8) _2533; real(kind=8) _2536; real(kind=8) _2539; real(kind=8) _2540; real(kind=8) _2542; real(kind=8) _2545; real(kind=8) _2548; real(kind=8) _2549; real(kind=8) _2550; real(kind=8) _2551; real(kind=8) _2553; real(kind=8) _2555; real(kind=8) _2557; real(kind=8) _2559; real(kind=8) _2560; real(kind=8) _2561; real(kind=8) _2562; real(kind=8) _2563; real(kind=8) _2564; real(kind=8) _2565; real(kind=8) _2566; real(kind=8) _2567; real(kind=8) _2571; real(kind=8) _2572; real(kind=8) _2576; real(kind=8) _2577; real(kind=8) _2579; real(kind=8) _2583; real(kind=8) _2586; real(kind=8) _2589; real(kind=8) _2591; real(kind=8) _2593; real(kind=8) _2594; real(kind=8) _2595; real(kind=8) _2596; real(kind=8) _2597; real(kind=8) _2598; real(kind=8) _2600; real(kind=8) _2602; real(kind=8) _2603; real(kind=8) _2604; real(kind=8) _2605; real(kind=8) _2606; real(kind=8) _2607; real(kind=8) _2608; real(kind=8) _2609; real(kind=8) _2612; real(kind=8) _2614; real(kind=8) _2615; real(kind=8) _2618; real(kind=8) _2621; real(kind=8) _2622; real(kind=8) _2623; real(kind=8) _2625; real(kind=8) _2626; real(kind=8) _2627; real(kind=8) _2628; real(kind=8) _2629; real(kind=8) _2630; real(kind=8) _2631; real(kind=8) _2633; real(kind=8) _2634; real(kind=8) _2635; real(kind=8) _2636; real(kind=8) _2637; real(kind=8) _2639; real(kind=8) _2642; real(kind=8) _2643; real(kind=8) _2644; real(kind=8) _2645; real(kind=8) _2646; real(kind=8) _2647; real(kind=8) _2648; real(kind=8) _2649; real(kind=8) _2652; real(kind=8) _2654; real(kind=8) _2655; real(kind=8) _2658; real(kind=8) _2661; real(kind=8) _2662; real(kind=8) _2663; real(kind=8) _2665; real(kind=8) _2666; real(kind=8) _2667; real(kind=8) _2668; real(kind=8) _2669; real(kind=8) _2670; real(kind=8) _2671; real(kind=8) _2673; real(kind=8) _2674; real(kind=8) _2675; real(kind=8) _2676; real(kind=8) _2677; real(kind=8) _2679; real(kind=8) _2682; real(kind=8) _2683; real(kind=8) _2684; real(kind=8) _2685; real(kind=8) _2686; real(kind=8) _2688; void (*<Tb31>) (integer(kind=4) & restrict) timestop_hook.111875_2689; integer(kind=4) _2690; real(kind=8) _2695; real(kind=8) _2696; real(kind=8) _2734; real(kind=8) _2735; real(kind=8) _2736; real(kind=8) _2737; real(kind=8) _2738; real(kind=8) _2739; real(kind=8) _2740; real(kind=8) _2741; real(kind=8) _2742; real(kind=8) _2743; real(kind=8) _2744; real(kind=8) _2745; real(kind=8) _2746; real(kind=8) _2747; real(kind=8) _2748; real(kind=8) _2749; real(kind=8) _2750; real(kind=8) _2751; real(kind=8) _2754; real(kind=8) _2755; real(kind=8) _2756; real(kind=8) _2757; real(kind=8) _2758; real(kind=8) _2759; real(kind=8) _2760; real(kind=8) reassocpow_2761; real(kind=8) _2762; real(kind=8) _2763; real(kind=8) _2765; real(kind=8) _2766; real(kind=8) reassocpow_2767; real(kind=8) _2768; real(kind=8) _2769; real(kind=8) _2771; real(kind=8) _2772; real(kind=8) _2773; real(kind=8) _2774; real(kind=8) _2775; real(kind=8) _2776; real(kind=8) _2777; real(kind=8) _2778; real(kind=8) _2779; real(kind=8) _2780; real(kind=8) _2781; real(kind=8) _2782; real(kind=8) _2783; real(kind=8) _2784; real(kind=8) _2785; real(kind=8) _2794; real(kind=8) _2795; real(kind=8) _2796; real(kind=8) _2797; real(kind=8) _2798; real(kind=8) _2799; real(kind=8) _2800; real(kind=8) _2801; real(kind=8) _2802; real(kind=8) _2803; real(kind=8) _2804; real(kind=8) _2805; real(kind=8) _2806; real(kind=8) _2807; real(kind=8) _2808; real(kind=8) _2809; real(kind=8) _2810; real(kind=8) _2811; real(kind=8) _2812; real(kind=8) _2813; real(kind=8) _2814; real(kind=8) _2815; real(kind=8) _2816; real(kind=8) _2817; real(kind=8) _2818; real(kind=8) _2819; real(kind=8) _2820; real(kind=8) _2821; real(kind=8) _2822; real(kind=8) _2823; real(kind=8) _2824; real(kind=8) _2825; real(kind=8) _2826; real(kind=8) _2827; real(kind=8) reassocpow_2828; real(kind=8) _2829; real(kind=8) _2830; real(kind=8) _2831; real(kind=8) _2832; real(kind=8) _2833; real(kind=8) _2834; real(kind=8) _2835; real(kind=8) _2836; real(kind=8) _2837; real(kind=8) _2838; real(kind=8) _2839; real(kind=8) _2840; real(kind=8) _2841; real(kind=8) _2842; real(kind=8) _2843; real(kind=8) _2844; real(kind=8) _2845; real(kind=8) _2846; real(kind=8) _2847; real(kind=8) _2848; real(kind=8) _2849; real(kind=8) _2850; real(kind=8) _2851; real(kind=8) _2852; real(kind=8) _2853; real(kind=8) _2854; real(kind=8) _2855; real(kind=8) _2856; real(kind=8) _2857; real(kind=8) _2858; real(kind=8) _2859; real(kind=8) _2860; real(kind=8) _2861; real(kind=8) _2862; real(kind=8) _2863; real(kind=8) _2864; real(kind=8) _2865; real(kind=8) _2866; real(kind=8) _2867; real(kind=8) _2868; real(kind=8) _2869; real(kind=8) _2870; real(kind=8) _2871; real(kind=8) _2872; real(kind=8) _2873; real(kind=8) _2874; real(kind=8) _2875; real(kind=8) _2876; real(kind=8) _2877; real(kind=8) _2878; real(kind=8) _2879; real(kind=8) _2880; real(kind=8) _2881; real(kind=8) _2882; real(kind=8) _2883; real(kind=8) _2884; real(kind=8) _2885; real(kind=8) reassocpow_2886; real(kind=8) _2887; real(kind=8) _2889; real(kind=8) _2890; real(kind=8) _2891; real(kind=8) _2892; real(kind=8) _2893; real(kind=8) _2894; real(kind=8) _2895; real(kind=8) _2896; real(kind=8) _2897; real(kind=8) _2909; real(kind=8) _2910; real(kind=8) _2913; real(kind=8) _2914; real(kind=8) _2915; real(kind=8) _2916; real(kind=8) _2917; real(kind=8) _2918; real(kind=8) _2919; real(kind=8) _2920; real(kind=8) _2921; real(kind=8) _2922; real(kind=8) _2923; real(kind=8) _2924; real(kind=8) _2925; real(kind=8) _2926; real(kind=8) _2927; real(kind=8) _2928; real(kind=8) _2929; real(kind=8) _2930; real(kind=8) _2931; real(kind=8) _2932; real(kind=8) _2933; real(kind=8) _2934; real(kind=8) _2935; real(kind=8) _2936; real(kind=8) _2937; real(kind=8) _2938; real(kind=8) _2939; real(kind=8) reassocpow_2940; real(kind=8) _2941; real(kind=8) _2942; real(kind=8) _2944; real(kind=8) _2945; real(kind=8) _2946; real(kind=8) _2947; real(kind=8) _2948; real(kind=8) _2949; real(kind=8) _2950; real(kind=8) _2951; real(kind=8) _2952; real(kind=8) _2953; real(kind=8) _2954; real(kind=8) _2955; real(kind=8) _2956; real(kind=8) _2957; real(kind=8) reassocpow_2958; real(kind=8) _2959; real(kind=8) _2960; real(kind=8) _2962; real(kind=8) _2963; real(kind=8) _2964; real(kind=8) _2965; real(kind=8) _2966; real(kind=8) _2967; real(kind=8) _2968; real(kind=8) _2969; real(kind=8) _2970; real(kind=8) _2971; real(kind=8) _2972; real(kind=8) _2973; real(kind=8) _2974; real(kind=8) _2975; real(kind=8) _2976; real(kind=8) _2977; real(kind=8) _2978; real(kind=8) reassocpow_2979; real(kind=8) _2980; real(kind=8) _2981; real(kind=8) _2983; real(kind=8) _2984; real(kind=8) _2985; real(kind=8) _2986; real(kind=8) _2987; real(kind=8) reassocpow_2988; real(kind=8) _2989; real(kind=8) _2990; real(kind=8) _2991; real(kind=8) _2992; real(kind=8) _2993; real(kind=8) _2994; real(kind=8) _2995; real(kind=8) _2996; real(kind=8) _2997; real(kind=8) _2998; real(kind=8) _2999; real(kind=8) _3000; real(kind=8) _3001; real(kind=8) _3002; real(kind=8) _3003; real(kind=8) _3004; real(kind=8) _3005; real(kind=8) _3006; real(kind=8) _3007; real(kind=8) _3008; real(kind=8) _3009; real(kind=8) _3010; real(kind=8) _3011; real(kind=8) _3012; real(kind=8) reassocpow_3013; real(kind=8) _3014; real(kind=8) _3016; real(kind=8) _3017; real(kind=8) _3018; real(kind=8) _3019; real(kind=8) _3020; real(kind=8) reassocpow_3021; real(kind=8) reassocpow_3022; real(kind=8) _3023; real(kind=8) _3024; real(kind=8) _3025; real(kind=8) _3026; real(kind=8) _3027; real(kind=8) _3028; real(kind=8) _3029; real(kind=8) _3030; real(kind=8) _3031; real(kind=8) _3032; real(kind=8) _3033; real(kind=8) _3034; real(kind=8) _3035; real(kind=8) _3036; real(kind=8) _3037; real(kind=8) _3038; real(kind=8) _3039; real(kind=8) _3040; real(kind=8) _3041; real(kind=8) _3042; real(kind=8) _3043; real(kind=8) _3044; real(kind=8) _3045; real(kind=8) _3046; real(kind=8) _3047; real(kind=8) _3048; real(kind=8) _3049; real(kind=8) _3050; real(kind=8) reassocpow_3051; real(kind=8) _3052; real(kind=8) _3054; real(kind=8) _3055; real(kind=8) _3056; real(kind=8) _3057; real(kind=8) _3058; real(kind=8) _3059; real(kind=8) _3060; real(kind=8) _3061; real(kind=8) _3062; real(kind=8) _3063; real(kind=8) _3064; real(kind=8) _3065; real(kind=8) _3066; real(kind=8) reassocpow_3067; real(kind=8) _3068; real(kind=8) _3069; real(kind=8) _3070; real(kind=8) _3071; real(kind=8) _3072; real(kind=8) _3073; real(kind=8) _3074; real(kind=8) _3075; real(kind=8) _3076; real(kind=8) _3077; real(kind=8) reassocpow_3078; real(kind=8) _3079; real(kind=8) _3081; real(kind=8) _3082; real(kind=8) _3083; real(kind=8) _3084; real(kind=8) _3085; real(kind=8) _3086; real(kind=8) _3087; real(kind=8) _3088; real(kind=8) _3089; real(kind=8) _3090; real(kind=8) _3091; real(kind=8) _3092; real(kind=8) _3093; real(kind=8) _3102; real(kind=8) _3103; real(kind=8) _3104; real(kind=8) _3105; real(kind=8) _3106; real(kind=8) _3107; real(kind=8) _3108; real(kind=8) _3109; real(kind=8) _3110; real(kind=8) _3111; real(kind=8) _3112; real(kind=8) _3113; real(kind=8) _3114; real(kind=8) _3115; real(kind=8) _3116; real(kind=8) _3117; real(kind=8) _3118; real(kind=8) _3119; real(kind=8) _3120; real(kind=8) _3121; real(kind=8) _3122; real(kind=8) _3123; real(kind=8) _3124; real(kind=8) _3125; real(kind=8) _3126; real(kind=8) _3127; real(kind=8) _3128; real(kind=8) _3129; real(kind=8) _3130; real(kind=8) _3131; real(kind=8) _3132; real(kind=8) _3133; real(kind=8) _3134; real(kind=8) _3135; real(kind=8) _3136; real(kind=8) _3137; real(kind=8) _3138; real(kind=8) _3139; real(kind=8) _3140; real(kind=8) _3141; real(kind=8) _3144; real(kind=8) _3145; real(kind=8) _3146; real(kind=8) _3147; real(kind=8) _3148; real(kind=8) _3149; real(kind=8) _3150; real(kind=8) _3151; real(kind=8) _3152; real(kind=8) _3153; real(kind=8) _3154; real(kind=8) _3155; real(kind=8) _3156; real(kind=8) _3157; real(kind=8) _3158; real(kind=8) _3159; real(kind=8) _3160; real(kind=8) _3161; real(kind=8) _3162; real(kind=8) _3163; real(kind=8) _3164; real(kind=8) _3165; real(kind=8) _3166; real(kind=8) _3167; real(kind=8) _3168; real(kind=8) _3169; real(kind=8) _3170; real(kind=8) _3173; real(kind=8) _3174; real(kind=8) _3175; real(kind=8) _3176; real(kind=8) _3177; real(kind=8) _3178; real(kind=8) _3179; real(kind=8) reassocpow_3180; real(kind=8) reassocpow_3181; real(kind=8) reassocpow_3182; real(kind=8) reassocpow_3183; real(kind=8) reassocpow_3184; real(kind=8) reassocpow_3185; real(kind=8) reassocpow_3186; real(kind=8) _3187; real(kind=8) _3188; real(kind=8) _3189; real(kind=8) _3190; real(kind=8) _3191; real(kind=8) _3192; real(kind=8) _3193; real(kind=8) _3194; real(kind=8) _3195; real(kind=8) _3196; real(kind=8) _3197; real(kind=8) _3198; real(kind=8) _3199; real(kind=8) _3200; real(kind=8) _3201; real(kind=8) _3202; real(kind=8) _3203; real(kind=8) _3206; real(kind=8) _3207; real(kind=8) reassocpow_3208; real(kind=8) reassocpow_3209; real(kind=8) reassocpow_3210; real(kind=8) reassocpow_3211; real(kind=8) reassocpow_3212; real(kind=8) reassocpow_3215; real(kind=8) _3216; real(kind=8) _3217; real(kind=8) _3219; real(kind=8) _3220; real(kind=8) _3221; real(kind=8) _3222; real(kind=8) _3223; real(kind=8) _3224; real(kind=8) _3225; real(kind=8) _3226; real(kind=8) _3227; real(kind=8) _3228; real(kind=8) _3229; real(kind=8) _3230; real(kind=8) _3231; real(kind=8) _3232; real(kind=8) _3233; real(kind=8) reassocpow_3234; real(kind=8) _3235; real(kind=8) _3236; real(kind=8) reassocpow_3237; real(kind=8) reassocpow_3238; real(kind=8) reassocpow_3239; real(kind=8) _3240; real(kind=8) _3241; real(kind=8) _3242; real(kind=8) _3243; real(kind=8) _3244; real(kind=8) _3245; real(kind=8) _3246; real(kind=8) _3247; real(kind=8) _3248; real(kind=8) _3249; real(kind=8) _3250; real(kind=8) _3251; real(kind=8) _3252; real(kind=8) _3253; real(kind=8) _3254; real(kind=8) _3255; real(kind=8) _3256; real(kind=8) _3257; real(kind=8) _3258; real(kind=8) _3259; real(kind=8) _3260; real(kind=8) _3261; real(kind=8) reassocpow_3262; real(kind=8) _3263; real(kind=8) _3264; real(kind=8) reassocpow_3265; real(kind=8) reassocpow_3266; real(kind=8) reassocpow_3267; real(kind=8) _3268; real(kind=8) _3269; real(kind=8) _3270; real(kind=8) reassocpow_3271; real(kind=8) _3272; real(kind=8) _3273; real(kind=8) reassocpow_3274; real(kind=8) reassocpow_3275; real(kind=8) _3276; real(kind=8) _3277; real(kind=8) _3278; real(kind=8) reassocpow_3279; real(kind=8) _3280; real(kind=8) reassocpow_3281; real(kind=8) _3282; real(kind=8) _3283; real(kind=8) _3284; real(kind=8) _3285; real(kind=8) _3286; real(kind=8) _3287; real(kind=8) _3288; real(kind=8) _3289; real(kind=8) _3290; real(kind=8) _3291; real(kind=8) _3292; real(kind=8) _3293; real(kind=8) _3296; real(kind=8) _3297; real(kind=8) _3298; real(kind=8) _3299; real(kind=8) reassocpow_3300; real(kind=8) _3301; real(kind=8) _3304; real(kind=8) _3305; real(kind=8) _3306; real(kind=8) _3307; real(kind=8) reassocpow_3308; real(kind=8) _3309; real(kind=8) _3312; real(kind=8) _3313; real(kind=8) _3314; real(kind=8) _3315; real(kind=8) reassocpow_3316; real(kind=8) _3317; real(kind=8) reassocpow_3318; real(kind=8) reassocpow_3319; real(kind=8) _3320; real(kind=8) _3321; real(kind=8) _3322; real(kind=8) _3323; real(kind=8) reassocpow_3324; real(kind=8) _3325; real(kind=8) _3326; real(kind=8) _3327; real(kind=8) reassocpow_3328; real(kind=8) _3329; real(kind=8) _3330; real(kind=8) reassocpow_3331; real(kind=8) reassocpow_3332; real(kind=8) reassocpow_3333; real(kind=8) reassocpow_3334; real(kind=8) _3335; real(kind=8) reassocpow_3336; real(kind=8) reassocpow_3337; real(kind=8) _3338; real(kind=8) reassocpow_3339; real(kind=8) reassocpow_3340; real(kind=8) _3341; real(kind=8) _3342; real(kind=8) _3343; real(kind=8) _3344; real(kind=8) _3345; real(kind=8) _3346; real(kind=8) _3347; real(kind=8) _3348; real(kind=8) _3349; real(kind=8) _3350; real(kind=8) _3351; real(kind=8) _3352; real(kind=8) _3353; real(kind=8) _3354; real(kind=8) _3355; real(kind=8) _3356; real(kind=8) _3357; real(kind=8) _3358; real(kind=8) _3359; real(kind=8) _3360; real(kind=8) _3361; real(kind=8) _3362; real(kind=8) _3363; real(kind=8) _3364; ;; basic block 2, loop depth 0 ;; pred: ENTRY timeset_hook.111877_278 = timeset_hook; if (timeset_hook.111877_278 != 0B) goto <bb 3>; else goto <bb 4>; ;; succ: 3 ;; 4 ;; basic block 3, loop depth 0 ;; pred: 2 timeset_hook.111877_278 (&"pbe_lsd_eval"[1]{lb: 1 sz: 1}, &handle, 12); goto <bb 5>; ;; succ: 5 ;; basic block 4, loop depth 0 ;; pred: 2 handle = -1; ;; succ: 5 ;; basic block 5, loop depth 0 ;; pred: 4 ;; 3 bo.data = 0B; _1 = *rho_set_107(D); if (_1 == 0B) goto <bb 6>; else goto <bb 7>; ;; succ: 6 ;; 7 ;; basic block 6, loop depth 0 ;; pred: 5 cp__a (&"xc/xc_pbe.F"[1]{lb: 1 sz: 1}, &C.395853, 11); ;; succ: ;; basic block 7, loop depth 0 ;; pred: 5 _2 = *_1.ref_count; if (_2 <= 0) goto <bb 8>; else goto <bb 9>; ;; succ: 8 ;; 9 ;; basic block 8, loop depth 0 ;; pred: 7 cp__a (&"xc/xc_pbe.F"[1]{lb: 1 sz: 1}, &C.395855, 11); ;; succ: ;; basic block 9, loop depth 0 ;; pred: 7 _3 = *deriv_set_110(D); if (_3 == 0B) goto <bb 10>; else goto <bb 11>; ;; succ: 10 ;; 11 ;; basic block 10, loop depth 0 ;; pred: 9 cp__a (&"xc/xc_pbe.F"[1]{lb: 1 sz: 1}, &C.395857, 11); ;; succ: ;; basic block 11, loop depth 0 ;; pred: 9 _4 = *_3.ref_count; if (_4 <= 0) goto <bb 12>; else goto <bb 13>; ;; succ: 12 ;; 13 ;; basic block 12, loop depth 0 ;; pred: 11 cp__a (&"xc/xc_pbe.F"[1]{lb: 1 sz: 1}, &C.395859, 11); ;; succ: ;; basic block 13, loop depth 0 ;; pred: 11 xc_rho_set_get.constprop (rho_set_107(D), 0B, 0B, 0B, &norm_drho, &rhoa, &rhob, &norm_drhoa, &norm_drhob, 0B, 0B, 0B, 0B, 0B, 0B, 0B, 0B, 0B, &epsilon_rho, 0B, 0B, 0B, 0B, 0B, &bo); _5 = bo.data; _6 = bo.offset; _7 = bo.dim[1].stride; _8 = _6 + _7; _9 = bo.dim[0].stride; _10 = _9 * 2; _11 = _8 + _10; _12 = MEM[(integer(kind=4)[0:] *)_5][_11]; _13 = _8 + _9; _14 = MEM[(integer(kind=4)[0:] *)_5][_13]; _15 = _12 - _14; _16 = _15 + 1; _17 = _7 * 2; _18 = _6 + _17; _19 = _10 + _18; _20 = MEM[(integer(kind=4)[0:] *)_5][_19]; _21 = _9 + _18; _22 = MEM[(integer(kind=4)[0:] *)_5][_21]; _23 = _20 - _22; _24 = _23 + 1; _25 = _16 * _24; _26 = _7 * 3; _27 = _6 + _26; _28 = _10 + _27; _29 = MEM[(integer(kind=4)[0:] *)_5][_28]; _30 = _9 + _27; _31 = MEM[(integer(kind=4)[0:] *)_5][_30]; _32 = _29 - _31; _33 = _32 + 1; _34 = _25 * _33; dummy$data_104 = MEM[(struct array3_real(kind=8) *)&rhoa]; dummy$offset_282 = MEM[(struct array3_real(kind=8) *)&rhoa + 8B]; dummy$dtype_283 = MEM[(struct array3_real(kind=8) *)&rhoa + 16B]; dummy$dim$0$stride_284 = MEM[(struct array3_real(kind=8) *)&rhoa + 24B]; dummy$dim$0$lbound_285 = MEM[(struct array3_real(kind=8) *)&rhoa + 32B]; dummy$dim$0$ubound_286 = MEM[(struct array3_real(kind=8) *)&rhoa + 40B]; dummy$dim$1$stride_287 = MEM[(struct array3_real(kind=8) *)&rhoa + 48B]; dummy$dim$1$lbound_288 = MEM[(struct array3_real(kind=8) *)&rhoa + 56B]; dummy$dim$1$ubound_289 = MEM[(struct array3_real(kind=8) *)&rhoa + 64B]; dummy$dim$2$stride_290 = MEM[(struct array3_real(kind=8) *)&rhoa + 72B]; dummy$dim$2$lbound_291 = MEM[(struct array3_real(kind=8) *)&rhoa + 80B]; dummy$dim$2$ubound_292 = MEM[(struct array3_real(kind=8) *)&rhoa + 88B]; MEM[(struct array3_real(kind=8) *)&e_0] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_0 + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_0 + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_0 + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_0 + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_0 + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_0 + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_0 + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_0 + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_0 + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_0 + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_0 + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ra] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ra + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ra + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ra + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ra + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ra + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ra + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ra + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ra + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ra + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ra + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ra + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_rb] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_rb + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_rb + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_rb + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_rb + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_rb + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_rb + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_rb + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_rb + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_rb + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_rb + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_rb + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndra_ra] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndra_ra + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndrb_rb + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndr_ndr + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndra_ndra + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndr] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndr + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndr + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndr + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndr + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndr + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndr + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndr + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndr + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndr + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndr + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndr + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndra] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndra + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndra + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndra + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndra + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndra + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndra + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndra + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndra + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndra + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndra + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndra + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndrb] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndrb + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndrb + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndrb + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndrb + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndrb + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndrb + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndrb + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndrb + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndrb + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndrb + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndrb + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ra_ra] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ra_ra + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ra_rb] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ra_rb + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_rb_rb] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_rb_rb + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndr_ra] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndr_ra + 88B] = dummy$dim$2$ubound_292; MEM[(struct array3_real(kind=8) *)&e_ndr_rb] = dummy$data_104; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 8B] = dummy$offset_282; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 16B] = dummy$dtype_283; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 24B] = dummy$dim$0$stride_284; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 32B] = dummy$dim$0$lbound_285; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 40B] = dummy$dim$0$ubound_286; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 48B] = dummy$dim$1$stride_287; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 56B] = dummy$dim$1$lbound_288; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 64B] = dummy$dim$1$ubound_289; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 72B] = dummy$dim$2$stride_290; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 80B] = dummy$dim$2$lbound_291; MEM[(struct array3_real(kind=8) *)&e_ndr_rb + 88B] = dummy$dim$2$ubound_292; _35 = *grad_deriv_115(D); if (_35 >= 0) goto <bb 14>; else goto <bb 20>; ;; succ: 14 ;; 20 ;; basic block 14, loop depth 0 ;; pred: 13 _36 = xc_dset_get_derivative.constprop (deriv_set_110(D), &""[1]{lb: 1 sz: 1}, &C.395861, 0); if (_36 == 0B) goto <bb 15>; else goto <bb 16>; ;; succ: 15 ;; 16 ;; basic block 15, loop depth 0 ;; pred: 14 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 16, loop depth 0 ;; pred: 14 _499 = _36->ref_count; if (_499 <= 0) goto <bb 17>; else goto <bb 18>; ;; succ: 17 ;; 18 ;; basic block 17, loop depth 0 ;; pred: 16 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 18, loop depth 0 ;; pred: 16 MEM[(struct array3_real(kind=8) *)&e_0] = _36->deriv_data; _504 = MEM[(struct array3_real(kind=8) *)&e_0].data; if (_504 == 0B) goto <bb 19>; else goto <bb 20>; ;; succ: 19 ;; 20 ;; basic block 19, loop depth 0 ;; pred: 18 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 20, loop depth 0 ;; pred: 13 ;; 18 _37 = _35 > 0; _38 = _35 == -1; _39 = _38 | _37; if (_39 != 0) goto <bb 21>; else goto <bb 51>; ;; succ: 21 ;; 51 ;; basic block 21, loop depth 0 ;; pred: 20 _40 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(rhoa)"[1]{lb: 1 sz: 1}, &C.395863, 6); if (_40 == 0B) goto <bb 22>; else goto <bb 23>; ;; succ: 22 ;; 23 ;; basic block 22, loop depth 0 ;; pred: 21 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 23, loop depth 0 ;; pred: 21 _574 = _40->ref_count; if (_574 <= 0) goto <bb 24>; else goto <bb 25>; ;; succ: 24 ;; 25 ;; basic block 24, loop depth 0 ;; pred: 23 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 25, loop depth 0 ;; pred: 23 MEM[(struct array3_real(kind=8) *)&e_ra] = _40->deriv_data; _579 = MEM[(struct array3_real(kind=8) *)&e_ra].data; if (_579 == 0B) goto <bb 26>; else goto <bb 27>; ;; succ: 26 ;; 27 ;; basic block 26, loop depth 0 ;; pred: 25 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 27, loop depth 0 ;; pred: 25 _41 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(rhob)"[1]{lb: 1 sz: 1}, &C.395864, 6); if (_41 == 0B) goto <bb 28>; else goto <bb 29>; ;; succ: 28 ;; 29 ;; basic block 28, loop depth 0 ;; pred: 27 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 29, loop depth 0 ;; pred: 27 _559 = _41->ref_count; if (_559 <= 0) goto <bb 30>; else goto <bb 31>; ;; succ: 30 ;; 31 ;; basic block 30, loop depth 0 ;; pred: 29 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 31, loop depth 0 ;; pred: 29 MEM[(struct array3_real(kind=8) *)&e_rb] = _41->deriv_data; _564 = MEM[(struct array3_real(kind=8) *)&e_rb].data; if (_564 == 0B) goto <bb 32>; else goto <bb 33>; ;; succ: 32 ;; 33 ;; basic block 32, loop depth 0 ;; pred: 31 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 33, loop depth 0 ;; pred: 31 _42 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drho)"[1]{lb: 1 sz: 1}, &C.395865, 11); if (_42 == 0B) goto <bb 34>; else goto <bb 35>; ;; succ: 34 ;; 35 ;; basic block 34, loop depth 0 ;; pred: 33 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 35, loop depth 0 ;; pred: 33 _544 = _42->ref_count; if (_544 <= 0) goto <bb 36>; else goto <bb 37>; ;; succ: 36 ;; 37 ;; basic block 36, loop depth 0 ;; pred: 35 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 37, loop depth 0 ;; pred: 35 MEM[(struct array3_real(kind=8) *)&e_ndr] = _42->deriv_data; _549 = MEM[(struct array3_real(kind=8) *)&e_ndr].data; if (_549 == 0B) goto <bb 38>; else goto <bb 39>; ;; succ: 38 ;; 39 ;; basic block 38, loop depth 0 ;; pred: 37 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 39, loop depth 0 ;; pred: 37 _43 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drhoa)"[1]{lb: 1 sz: 1}, &C.395866, 12); if (_43 == 0B) goto <bb 40>; else goto <bb 41>; ;; succ: 40 ;; 41 ;; basic block 40, loop depth 0 ;; pred: 39 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 41, loop depth 0 ;; pred: 39 _529 = _43->ref_count; if (_529 <= 0) goto <bb 42>; else goto <bb 43>; ;; succ: 42 ;; 43 ;; basic block 42, loop depth 0 ;; pred: 41 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 43, loop depth 0 ;; pred: 41 MEM[(struct array3_real(kind=8) *)&e_ndra] = _43->deriv_data; _534 = MEM[(struct array3_real(kind=8) *)&e_ndra].data; if (_534 == 0B) goto <bb 44>; else goto <bb 45>; ;; succ: 44 ;; 45 ;; basic block 44, loop depth 0 ;; pred: 43 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 45, loop depth 0 ;; pred: 43 _44 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drhob)"[1]{lb: 1 sz: 1}, &C.395867, 12); if (_44 == 0B) goto <bb 46>; else goto <bb 47>; ;; succ: 46 ;; 47 ;; basic block 46, loop depth 0 ;; pred: 45 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 47, loop depth 0 ;; pred: 45 _514 = _44->ref_count; if (_514 <= 0) goto <bb 48>; else goto <bb 49>; ;; succ: 48 ;; 49 ;; basic block 48, loop depth 0 ;; pred: 47 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 49, loop depth 0 ;; pred: 47 MEM[(struct array3_real(kind=8) *)&e_ndrb] = _44->deriv_data; _519 = MEM[(struct array3_real(kind=8) *)&e_ndrb].data; if (_519 == 0B) goto <bb 50>; else goto <bb 51>; ;; succ: 50 ;; 51 ;; basic block 50, loop depth 0 ;; pred: 49 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 51, loop depth 0 ;; pred: 20 ;; 49 _45 = _35 > 1; _46 = _35 == -2; _47 = _46 | _45; if (_47 != 0) goto <bb 52>; else goto <bb 112>; ;; succ: 52 ;; 112 ;; basic block 52, loop depth 0 ;; pred: 51 _48 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(rhoa)(rhoa)"[1]{lb: 1 sz: 1}, &C.395869, 12); if (_48 == 0B) goto <bb 53>; else goto <bb 54>; ;; succ: 53 ;; 54 ;; basic block 53, loop depth 0 ;; pred: 52 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 54, loop depth 0 ;; pred: 52 _724 = _48->ref_count; if (_724 <= 0) goto <bb 55>; else goto <bb 56>; ;; succ: 55 ;; 56 ;; basic block 55, loop depth 0 ;; pred: 54 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 56, loop depth 0 ;; pred: 54 MEM[(struct array3_real(kind=8) *)&e_ra_ra] = _48->deriv_data; _729 = MEM[(struct array3_real(kind=8) *)&e_ra_ra].data; if (_729 == 0B) goto <bb 57>; else goto <bb 58>; ;; succ: 57 ;; 58 ;; basic block 57, loop depth 0 ;; pred: 56 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 58, loop depth 0 ;; pred: 56 _49 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(rhoa)(rhob)"[1]{lb: 1 sz: 1}, &C.395870, 12); if (_49 == 0B) goto <bb 59>; else goto <bb 60>; ;; succ: 59 ;; 60 ;; basic block 59, loop depth 0 ;; pred: 58 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 60, loop depth 0 ;; pred: 58 _709 = _49->ref_count; if (_709 <= 0) goto <bb 61>; else goto <bb 62>; ;; succ: 61 ;; 62 ;; basic block 61, loop depth 0 ;; pred: 60 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 62, loop depth 0 ;; pred: 60 MEM[(struct array3_real(kind=8) *)&e_ra_rb] = _49->deriv_data; _714 = MEM[(struct array3_real(kind=8) *)&e_ra_rb].data; if (_714 == 0B) goto <bb 63>; else goto <bb 64>; ;; succ: 63 ;; 64 ;; basic block 63, loop depth 0 ;; pred: 62 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 64, loop depth 0 ;; pred: 62 _50 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(rhob)(rhob)"[1]{lb: 1 sz: 1}, &C.395871, 12); if (_50 == 0B) goto <bb 65>; else goto <bb 66>; ;; succ: 65 ;; 66 ;; basic block 65, loop depth 0 ;; pred: 64 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 66, loop depth 0 ;; pred: 64 _694 = _50->ref_count; if (_694 <= 0) goto <bb 67>; else goto <bb 68>; ;; succ: 67 ;; 68 ;; basic block 67, loop depth 0 ;; pred: 66 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 68, loop depth 0 ;; pred: 66 MEM[(struct array3_real(kind=8) *)&e_rb_rb] = _50->deriv_data; _699 = MEM[(struct array3_real(kind=8) *)&e_rb_rb].data; if (_699 == 0B) goto <bb 69>; else goto <bb 70>; ;; succ: 69 ;; 70 ;; basic block 69, loop depth 0 ;; pred: 68 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 70, loop depth 0 ;; pred: 68 _51 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drho)(rhoa)"[1]{lb: 1 sz: 1}, &C.395872, 17); if (_51 == 0B) goto <bb 71>; else goto <bb 72>; ;; succ: 71 ;; 72 ;; basic block 71, loop depth 0 ;; pred: 70 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 72, loop depth 0 ;; pred: 70 _679 = _51->ref_count; if (_679 <= 0) goto <bb 73>; else goto <bb 74>; ;; succ: 73 ;; 74 ;; basic block 73, loop depth 0 ;; pred: 72 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 74, loop depth 0 ;; pred: 72 MEM[(struct array3_real(kind=8) *)&e_ndr_ra] = _51->deriv_data; _684 = MEM[(struct array3_real(kind=8) *)&e_ndr_ra].data; if (_684 == 0B) goto <bb 75>; else goto <bb 76>; ;; succ: 75 ;; 76 ;; basic block 75, loop depth 0 ;; pred: 74 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 76, loop depth 0 ;; pred: 74 _52 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drho)(rhob)"[1]{lb: 1 sz: 1}, &C.395873, 17); if (_52 == 0B) goto <bb 77>; else goto <bb 78>; ;; succ: 77 ;; 78 ;; basic block 77, loop depth 0 ;; pred: 76 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 78, loop depth 0 ;; pred: 76 _664 = _52->ref_count; if (_664 <= 0) goto <bb 79>; else goto <bb 80>; ;; succ: 79 ;; 80 ;; basic block 79, loop depth 0 ;; pred: 78 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 80, loop depth 0 ;; pred: 78 MEM[(struct array3_real(kind=8) *)&e_ndr_rb] = _52->deriv_data; _669 = MEM[(struct array3_real(kind=8) *)&e_ndr_rb].data; if (_669 == 0B) goto <bb 81>; else goto <bb 82>; ;; succ: 81 ;; 82 ;; basic block 81, loop depth 0 ;; pred: 80 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 82, loop depth 0 ;; pred: 80 _53 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drhoa)(rhoa)"[1]{lb: 1 sz: 1}, &C.395874, 18); if (_53 == 0B) goto <bb 83>; else goto <bb 84>; ;; succ: 83 ;; 84 ;; basic block 83, loop depth 0 ;; pred: 82 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 84, loop depth 0 ;; pred: 82 _649 = _53->ref_count; if (_649 <= 0) goto <bb 85>; else goto <bb 86>; ;; succ: 85 ;; 86 ;; basic block 85, loop depth 0 ;; pred: 84 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 86, loop depth 0 ;; pred: 84 MEM[(struct array3_real(kind=8) *)&e_ndra_ra] = _53->deriv_data; _654 = MEM[(struct array3_real(kind=8) *)&e_ndra_ra].data; if (_654 == 0B) goto <bb 87>; else goto <bb 88>; ;; succ: 87 ;; 88 ;; basic block 87, loop depth 0 ;; pred: 86 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 88, loop depth 0 ;; pred: 86 _54 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drhob)(rhob)"[1]{lb: 1 sz: 1}, &C.395875, 18); if (_54 == 0B) goto <bb 89>; else goto <bb 90>; ;; succ: 89 ;; 90 ;; basic block 89, loop depth 0 ;; pred: 88 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 90, loop depth 0 ;; pred: 88 _634 = _54->ref_count; if (_634 <= 0) goto <bb 91>; else goto <bb 92>; ;; succ: 91 ;; 92 ;; basic block 91, loop depth 0 ;; pred: 90 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 92, loop depth 0 ;; pred: 90 MEM[(struct array3_real(kind=8) *)&e_ndrb_rb] = _54->deriv_data; _639 = MEM[(struct array3_real(kind=8) *)&e_ndrb_rb].data; if (_639 == 0B) goto <bb 93>; else goto <bb 94>; ;; succ: 93 ;; 94 ;; basic block 93, loop depth 0 ;; pred: 92 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 94, loop depth 0 ;; pred: 92 _55 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drho)(norm_drho)"[1]{lb: 1 sz: 1}, &C.395876, 22); if (_55 == 0B) goto <bb 95>; else goto <bb 96>; ;; succ: 95 ;; 96 ;; basic block 95, loop depth 0 ;; pred: 94 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 96, loop depth 0 ;; pred: 94 _619 = _55->ref_count; if (_619 <= 0) goto <bb 97>; else goto <bb 98>; ;; succ: 97 ;; 98 ;; basic block 97, loop depth 0 ;; pred: 96 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 98, loop depth 0 ;; pred: 96 MEM[(struct array3_real(kind=8) *)&e_ndr_ndr] = _55->deriv_data; _624 = MEM[(struct array3_real(kind=8) *)&e_ndr_ndr].data; if (_624 == 0B) goto <bb 99>; else goto <bb 100>; ;; succ: 99 ;; 100 ;; basic block 99, loop depth 0 ;; pred: 98 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 100, loop depth 0 ;; pred: 98 _56 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drhoa)(norm_drhoa)"[1]{lb: 1 sz: 1}, &C.395877, 24); if (_56 == 0B) goto <bb 101>; else goto <bb 102>; ;; succ: 101 ;; 102 ;; basic block 101, loop depth 0 ;; pred: 100 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 102, loop depth 0 ;; pred: 100 _604 = _56->ref_count; if (_604 <= 0) goto <bb 103>; else goto <bb 104>; ;; succ: 103 ;; 104 ;; basic block 103, loop depth 0 ;; pred: 102 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 104, loop depth 0 ;; pred: 102 MEM[(struct array3_real(kind=8) *)&e_ndra_ndra] = _56->deriv_data; _609 = MEM[(struct array3_real(kind=8) *)&e_ndra_ndra].data; if (_609 == 0B) goto <bb 105>; else goto <bb 106>; ;; succ: 105 ;; 106 ;; basic block 105, loop depth 0 ;; pred: 104 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 106, loop depth 0 ;; pred: 104 _57 = xc_dset_get_derivative.constprop (deriv_set_110(D), &"(norm_drhob)(norm_drhob)"[1]{lb: 1 sz: 1}, &C.395878, 24); if (_57 == 0B) goto <bb 107>; else goto <bb 108>; ;; succ: 107 ;; 108 ;; basic block 107, loop depth 0 ;; pred: 106 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374067, 24); ;; succ: ;; basic block 108, loop depth 0 ;; pred: 106 _589 = _57->ref_count; if (_589 <= 0) goto <bb 109>; else goto <bb 110>; ;; succ: 109 ;; 110 ;; basic block 109, loop depth 0 ;; pred: 108 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374069, 24); ;; succ: ;; basic block 110, loop depth 0 ;; pred: 108 MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb] = _57->deriv_data; _594 = MEM[(struct array3_real(kind=8) *)&e_ndrb_ndrb].data; if (_594 == 0B) goto <bb 111>; else goto <bb 112>; ;; succ: 111 ;; 112 ;; basic block 111, loop depth 0 ;; pred: 110 cp__a (&"xc/xc_derivative_types.F"[1]{lb: 1 sz: 1}, &C.374075, 24); ;; succ: ;; basic block 112, loop depth 0 ;; pred: 51 ;; 110 section_vals_val_get.constprop (pbe_params_164(D), &"scale_c"[1]{lb: 1 sz: 1}, 0B, 0B, 0B, 0B, 0B, 0B, &scale_ec, 0B, 0B, 0B, 0B, 0B, 0B, 7, 0, 0); section_vals_val_get.constprop (pbe_params_164(D), &"scale_x"[1]{lb: 1 sz: 1}, 0B, 0B, 0B, 0B, 0B, 0B, &scale_ex, 0B, 0B, 0B, 0B, 0B, 0B, 7, 0, 0); section_vals_val_get.constprop (pbe_params_164(D), &"parametrization"[1]{lb: 1 sz: 1}, 0B, 0B, 0B, 0B, 0B, ¶m, 0B, 0B, 0B, 0B, 0B, 0B, 0B, 15, 0, 0); _169 = _gfortran_internal_pack (&rhoa); _171 = _gfortran_internal_pack (&rhob); _173 = _gfortran_internal_pack (&norm_drho); _175 = _gfortran_internal_pack (&norm_drhoa); _177 = _gfortran_internal_pack (&norm_drhob); _179 = _gfortran_internal_pack (&e_0); _181 = _gfortran_internal_pack (&e_ra); _183 = _gfortran_internal_pack (&e_rb); _185 = _gfortran_internal_pack (&e_ndra_ra); _187 = _gfortran_internal_pack (&e_ndrb_rb); _189 = _gfortran_internal_pack (&e_ndr_ndr); _191 = _gfortran_internal_pack (&e_ndra_ndra); _193 = _gfortran_internal_pack (&e_ndrb_ndrb); _195 = _gfortran_internal_pack (&e_ndr); _197 = _gfortran_internal_pack (&e_ndra); _199 = _gfortran_internal_pack (&e_ndrb); _201 = _gfortran_internal_pack (&e_ra_ra); _203 = _gfortran_internal_pack (&e_ra_rb); _205 = _gfortran_internal_pack (&e_rb_rb); _207 = _gfortran_internal_pack (&e_ndr_ra); _209 = _gfortran_internal_pack (&e_ndr_rb); _737 = param; switch (_737) <default: L.59821, case 11: <L95>, case 12: L.59819, case 13: L.59820> ;; succ: 115 ;; 116 ;; 113 ;; 114 ;; basic block 113, loop depth 0 ;; pred: 112 L.59819: goto <bb 116> (<L95>); ;; succ: 116 ;; basic block 114, loop depth 0 ;; pred: 112 L.59820: goto <bb 116> (<L95>); ;; succ: 116 ;; basic block 115, loop depth 0 ;; pred: 112 L.59821: cp__b (&"xc/xc_pbe.F"[1]{lb: 1 sz: 1}, &C.395663, &""[1]{lb: 1 sz: 1}, 11, 0); ;; succ: ;; basic block 116, loop depth 0 ;; pred: 112 ;; 113 ;; 114 # beta_848 = PHI <6.67250000000000065281113847959204576909542083740234375e-2(112), 6.67250000000000065281113847959204576909542083740234375e-2(113), 4.599999999999999922284388276239042170345783233642578125e-2(114)> # kappa_888 = PHI <8.040000000000000479616346638067625463008880615234375e-1(112), 1.24500000000000010658141036401502788066864013671875e+0(113), 8.040000000000000479616346638067625463008880615234375e-1(114)> # mu_890 = PHI <2.195164512208958029759742203168570995330810546875e-1(112), 2.195164512208958029759742203168570995330810546875e-1(113), 1.2345679012345678327022824305458925664424896240234375e-1(114)> <L95>: if (_34 > 0) goto <bb 117>; else goto <bb 129>; ;; succ: 117 ;; 129 ;; basic block 117, loop depth 1 ;; pred: 116 ;; 128 # ii_740 = PHI <1(116), ii_2687(128)> _741 = (integer(kind=8)) ii_740; _742 = _741 + -1; _743 = MEM[(real(kind=8)[0:] *)_169][_742]; M.51220_608 = MAX_EXPR <_743, 0.0>; _744 = MEM[(real(kind=8)[0:] *)_171][_742]; M.51221_518 = MAX_EXPR <_744, 0.0>; my_rho_747 = M.51221_518 + M.51220_608; _748 = epsilon_rho; if (my_rho_747 > _748) goto <bb 118>; else goto <bb 128>; ;; succ: 118 ;; 128 ;; basic block 118, loop depth 1 ;; pred: 117 M.51222_736 = MAX_EXPR <M.51220_608, 2.220446049250313080847263336181640625e-12>; M.51223_731 = MAX_EXPR <M.51221_518, 2.220446049250313080847263336181640625e-12>; my_rho_751 = M.51223_731 + M.51222_736; my_norm_drho_752 = MEM[(real(kind=8)[0:] *)_173][_742]; my_norm_drhoa_753 = MEM[(real(kind=8)[0:] *)_175][_742]; my_norm_drhob_754 = MEM[(real(kind=8)[0:] *)_177][_742]; t1_755 = M.51222_736 - M.51223_731; t2_756 = 1.0e+0 / my_rho_751; chi_757 = t2_756 * t1_755; t8_758 = t2_756 * 3.18309886183790691216444201927515678107738494873046875e-1; t9_759 = __builtin_cbrt (t8_758); rs_761 = t9_759 * 9.0856029641606961266830921886139549314975738525390625e-1; _762 = rs_761 * 2.137000000000000010658141036401502788066864013671875e-1; t12_763 = _762 + 1.0e+0; t15_764 = __builtin_sqrt (rs_761); t18_765 = rs_761 * t15_764; t21_766 = __builtin_pow (rs_761, 2.0e+0); t22_767 = t21_766 * 4.92939999999999989288568258416489697992801666259765625e-1; _768 = t15_764 * 7.59569999999999989626076057902537286281585693359375e+0; _769 = rs_761 * 3.5876000000000001222133505507372319698333740234375e+0; _3347 = _768 + t22_767; _771 = t18_765 * 1.6382000000000001005417971100541763007640838623046875e+0; _3348 = _3347 + _769; t23_773 = _3348 + _771; _774 = 1.6081824322151103245914782746694982051849365234375e+1 / t23_773; t27_775 = _774 + 1.0e+0; t28_776 = __builtin_log (t27_775); _3346 = t28_776 * 6.218200000000000116084919454806367866694927215576171875e-2; _779 = _3346 * t12_763; _780 = rs_761 * 2.0547999999999999598543354295543394982814788818359375e-1; t32_781 = _780 + 1.0e+0; t40_782 = t21_766 * 6.251700000000000034816594052244909107685089111328125e-1; _783 = t15_764 * 1.4118900000000000005684341886080801486968994140625e+1; _784 = rs_761 * 6.19770000000000020889956431346945464611053466796875e+0; _3344 = _783 + t40_782; _786 = t18_765 * 3.36620000000000008100187187665142118930816650390625e+0; _3345 = _3344 + _784; t41_788 = _3345 + _786; _789 = 3.216468317787069963742396794259548187255859375e+1 / t41_788; t45_790 = _789 + 1.0e+0; t46_791 = __builtin_log (t45_790); _792 = rs_761 * 1.1125000000000000166533453693773481063544750213623046875e-1; t50_793 = _792 + 1.0e+0; t58_794 = t21_766 * 4.967099999999999848654397283098660409450531005859375e-1; _795 = t15_764 * 1.0356999999999999317878973670303821563720703125e+1; _796 = rs_761 * 3.62309999999999998721023075631819665431976318359375e+0; _3342 = _795 + t58_794; _798 = t18_765 * 8.802600000000000424194013248779810965061187744140625e-1; _3343 = _3342 + _796; t59_800 = _3343 + _798; _801 = 2.960857464321667720241748611442744731903076171875e+1 / t59_800; t63_802 = _801 + 1.0e+0; t64_803 = __builtin_log (t63_802); _3341 = t64_803 * 3.37739999999999984670040475975838489830493927001953125e-2; alpha_c_806 = _3341 * t50_793; t70_807 = chi_757 + 1.0e+0; t71_808 = __builtin_cbrt (t70_807); t72_809 = t71_808 * t70_807; t73_810 = 1.0e+0 - chi_757; t74_811 = __builtin_cbrt (t73_810); t75_812 = t74_811 * t73_810; _813 = t72_809 + t75_812; _814 = _813 + -2.0e+0; _815 = ((_814)); f_816 = _815 * 1.9236610509315361650095610457356087863445281982421875e+0; t77_817 = alpha_c_806 * f_816; reassocpow_3340 = __builtin_powi (chi_757, 2); _818 = reassocpow_3340; reassocpow_3339 = __builtin_powi (_818, 2); _819 = reassocpow_3339; _820 = 1.0e+0 - _819; _821 = ((_820)); t82_822 = _821 * 5.8482236226346462348857357937959022819995880126953125e-1; _3338 = t46_791 * 3.1089999999999999580335696691690827719867229461669921875e-2; _825 = _3338 * t32_781; t84_826 = _779 - _825; t85_827 = t84_826 * f_816; _828 = t77_817 * t82_822; _746 = -_779; _829 = _828 - _779; _830 = t85_827 * _819; epsilon_c_unif_831 = _829 + _830; reassocpow_3337 = __builtin_powi (t71_808, 2); _832 = reassocpow_3337; reassocpow_3336 = __builtin_powi (t74_811, 2); _833 = reassocpow_3336; _834 = _833 + _832; phi_835 = _834 * 5.0e-1; t91_836 = my_rho_751 * 9.869604401089357992304940125904977321624755859375e+0; t92_837 = __builtin_cbrt (t91_836); t93_839 = t92_837 * 4.59082296573172177200916621586657129228115081787109375e-1; t94_840 = __builtin_sqrt (t93_839); k_s_841 = t94_840 * 2.0e+0; t95_842 = 2.0e+0 / _834; t96_843 = t95_842 * my_norm_drho_752; t97_844 = 5.0e-1 / t94_840; t98_845 = t97_844 * t2_756; _3335 = t98_845 * 5.0e-1; t_847 = _3335 * t96_843; t101_849 = beta_848 * 3.216396844291481471600491204299032688140869140625e+1; t102_850 = epsilon_c_unif_831 * 3.216396844291481471600491204299032688140869140625e+1; reassocpow_3334 = __builtin_powi (phi_835, 2); _851 = reassocpow_3334; t104_852 = _851 * phi_835; t105_853 = 1.0e+0 / t104_852; _854 = t102_850 * t105_853; _855 = -_854; t107_856 = __builtin_exp (_855); t108_857 = t107_856 - 1.0e+0; a_858 = t101_849 / t108_857; t110_859 = t104_852 * 3.1090690869654900863050528414532891474664211273193359375e-2; reassocpow_3333 = __builtin_powi (t_847, 2); _860 = reassocpow_3333; t112_861 = _860 * a_858; t113_862 = t112_861 + 1.0e+0; reassocpow_3332 = __builtin_powi (a_858, 2); _863 = reassocpow_3332; reassocpow_3331 = __builtin_powi (_860, 2); _864 = reassocpow_3331; _865 = _864 * _863; _3330 = t112_861 + 1.0e+0; t118_867 = _3330 + _865; t119_868 = 1.0e+0 / t118_867; _869 = _860 * t101_849; _870 = t113_862 * _869; _871 = _870 * t119_868; t122_872 = _871 + 1.0e+0; t123_873 = __builtin_log (t122_872); _874 = t110_859 * t123_873; epsilon_cgga_875 = epsilon_c_unif_831 + _874; t125_876 = M.51222_736 * 9.869604401089357992304940125904977321624755859375e+0; t126_877 = __builtin_cbrt (t125_876); kf_a_878 = t126_877 * 1.8171205928321396694258282877854071557521820068359375e+0; _880 = kf_a_878 * 2.3873241463784300453454534363118000328540802001953125e-1; ex_unif_a_881 = -_880; t129_882 = 5.5032120814910445716350295697338879108428955078125e-1 / t126_877; t130_883 = t129_882 * my_norm_drhoa_753; t131_884 = 1.0e+0 / M.51222_736; _3329 = t131_884 * 5.0e-1; s_a_886 = _3329 * t130_883; reassocpow_3328 = __builtin_powi (s_a_886, 2); _887 = reassocpow_3328; t135_889 = 1.0e+0 / kappa_888; _3327 = t135_889 * mu_890; _892 = _3327 * _887; t137_893 = _892 + 1.0e+0; _894 = kappa_888 / t137_893; _750 = -_894; _3326 = kappa_888 + 1.0e+0; fx_a_896 = _3326 - _894; t140_897 = ex_unif_a_881 * M.51222_736; t142_898 = M.51223_731 * 9.869604401089357992304940125904977321624755859375e+0; t143_899 = __builtin_cbrt (t142_898); kf_b_900 = t143_899 * 1.8171205928321396694258282877854071557521820068359375e+0; _902 = kf_b_900 * 2.3873241463784300453454534363118000328540802001953125e-1; ex_unif_b_903 = -_902; t146_904 = 5.5032120814910445716350295697338879108428955078125e-1 / t143_899; t147_905 = t146_904 * my_norm_drhob_754; t148_906 = 1.0e+0 / M.51223_731; _3325 = t148_906 * 5.0e-1; s_b_908 = _3325 * t147_905; reassocpow_3324 = __builtin_powi (s_b_908, 2); _909 = reassocpow_3324; _3323 = t135_889 * mu_890; _911 = _3323 * _909; t153_912 = _911 + 1.0e+0; _913 = kappa_888 / t153_912; _749 = -_913; _3322 = kappa_888 + 1.0e+0; fx_b_915 = _3322 - _913; t156_916 = ex_unif_b_903 * M.51223_731; if (_35 >= 0) goto <bb 119>; else goto <bb 120>; ;; succ: 119 ;; 120 ;; basic block 119, loop depth 1 ;; pred: 118 _917 = MEM[(real(kind=8)[0:] *)_179][_742]; _918 = scale_ex; _919 = fx_a_896 * t140_897; _920 = fx_b_915 * t156_916; _921 = _920 + _919; _922 = _921 * 2.0e+0; _923 = ((_922)); _3321 = _918 * 5.0e-1; _925 = _3321 * _923; _927 = scale_ec; _928 = my_rho_751 * _927; _929 = _928 * epsilon_cgga_875; _3320 = _929 + _917; _930 = _3320 + _925; MEM[(real(kind=8)[0:] *)_179][_742] = _930; ;; succ: 120 ;; basic block 120, loop depth 1 ;; pred: 118 ;; 119 reassocpow_3319 = __builtin_powi (my_rho_751, 2); _931 = reassocpow_3319; t163_932 = 1.0e+0 / _931; t164_933 = t163_932 * t1_755; chirhoa_934 = t2_756 - t164_933; reassocpow_3318 = __builtin_powi (t9_759, 2); _935 = reassocpow_3318; _937 = 1.156814898173240901968483740347437560558319091796875e+0 / _935; _3317 = t163_932 * 8.333333333333332870740406406184774823486804962158203125e-2; _939 = _3317 * _937; rsrhoa_940 = -_939; reassocpow_3316 = __builtin_powi (t23_773, 2); _941 = reassocpow_3316; t176_942 = 1.0e+0 / _941; t177_943 = t176_942 * t12_763; t178_944 = 1.0e+0 / t15_764; t179_945 = t178_944 * 7.59569999999999989626076057902537286281585693359375e+0; t183_946 = t15_764 * 1.6382000000000001005417971100541763007640838623046875e+0; t187_947 = 1.1006424162982091363716108389780856668949127197265625e+0 / t9_759; _949 = t179_945 * 5.0e-1; _953 = t183_946 * 1.5e+0; _955 = t22_767 * 2.0e+0; _957 = _955 * t187_947; _3314 = _949 + _953; _3315 = _3314 + 3.5876000000000001222133505507372319698333740234375e+0; _3312 = _3315 + _957; _3313 = _3312 * rsrhoa_940; t190_958 = _3313; t191_959 = 1.0e+0 / t27_775; t192_960 = t190_958 * t191_959; _961 = t192_960 * t177_943; _3309 = t28_776 * 1.32882933999999997692897935053224500734359025955200195312e-2; _964 = _3309 * rsrhoa_940; e_c_u_0rhoa_965 = _961 - _964; reassocpow_3308 = __builtin_powi (t41_788, 2); _966 = reassocpow_3308; t199_967 = 1.0e+0 / _966; t200_968 = t199_967 * t32_781; t201_969 = t178_944 * 1.4118900000000000005684341886080801486968994140625e+1; t205_970 = t15_764 * 3.36620000000000008100187187665142118930816650390625e+0; _972 = t201_969 * 5.0e-1; _976 = t205_970 * 1.5e+0; _978 = t40_782 * 2.0e+0; _980 = _978 * t187_947; _3306 = _972 + _976; _3307 = _3306 + 6.19770000000000020889956431346945464611053466796875e+0; _3304 = _3307 + _980; _3305 = _3304 * rsrhoa_940; t211_981 = _3305; t212_982 = 1.0e+0 / t45_790; t213_983 = t211_981 * t212_982; _984 = t213_983 * t200_968; _3301 = t46_791 * 6.38837320000000020991937077496913843788206577301025390625e-3; _987 = _3301 * rsrhoa_940; e_c_u_1rhoa_988 = _984 - _987; reassocpow_3300 = __builtin_powi (t59_800, 2); _989 = reassocpow_3300; t220_990 = 1.0e+0 / _989; t221_991 = t220_990 * t50_793; t222_992 = t178_944 * 1.0356999999999999317878973670303821563720703125e+1; t226_993 = t15_764 * 8.802600000000000424194013248779810965061187744140625e-1; _995 = t222_992 * 5.0e-1; _999 = t226_993 * 1.5e+0; _1001 = t58_794 * 2.0e+0; _1003 = _1001 * t187_947; _3298 = _995 + _999; _3299 = _3298 + 3.62309999999999998721023075631819665431976318359375e+0; _3296 = _3299 + _1003; _3297 = _3296 * rsrhoa_940; t232_1004 = _3297; t233_1005 = 1.0e+0 / t63_802; t234_1006 = t232_1004 * t233_1005; _3293 = t64_803 * 3.75735749999999996823207837337577075231820344924926757812e-3; _1009 = _3293 * rsrhoa_940; _1010 = t234_1006 * t221_991; alpha_crhoa_1011 = _1009 - _1010; _1012 = t71_808 - t74_811; _3292 = chirhoa_934 * 1.3333333333333332593184650249895639717578887939453125e+0; _1014 = _3292 * _1012; _1015 = ((_1014)); frhoa_1016 = _1015 * 1.9236610509315361650095610457356087863445281982421875e+0; t240_1017 = alpha_crhoa_1011 * f_816; t242_1018 = alpha_c_806 * frhoa_1016; _3283 = t240_1017 + t242_1018; _3284 = _3283 * t82_822; t244_1019 = _818 * chi_757; t245_1020 = t244_1019 * 5.8482236226346462348857357937959022819995880126953125e-1; t246_1021 = t245_1020 * chirhoa_934; _3291 = t246_1021 * 4.0e+0; t248_1023 = _3291 * t77_817; t249_1024 = e_c_u_1rhoa_988 - e_c_u_0rhoa_965; t250_1025 = t249_1024 * f_816; t252_1026 = t84_826 * frhoa_1016; _3285 = t250_1025 + t252_1026; _3286 = _3285 * _819; t254_1027 = t244_1019 * chirhoa_934; _3290 = t254_1027 * 4.0e+0; t256_1029 = _3290 * t85_827; _745 = -t248_1023; _3287 = t256_1029 - t248_1023; _3288 = _3287 + e_c_u_0rhoa_965; _3289 = _3288 + _3284; epsilon_c_unifrhoa_1039 = _3289 + _3286; t257_1040 = 1.0e+0 / t71_808; t259_1041 = 1.0e+0 / t74_811; _1042 = t257_1040 - t259_1041; _3282 = chirhoa_934 * 3.33333333333333314829616256247390992939472198486328125e-1; phirhoa_1044 = _3282 * _1042; reassocpow_3281 = __builtin_powi (t92_837, 2); _1045 = reassocpow_3281; k_frhoa_1046 = 4.74481090219174372890620361431501805782318115234375e+0 / _1045; t266_1047 = 1.0e+0 / t94_840; _3280 = t266_1047 * 3.18309886183790691216444201927515678107738494873046875e-1; k_srhoa_1049 = _3280 * k_frhoa_1046; t268_1050 = 1.0e+0 / _851; t269_1051 = t268_1050 * my_norm_drho_752; reassocpow_3279 = __builtin_powi (k_s_841, 2); _1052 = reassocpow_3279; t273_1053 = 1.0e+0 / _1052; t274_1054 = t273_1053 * t2_756; t277_1055 = t97_844 * t163_932; _3276 = t277_1055 * 5.0e-1; _1057 = t269_1051 * t98_845; _3278 = phirhoa_1044 * 5.0e-1; _1059 = _3278 * _1057; _1061 = t274_1054 * t96_843; _3277 = k_srhoa_1049 * 5.0e-1; _1063 = _3277 * _1061; _3349 = _1059 + _1063; _1065 = _3276 * t96_843; _3361 = _3349 + _1065; trhoa_1066 = -_3361; reassocpow_3275 = __builtin_powi (t108_857, 2); _1067 = reassocpow_3275; t281_1068 = 1.0e+0 / _1067; t282_1069 = epsilon_c_unifrhoa_1039 * 3.216396844291481471600491204299032688140869140625e+1; reassocpow_3274 = __builtin_powi (_851, 2); _1070 = reassocpow_3274; t285_1071 = 1.0e+0 / _1070; t286_1072 = t285_1071 * phirhoa_1044; _3273 = t286_1072 * 3.0e+0; _1074 = _3273 * t102_850; _1075 = t282_1069 * t105_853; t289_1076 = _1074 - _1075; _1077 = t281_1068 * t101_849; _1078 = t289_1076 * _1077; _1079 = _1078 * t107_856; arhoa_1080 = -_1079; t293_1081 = _851 * 3.1090690869654900863050528414532891474664211273193359375e-2; t294_1082 = phirhoa_1044 * t123_873; t297_1083 = t_847 * t101_849; t298_1084 = t119_868 * t113_862; t299_1085 = t298_1084 * trhoa_1066; t302_1086 = arhoa_1080 * _860; t303_1087 = t_847 * a_858; _3272 = t303_1087 * 2.0e+0; t305_1089 = _3272 * trhoa_1066; t306_1090 = t302_1086 + t305_1089; reassocpow_3271 = __builtin_powi (t118_867, 2); _1091 = reassocpow_3271; t312_1092 = 1.0e+0 / _1091; t313_1093 = t312_1092 * t113_862; t314_1094 = _864 * a_858; t317_1095 = _860 * t_847; t318_1096 = t317_1095 * _863; _3270 = t314_1094 * 2.0e+0; _1098 = _3270 * arhoa_1080; _1099 = t306_1090 + _1098; _3269 = t318_1096 * 4.0e+0; _1101 = _3269 * trhoa_1066; t321_1102 = _1099 + _1101; _3268 = t297_1083 * 2.0e+0; _1104 = _3268 * t299_1085; _1105 = t306_1090 * _869; _1106 = _1105 * t119_868; _1107 = _1106 + _1104; _1108 = t313_1093 * _869; _1109 = t321_1102 * _1108; _738 = -_1109; t324_1110 = _1107 - _1109; t325_1111 = 1.0e+0 / t122_872; t326_1112 = t324_1110 * t325_1111; _1113 = t293_1081 * t294_1082; _1114 = _1113 * 3.0e+0; _1115 = epsilon_c_unifrhoa_1039 + _1114; _1116 = t326_1112 * t110_859; epsilon_cggarhoa_1117 = _1115 + _1116; reassocpow_3267 = __builtin_powi (t126_877, 2); _1118 = reassocpow_3267; kf_arhoa_1119 = 5.978087133442063105803754297085106372833251953125e+0 / _1118; _1121 = kf_arhoa_1119 * 2.3873241463784300453454534363118000328540802001953125e-1; ex_unif_arhoa_1122 = -_1121; reassocpow_3266 = __builtin_powi (kf_a_878, 2); _1123 = reassocpow_3266; t336_1124 = 1.0e+0 / _1123; t337_1125 = t336_1124 * my_norm_drhoa_753; reassocpow_3265 = __builtin_powi (M.51222_736, 2); _1126 = reassocpow_3265; t341_1127 = 1.0e+0 / _1126; _1128 = t337_1125 * t131_884; _3264 = kf_arhoa_1119 * 5.0e-1; _1130 = _3264 * _1128; _3263 = t341_1127 * 5.0e-1; _1133 = _3263 * t130_883; _3350 = _1130 + _1133; s_arhoa_1134 = -_3350; reassocpow_3262 = __builtin_powi (t137_893, 2); _1135 = reassocpow_3262; _1136 = 1.0e+0 / _1135; t346_1137 = _1136 * mu_890; _1138 = t346_1137 * s_a_886; _3261 = s_arhoa_1134 * 2.0e+0; fx_arhoa_1140 = _3261 * _1138; t350_1141 = ex_unif_arhoa_1122 * M.51222_736; if (_39 != 0) goto <bb 121>; else goto <bb 122>; ;; succ: 121 ;; 122 ;; basic block 121, loop depth 1 ;; pred: 120 _1145 = MEM[(real(kind=8)[0:] *)_181][_742]; _1146 = scale_ex; _702 = -_880; _1147 = t350_1141 - _880; _1148 = fx_a_896 * _1147; _1149 = fx_arhoa_1140 * t140_897; _1150 = _1149 + _1148; _1151 = _1150 * 2.0e+0; _1152 = ((_1151)); _3260 = _1146 * 5.0e-1; _1154 = _3260 * _1152; _1155 = _1154 + _1145; _1156 = scale_ec; _1157 = epsilon_cggarhoa_1117 * my_rho_751; _1158 = _1157 + epsilon_cgga_875; _1159 = ((_1158)); _1160 = _1159 * _1156; _1161 = _1155 + _1160; MEM[(real(kind=8)[0:] *)_181][_742] = _1161; ;; succ: 122 ;; basic block 122, loop depth 1 ;; pred: 120 ;; 121 _3351 = t2_756 + t164_933; chirhob_1163 = -_3351; _3259 = t191_959 * t177_943; _1165 = _3259 * t190_958; e_c_u_0rhob_1166 = _1165 - _964; _3258 = t212_982 * t200_968; _1168 = _3258 * t211_981; e_c_u_1rhob_1169 = _1168 - _987; _3257 = t233_1005 * t221_991; _1171 = _3257 * t232_1004; alpha_crhob_1172 = _1009 - _1171; _3256 = chirhob_1163 * 1.3333333333333332593184650249895639717578887939453125e+0; _1174 = _3256 * _1012; _1175 = ((_1174)); frhob_1176 = _1175 * 1.9236610509315361650095610457356087863445281982421875e+0; t403_1177 = alpha_crhob_1172 * f_816; t405_1178 = alpha_c_806 * frhob_1176; _3247 = t403_1177 + t405_1178; _3248 = _3247 * t82_822; t407_1179 = t245_1020 * chirhob_1163; _3255 = t407_1179 * 4.0e+0; t409_1181 = _3255 * t77_817; t410_1182 = e_c_u_1rhob_1169 - e_c_u_0rhob_1166; t411_1183 = t410_1182 * f_816; t413_1184 = t84_826 * frhob_1176; _3249 = t411_1183 + t413_1184; _3250 = _3249 * _819; t415_1185 = chirhob_1163 * t244_1019; _3254 = t415_1185 * 4.0e+0; t417_1187 = _3254 * t85_827; _2735 = -t409_1181; _3251 = t417_1187 - t409_1181; _3252 = _3251 + e_c_u_0rhob_1166; _3253 = _3252 + _3248; epsilon_c_unifrhob_1197 = _3253 + _3250; _3246 = chirhob_1163 * 3.33333333333333314829616256247390992939472198486328125e-1; phirhob_1199 = _3246 * _1042; _3245 = phirhob_1199 * 5.0e-1; _1201 = _3245 * _1057; _3352 = _1201 + _1063; _3362 = _3352 + _1065; trhob_1204 = -_3362; t427_1205 = epsilon_c_unifrhob_1197 * 3.216396844291481471600491204299032688140869140625e+1; t429_1206 = t285_1071 * phirhob_1199; _3244 = t429_1206 * 3.0e+0; _1208 = _3244 * t102_850; _1209 = t427_1205 * t105_853; t432_1210 = _1208 - _1209; _1211 = t432_1210 * _1077; _1212 = _1211 * t107_856; arhob_1213 = -_1212; t436_1214 = phirhob_1199 * t123_873; t439_1215 = t298_1084 * trhob_1204; t442_1216 = arhob_1213 * _860; _3243 = t303_1087 * 2.0e+0; t444_1218 = _3243 * trhob_1204; t445_1219 = t442_1216 + t444_1218; _3242 = t314_1094 * 2.0e+0; _1221 = _3242 * arhob_1213; _1222 = t445_1219 + _1221; _3241 = t318_1096 * 4.0e+0; _1224 = _3241 * trhob_1204; t453_1225 = _1222 + _1224; _3240 = t297_1083 * 2.0e+0; _1227 = _3240 * t439_1215; _1228 = t445_1219 * _869; _1229 = _1228 * t119_868; _1230 = _1229 + _1227; _1231 = t453_1225 * _1108; _936 = -_1231; t456_1232 = _1230 - _1231; t457_1233 = t456_1232 * t325_1111; _1234 = t293_1081 * t436_1214; _1235 = _1234 * 3.0e+0; _1236 = epsilon_c_unifrhob_1197 + _1235; _1237 = t457_1233 * t110_859; epsilon_cggarhob_1238 = _1236 + _1237; reassocpow_3239 = __builtin_powi (t143_899, 2); _1239 = reassocpow_3239; kf_brhob_1240 = 5.978087133442063105803754297085106372833251953125e+0 / _1239; _1242 = kf_brhob_1240 * 2.3873241463784300453454534363118000328540802001953125e-1; ex_unif_brhob_1243 = -_1242; reassocpow_3238 = __builtin_powi (kf_b_900, 2); _1244 = reassocpow_3238; t467_1245 = 1.0e+0 / _1244; t468_1246 = t467_1245 * my_norm_drhob_754; reassocpow_3237 = __builtin_powi (M.51223_731, 2); _1247 = reassocpow_3237; t472_1248 = 1.0e+0 / _1247; _1249 = t468_1246 * t148_906; _3236 = kf_brhob_1240 * 5.0e-1; _1251 = _3236 * _1249; _3235 = t472_1248 * 5.0e-1; _1254 = _3235 * t147_905; _3353 = _1251 + _1254; s_brhob_1255 = -_3353; reassocpow_3234 = __builtin_powi (t153_912, 2); _1256 = reassocpow_3234; _1257 = 1.0e+0 / _1256; t477_1258 = _1257 * mu_890; _1259 = t477_1258 * s_b_908; _3233 = s_brhob_1255 * 2.0e+0; fx_brhob_1261 = _3233 * _1259; t481_1262 = ex_unif_brhob_1243 * M.51223_731; if (_39 != 0) goto <bb 123>; else goto <bb 124>; ;; succ: 123 ;; 124 ;; basic block 123, loop depth 1 ;; pred: 122 _1263 = MEM[(real(kind=8)[0:] *)_183][_742]; _1264 = scale_ex; _701 = -_902; _1265 = t481_1262 - _902; _1266 = fx_b_915 * _1265; _1267 = fx_brhob_1261 * t156_916; _1268 = _1267 + _1266; _1269 = _1268 * 2.0e+0; _1270 = ((_1269)); _3232 = _1264 * 5.0e-1; _1272 = _3232 * _1270; _1273 = _1272 + _1263; _1274 = scale_ec; _1275 = epsilon_cggarhob_1238 * my_rho_751; _1276 = _1275 + epsilon_cgga_875; _1277 = ((_1276)); _1278 = _1277 * _1274; _1279 = _1273 + _1278; MEM[(real(kind=8)[0:] *)_183][_742] = _1279; ;; succ: 124 ;; basic block 124, loop depth 1 ;; pred: 122 ;; 123 t488_1280 = t95_842 * t97_844; _3231 = t2_756 * 5.0e-1; tnorm_drho_1282 = _3231 * t488_1280; t494_1284 = tnorm_drho_1282 * a_858; _3228 = t494_1284 * t101_849; _1286 = t303_1087 * 2.0e+0; _1288 = t318_1096 * 4.0e+0; _3229 = _1288 + _1286; _3230 = _3229 * tnorm_drho_1282; t502_1289 = _3230; _1290 = t298_1084 * t297_1083; _1291 = _1290 * tnorm_drho_1282; _1292 = _3228 * t317_1095; _1293 = t119_868 * _1292; _1294 = _1291 + _1293; _1295 = _1294 * 2.0e+0; _1296 = _1108 * t502_1289; t505_1297 = _1295 - _1296; t506_1298 = t505_1297 * t325_1111; hnorm_drho_1299 = t506_1298 * t110_859; if (_39 != 0) goto <bb 125>; else goto <bb 176>; ;; succ: 125 ;; 176 ;; basic block 125, loop depth 1 ;; pred: 124 _1300 = MEM[(real(kind=8)[0:] *)_195][_742]; _1301 = scale_ec; _1302 = my_rho_751 * _1301; _1303 = _1302 * hnorm_drho_1299; _1304 = _1303 + _1300; MEM[(real(kind=8)[0:] *)_195][_742] = _1304; _3227 = t131_884 * 5.0e-1; s_anorm_drhoa_578 = _3227 * t129_882; _3226 = s_anorm_drhoa_578 * 2.0e+0; fx_anorm_drhoa_730 = _3226 * _1138; _1309 = MEM[(real(kind=8)[0:] *)_197][_742]; _1310 = scale_ex; _1311 = t140_897 * _1310; _1312 = _1311 * fx_anorm_drhoa_730; _1313 = _1312 + _1309; MEM[(real(kind=8)[0:] *)_197][_742] = _1313; _3225 = t148_906 * 5.0e-1; s_bnorm_drhob_733 = _3225 * t146_904; _3224 = s_bnorm_drhob_733 * 2.0e+0; fx_bnorm_drhob_735 = _3224 * _1259; _1318 = MEM[(real(kind=8)[0:] *)_199][_742]; _1319 = _1310; _1320 = t156_916 * _1310; _1321 = _1320 * fx_bnorm_drhob_735; _1322 = _1321 + _1318; MEM[(real(kind=8)[0:] *)_199][_742] = _1322; ;; succ: 126 ;; basic block 126, loop depth 1 ;; pred: 176 ;; 125 # s_anorm_drhoa_716 = PHI <s_anorm_drhoa_563(176), s_anorm_drhoa_578(125)> # fx_anorm_drhoa_717 = PHI <fx_anorm_drhoa_533(176), fx_anorm_drhoa_730(125)> # s_bnorm_drhob_718 = PHI <s_bnorm_drhob_725(176), s_bnorm_drhob_733(125)> # fx_bnorm_drhob_719 = PHI <fx_bnorm_drhob_715(176), fx_bnorm_drhob_735(125)> if (_47 != 0) goto <bb 127>; else goto <bb 128>; ;; succ: 127 ;; 128 ;; basic block 127, loop depth 1 ;; pred: 126 _1326 = _931 * my_rho_751; t518_1327 = 1.0e+0 / _1326; t519_1328 = t518_1327 * t1_755; _2696 = -t163_932; _1329 = t519_1328 - t163_932; chirhoarhoa_1330 = _1329 * 2.0e+0; _3219 = t518_1327 * 1.666666666666666574148081281236954964697360992431640625e-1; _1333 = _3219 * _937; _3216 = t8_758 * 1.8e+1; reassocpow_3215 = __builtin_powi (_931, 2); _3217 = _3216 * _935; _1336 = reassocpow_3215 * _3217; _1337 = 3.68225618573237711839141184100299142301082611083984375e-1 / _1336; rsrhoarhoa_1338 = _1333 - _1337; t536_1339 = rsrhoa_940 * 2.137000000000000010658141036401502788066864013671875e-1; _1342 = _941 * t23_773; t543_1343 = t12_763 / _1342; reassocpow_3212 = __builtin_powi (t190_958, 2); _1344 = reassocpow_3212; t548_1345 = 1.0e+0 / t18_765; reassocpow_3211 = __builtin_powi (_939, 2); _1347 = reassocpow_3211; reassocpow_3210 = __builtin_powi (rs_761, 2); _1349 = reassocpow_3210; t564_1350 = 1.0e+0 / _1349; reassocpow_3209 = __builtin_powi (_941, 2); _1351 = reassocpow_3209; t578_1352 = t12_763 / _1351; reassocpow_3208 = __builtin_powi (t27_775, 2); _1353 = reassocpow_3208; t580_1354 = 1.0e+0 / _1353; _3206 = t536_1339 * t176_942; _3207 = _3206 * t191_959; _1355 = _3207 * t190_958; _3203 = t28_776 * 6.64414669999999988464489675266122503671795129776000976562e-3; _1357 = _3203 * rsrhoarhoa_1338; _1358 = _1355 - _1357; _3202 = t543_1343 * t191_959; _1360 = _3202 * _1344; _2695 = -_1360; _1361 = _1358 - _1360; _1362 = _1361 * 2.0e+0; _1364 = t179_945 * 5.0e-1; _3201 = t548_1345 * 1.8989249999999999740651901447563432157039642333984375e+0; _1366 = _3201 * _1347; _1317 = -_1366; _3200 = t178_944 * 1.2286500000000000198951966012828052043914794921875e+0; _1371 = _3200 * _1347; _3199 = _1371 - _1366; _1374 = t183_946 * 1.5e+0; _3196 = _1364 + _1374; _3197 = _3196 + 3.5876000000000001222133505507372319698333740234375e+0; _3198 = _3197 * rsrhoarhoa_1338; _1375 = _3199 + _3198; _1376 = t22_767 * 4.0e+0; _3195 = t564_1350 * _1376; _1378 = _3195 * _1347; _3194 = _955 * t187_947; _1381 = _3194 * rsrhoarhoa_1338; _3191 = _1381 + _1378; _3193 = t564_1350 * _955; _1384 = _3193 * _1347; _1316 = -_1384; _3192 = _3191 - _1384; _1385 = _3192 + _1375; _1386 = ((_1385)); _3190 = t191_959 * t177_943; _1388 = _3190 * _1386; _3188 = t578_1352 * 1.6081824322151103245914782746694982051849365234375e+1; _3189 = _3188 * t580_1354; _1393 = _3189 * _1344; _3187 = _1362 + _1393; e_c_u_0rhoarhoa_1394 = _3187 + _1388; t588_1395 = rsrhoa_940 * 2.0547999999999999598543354295543394982814788818359375e-1; _1398 = _966 * t41_788; t595_1399 = t32_781 / _1398; reassocpow_3186 = __builtin_powi (t211_981, 2); _1400 = reassocpow_3186; reassocpow_3185 = __builtin_powi (_966, 2); _1403 = reassocpow_3185; t626_1404 = t32_781 / _1403; reassocpow_3184 = __builtin_powi (t45_790, 2); _1405 = reassocpow_3184; t628_1406 = 1.0e+0 / _1405; t636_1407 = rsrhoa_940 * 1.1125000000000000166533453693773481063544750213623046875e-1; _1410 = _989 * t59_800; t643_1411 = t50_793 / _1410; reassocpow_3183 = __builtin_powi (t232_1004, 2); _1412 = reassocpow_3183; reassocpow_3182 = __builtin_powi (_989, 2); _1415 = reassocpow_3182; t674_1416 = t50_793 / _1415; reassocpow_3181 = __builtin_powi (t63_802, 2); _1417 = reassocpow_3181; t676_1418 = 1.0e+0 / _1417; t681_1419 = 1.0e+0 / _832; reassocpow_3180 = __builtin_powi (chirhoa_934, 2); _1420 = reassocpow_3180; t687_1421 = 1.0e+0 / _833; _1423 = t681_1419 * 4.444444444444444197728216749965213239192962646484375e-1; _3179 = chirhoarhoa_1330 * 1.3333333333333332593184650249895639717578887939453125e+0; _1425 = _3179 * t71_808; _1428 = t687_1421 * 4.444444444444444197728216749965213239192962646484375e-1; _3175 = _1428 + _1423; _3176 = _3175 * _1420; _3178 = chirhoarhoa_1330 * 1.3333333333333332593184650249895639717578887939453125e+0; _1431 = _3178 * t74_811; _1315 = -_1431; _3177 = _1425 - _1431; _1432 = _3177 + _3176; _1433 = ((_1432)); frhoarhoa_1434 = _1433 * 1.9236610509315361650095610457356087863445281982421875e+0; t711_1435 = _818 * 5.8482236226346462348857357937959022819995880126953125e-1; _3173 = t588_1395 * t199_967; _3174 = _3173 * t212_982; _1436 = _3174 * t211_981; _3170 = t46_791 * 3.19418660000000010495968538748456921894103288650512695312e-3; _1438 = _3170 * rsrhoarhoa_1338; _1439 = _1436 - _1438; _3169 = t595_1399 * t212_982; _1441 = _3169 * _1400; _1314 = -_1441; _1442 = _1439 - _1441; _1443 = _1442 * 2.0e+0; _1445 = t201_969 * 5.0e-1; _3168 = t548_1345 * 3.52972500000000000142108547152020037174224853515625e+0; _1447 = _3168 * _1347; _1308 = -_1447; _3167 = t178_944 * 2.52465000000000028279600883251987397670745849609375e+0; _1452 = _3167 * _1347; _3166 = _1452 - _1447; _1455 = t205_970 * 1.5e+0; _3163 = _1445 + _1455; _3164 = _3163 + 6.19770000000000020889956431346945464611053466796875e+0; _3165 = _3164 * rsrhoarhoa_1338; _1456 = _3166 + _3165; _1457 = t40_782 * 4.0e+0; _3162 = t564_1350 * _1457; _1459 = _3162 * _1347; _3161 = _978 * t187_947; _1462 = _3161 * rsrhoarhoa_1338; _3158 = _1462 + _1459; _3160 = t564_1350 * _978; _1465 = _3160 * _1347; _1307 = -_1465; _3159 = _3158 - _1465; _1466 = _3159 + _1456; _1467 = ((_1466)); _3157 = t212_982 * t200_968; _1469 = _3157 * _1467; _3155 = t626_1404 * 3.216468317787069963742396794259548187255859375e+1; _3156 = _3155 * t628_1406; _1474 = _3156 * _1400; _3154 = _1443 + _1474; _1475 = _3154 + _1469; _1306 = -e_c_u_0rhoarhoa_1394; _1476 = _1475 - e_c_u_0rhoarhoa_1394; _1477 = ((_1476)); _3153 = f_816 * _819; _1479 = _3153 * _1477; _1480 = t77_817 * t245_1020; _3152 = chirhoarhoa_1330 * 4.0e+0; _1482 = _3152 * _1480; _1305 = -_1482; _3151 = frhoa_1016 * _819; _1485 = _3151 * t249_1024; _3150 = t254_1027 * 4.0e+0; _1488 = _3150 * t250_1025; _1492 = t84_826 * _819; _3149 = t254_1027 * 4.0e+0; _1495 = _3149 * t252_1026; _3105 = _1552 * 2.0e+0; _3104 = _1495 * 2.0e+0; _3108 = _3105 + _3104; _3106 = _1485 * 2.0e+0; _3109 = _3108 + _3106; _3107 = _1488 * 2.0e+0; _3110 = _3109 + _3107; _1499 = t85_827 * _818; _3148 = _1420 * 1.2e+1; _1501 = _3148 * _1499; _1503 = t85_827 * t244_1019; _3147 = chirhoarhoa_1330 * 4.0e+0; _1505 = _3147 * _1503; _3146 = t64_803 * 1.87867874999999998411603918668788537615910172462463378906e-3; _1508 = _3146 * rsrhoarhoa_1338; _3144 = t636_1407 * t220_990; _3145 = _3144 * t233_1005; _1509 = _3145 * t232_1004; _623 = -_1509; _3141 = t643_1411 * t233_1005; _1512 = _3141 * _1412; _3140 = _1512 + _1508; _1513 = _3140 - _1509; _1514 = _1513 * 2.0e+0; _1516 = t222_992 * 5.0e-1; _3139 = t548_1345 * 2.58924999999999982946974341757595539093017578125e+0; _1518 = _3139 * _1347; _668 = -_1518; _3138 = t178_944 * 6.601950000000000873257022249163128435611724853515625e-1; _1523 = _3138 * _1347; _3137 = _1523 - _1518; _1526 = t226_993 * 1.5e+0; _3134 = _1516 + _1526; _3135 = _3134 + 3.62309999999999998721023075631819665431976318359375e+0; _3136 = _3135 * rsrhoarhoa_1338; _1527 = _3137 + _3136; _1528 = t58_794 * 4.0e+0; _3133 = t564_1350 * _1528; _1530 = _3133 * _1347; _3132 = _1001 * t187_947; _1533 = _3132 * rsrhoarhoa_1338; _3129 = _1533 + _1530; _3131 = t564_1350 * _1001; _1536 = _3131 * _1347; _698 = -_1536; _3130 = _3129 - _1536; _1537 = _3130 + _1527; _1538 = ((_1537)); _3128 = t233_1005 * t221_991; _1540 = _3128 * _1538; _1541 = _1514 - _1540; _3126 = t674_1416 * 2.960857464321667720241748611442744731903076171875e+1; _3127 = _3126 * t676_1418; _1545 = _3127 * _1412; _1546 = _1541 - _1545; _1547 = ((_1546)); _3125 = f_816 * t82_822; _1549 = _3125 * _1547; _1550 = _1549 + e_c_u_0rhoarhoa_1394; _3124 = frhoa_1016 * t82_822; _1552 = _3124 * alpha_crhoa_1011; _3123 = t246_1021 * 4.0e+0; _1555 = _3123 * t240_1017; _105 = -_1555; _1559 = alpha_c_806 * t82_822; _3102 = _1559 + _1492; _3103 = frhoarhoa_1434 * _3102; _3122 = t246_1021 * 4.0e+0; _1562 = _3122 * t242_1018; _117 = -_1562; _3111 = _3110 - _1562; _123 = -_1555; _129 = -_1562; _3112 = _3111 - _1562; _1566 = t711_1435 * t77_817; _3121 = _1420 * 1.2e+1; _1568 = _3121 * _1566; _135 = -_1568; _3113 = _3112 - _1482; _3114 = _3113 + _1501; _3115 = _3114 + _1505; _3116 = _3115 - _1568; _3117 = _3116 + _3103; _3118 = _3117 - _1555; _3119 = _3118 - _1555; _3120 = _3119 + _1550; epsilon_c_unifrhoarhoa_1570 = _3120 + _1479; t750_1571 = 1.0e+0 / t72_809; t755_1572 = 1.0e+0 / t75_812; _3093 = chirhoarhoa_1330 * 3.33333333333333314829616256247390992939472198486328125e-1; _1574 = _3093 * t257_1040; _3092 = _1420 * 1.11111111111111104943205418749130330979824066162109375e-1; _1576 = _3092 * t750_1571; _1577 = _1574 - _1576; _3091 = _1420 * 1.11111111111111104943205418749130330979824066162109375e-1; _1579 = _3091 * t755_1572; _1580 = _1577 - _1579; _3090 = chirhoarhoa_1330 * 3.33333333333333314829616256247390992939472198486328125e-1; _1582 = _3090 * t259_1041; phirhoarhoa_1583 = _1580 - _1582; _1584 = _1045 * t91_836; _1585 = 3.121960437507227226205941406078636646270751953125e+1 / _1584; k_frhoarhoa_1586 = -_1585; _1587 = t93_839 * t94_840; t767_1588 = 1.0e+0 / _1587; _3089 = t97_844 * my_norm_drho_752; t775_1591 = _3089 * t105_853; t776_1592 = phirhoa_1044 * t2_756; t779_1593 = t269_1051 * t273_1053; _1594 = t269_1051 * t277_1055; _3088 = phirhoa_1044 * 5.0e-1; t785_1596 = _3088 * _1594; t789_1597 = k_srhoa_1049 * t2_756; _1598 = _1052 * k_s_841; t795_1599 = t96_843 / _1598; _3085 = t163_932 * 5.0e-1; _3086 = _3085 * t273_1053; _3087 = _3086 * t96_843; t801_1603 = _3087 * k_srhoa_1049; _3084 = t97_844 * t518_1327; t812_1605 = _3084 * t96_843; _1606 = t775_1591 * t776_1592; _3082 = k_srhoa_1049 * 5.0e-1; _3083 = _3082 * t776_1592; _1610 = _3083 * t779_1593; _1611 = _1610 + t785_1596; _1613 = _1057 * phirhoarhoa_1583; _1614 = _1613 * 5.0e-1; _141 = -_1614; _1616 = t779_1593 * t789_1597; _1618 = _1616 * 5.0e-1; _3068 = _1618 + _1606; _3069 = _3068 * phirhoa_1044; _3070 = t801_1603 * 2.0e+0; _3071 = t812_1605 + _3070; _1620 = t789_1597 * t795_1599; _1621 = _1620 * k_srhoa_1049; _3072 = _3071 + _1621; _3073 = _3072 + t785_1596; _3081 = t266_1047 * -3.18309886183790691216444201927515678107738494873046875e-1; _1625 = _3081 * _1585; reassocpow_3078 = __builtin_powi (k_frhoa_1046, 2); _3079 = t767_1588 * 5.06605918211688877050846713245846331119537353515625e-2; _1628 = reassocpow_3078 * _3079; _1629 = _1625 - _1628; _1630 = ((_1629)); _3077 = _1061 * 5.0e-1; _1632 = _3077 * _1630; _147 = -_1632; _3074 = _3073 - _1614; _3075 = _3074 + _1611; _3076 = _3075 + _3069; trhoarhoa_1636 = _3076 - _1632; _1637 = _1067 * t108_857; t820_1638 = t101_849 / _1637; reassocpow_3067 = __builtin_powi (t107_856, 2); _1639 = reassocpow_3067; _3066 = t820_1638 * _1639; _1641 = _1070 * phi_835; t839_1642 = 1.0e+0 / _1641; t840_1643 = t839_1642 * phirhoa_1044; _1644 = _3066 * t289_1076; _3065 = t289_1076 * 2.0e+0; _1646 = _3065 * _1644; _3064 = t286_1072 * 3.0e+0; _1648 = _3064 * t282_1069; _3063 = t105_853 * 3.216396844291481471600491204299032688140869140625e+1; _1650 = _3063 * epsilon_c_unifrhoarhoa_1570; _153 = -_1650; _3058 = _1648 * 2.0e+0; _1653 = t840_1643 * t102_850; _3062 = phirhoa_1044 * 1.2e+1; _1655 = _3062 * _1653; _159 = -_1655; _1657 = t102_850 * t285_1071; _3061 = phirhoarhoa_1583 * 3.0e+0; _1659 = _3061 * _1657; _3059 = _1659 + _3058; _3060 = _3059 - _1655; _1660 = _3060 - _1650; _1661 = ((_1660)); _3057 = _1077 * t107_856; _1663 = _3057 * _1661; _1664 = _1646 - _1663; _3056 = t289_1076 * t107_856; _1666 = _3056 * _1078; arhoarhoa_1667 = _1664 - _1666; t858_1668 = phi_835 * 3.1090690869654900863050528414532891474664211273193359375e-2; _3055 = trhoa_1066 * 2.0e+0; _1670 = _3055 * _1290; _1671 = _1106 + _1670; _250 = -_1109; t879_1672 = _1671 - _1109; t880_1673 = t879_1672 * t325_1111; _3035 = t119_868 * t297_1083; t908_1675 = arhoarhoa_1667 * _860; t909_1676 = arhoa_1080 * t_847; _3054 = trhoa_1066 * 2.0e+0; t911_1678 = _3054 * t909_1676; reassocpow_3051 = __builtin_powi (trhoa_1066, 2); _3052 = a_858 * 2.0e+0; t917_1681 = reassocpow_3051 * _3052; _3050 = t303_1087 * 2.0e+0; t919_1683 = _3050 * trhoarhoa_1636; _3029 = t312_1092 * _869; _1685 = _1091 * t118_867; t936_1686 = t113_862 / _1685; t944_1687 = t317_1095 * a_858; t953_1688 = _860 * _863; _3047 = t911_1678 * 2.0e+0; _3048 = t917_1681 + _3047; _3049 = _3048 + t919_1683; _1692 = _3049 + t908_1675; _3046 = _864 * 2.0e+0; _1695 = _3046 * arhoa_1080; _1697 = arhoa_1080 * t944_1687; _1699 = _1697 * 8.0e+0; _3045 = t314_1094 * 2.0e+0; _1702 = _3045 * arhoarhoa_1667; _1704 = trhoa_1066 * t944_1687; _1706 = _1704 * 8.0e+0; _3037 = _1695 + _1706; _3038 = _3037 * arhoa_1080; _1708 = trhoa_1066 * t953_1688; _1710 = _1708 * 1.2e+1; _3039 = _1699 + _1710; _3040 = _3039 * trhoa_1066; _3041 = _3038 + _3040; _3044 = t318_1096 * 4.0e+0; _1713 = _3044 * trhoarhoa_1636; _3042 = _3041 + _1713; _3043 = _3042 + _1702; t959_1714 = _3043 + _1692; _1716 = t299_1085 * t101_849; _3036 = t119_868 * t297_1083; _1718 = _3036 * t306_1090; _1721 = t313_1093 * t297_1083; _1722 = _1721 * trhoa_1066; _1723 = t321_1102 * _1722; _2688 = -_1723; _1725 = trhoarhoa_1636 * _1290; _3034 = _1725 - _1723; _1727 = _3035 * t306_1090; _3031 = _1718 + _1727; _3032 = _3031 + _1716; _3033 = _3032 * trhoa_1066; _1729 = _3034 + _3033; _1730 = _1729 * 2.0e+0; _1731 = ((_1692)); _3030 = t119_868 * _869; _1733 = _3030 * _1731; _1735 = _3029 * t306_1090; _1736 = _1735 * t321_1102; _1738 = t321_1102 * _1721; _3028 = trhoa_1066 * 2.0e+0; _1740 = _3028 * _1738; _2751 = -_1740; _1742 = _1105 * t312_1092; _1743 = _1742 * t321_1102; _603 = -_1743; _3360 = _1736 + _1743; _3023 = -_3360; _1745 = t936_1686 * _869; _1746 = t321_1102 * _1745; _3027 = t321_1102 * 2.0e+0; _1748 = _3027 * _1746; _3024 = _1748 - _3360; _3025 = _3024 - _1740; _3026 = _3025 + _1730; _1749 = _3026 + _1733; _1750 = t959_1714 * _1108; _622 = -_1750; t962_1751 = _1749 - _1750; reassocpow_3022 = __builtin_powi (t122_872, 2); _1752 = reassocpow_3022; t966_1753 = 1.0e+0 / _1752; _2995 = t966_1753 * t110_859; _1755 = _1118 * t125_876; _1756 = 3.93342367215436325977861997671425342559814453125e+1 / _1755; kf_arhoarhoa_1757 = -_1756; reassocpow_3021 = __builtin_powi (mu_890, 2); _1759 = reassocpow_3021; _1760 = _1135 * t137_893; _1761 = 1.0e+0 / _1760; _3020 = _887 * _1759; t1000_1763 = _3020 * _1761; t1001_1764 = s_arhoa_1134 * t135_889; _1765 = MEM[(real(kind=8)[0:] *)_201][_742]; _1766 = scale_ex; _1767 = fx_a_896 * ex_unif_arhoa_1122; _1768 = fx_arhoa_1140 * ex_unif_a_881; _3019 = _1767 * 2.0e+0; _1770 = _1768 + _3019; _1771 = _1770 * 2.0e+0; _3017 = M.51222_736 * 4.774648292756860090690906872623600065708160400390625e-1; _3018 = _3017 * kf_arhoarhoa_1757; _1775 = _3018 * fx_a_896; _2749 = -_1775; _3016 = t350_1141 * 2.0e+0; _1778 = _3016 * fx_arhoa_1140; _3001 = _1778 * 2.0e+0; _3002 = _3001 - _1775; _1780 = _1768 * 2.0e+0; _3003 = _3002 + _1780; _1782 = _3003 + _1771; reassocpow_3013 = __builtin_powi (s_arhoa_1134, 2); _3014 = t346_1137 * 2.0e+0; _1785 = reassocpow_3013 * _3014; _1786 = t1001_1764 * t1000_1763; _3012 = s_arhoa_1134 * 8.0e+0; _1788 = _3012 * _1786; _633 = -_1788; _1790 = _1123 * kf_a_878; _1791 = my_norm_drhoa_753 / _1790; _3007 = kf_arhoa_1119 * _1791; _1793 = _3007 * t131_884; _1794 = t337_1125 * t341_1127; _3008 = _1793 + _1794; _3009 = _3008 * kf_arhoa_1119; _3011 = kf_arhoarhoa_1757 * 5.0e-1; _1798 = _3011 * _1128; _652 = -_1798; _3010 = _3009 - _1798; _1800 = _1126 * M.51222_736; _1801 = t130_883 / _1800; _1802 = _3010 + _1801; _1803 = ((_1802)); _3006 = _1803 * 2.0e+0; _1805 = _3006 * _1138; _3005 = _1805 + _1785; _1806 = _3005 - _1788; _1807 = ((_1806)); _3004 = t140_897 * 2.0e+0; _1809 = _3004 * _1807; _1810 = _1782 + _1809; _1811 = ((_1810)); _3000 = _1766 * 5.0e-1; _1813 = _3000 * _1811; _1814 = _1813 + _1765; _1815 = scale_ec; _1816 = t293_1081 * t123_873; _2999 = phirhoa_1044 * 3.0e+0; _1818 = _2999 * _1816; _1819 = epsilon_c_unifrhoa_1039 + _1818; _1820 = t880_1673 * t110_859; _1821 = _1819 + _1820; _1822 = _1821 + epsilon_cggarhoa_1117; _1823 = t294_1082 * t858_1668; _1825 = _1823 * 6.0e+0; _2998 = t293_1081 * 3.0e+0; _1829 = _2998 * t880_1673; _2997 = _1816 * 3.0e+0; _1832 = _2997 * phirhoarhoa_1583; _2992 = epsilon_c_unifrhoarhoa_1570 + _1832; _1834 = t326_1112 * t293_1081; _1836 = _1834 * 3.0e+0; _2989 = _1829 + _1836; _2990 = _2989 + _1825; _2991 = _2990 * phirhoa_1044; _2996 = t325_1111 * t110_859; _1839 = _2996 * t962_1751; _1841 = _2995 * t324_1110; _1842 = _1841 * t879_1672; _2747 = -_1842; _2993 = _2992 - _1842; _2994 = _2993 + _2991; _1843 = _2994 + _1839; _1844 = ((_1843)); _1845 = _1844 * my_rho_751; _1846 = _1822 + _1845; _1847 = ((_1846)); _1848 = _1847 * _1815; _1849 = _1814 + _1848; MEM[(real(kind=8)[0:] *)_201][_742] = _1849; chirhoarhob_1850 = t519_1328 * 2.0e+0; reassocpow_2988 = __builtin_powi (rsrhoa_940, 2); t1050_1852 = t564_1350 * reassocpow_2988; _1853 = _1357 * 2.0e+0; _144 = -_1853; _2975 = _1355 * 2.0e+0; _2976 = _2975 - _1853; _2986 = t543_1343 * 2.0e+0; _2987 = _2986 * t190_958; _1858 = _2987 * t192_960; _162 = -_1858; _2977 = _2976 - _1858; _1860 = t1050_1852 * _1376; _2984 = _1860 + _1381; _1863 = t1050_1852 * _955; _150 = -_1863; _2985 = _2984 - _1863; _1864 = _2985 + _1375; _1865 = ((_1864)); _2983 = t191_959 * t177_943; _1867 = _2983 * _1865; _2980 = t578_1352 * 1.6081824322151103245914782746694982051849365234375e+1; reassocpow_2979 = __builtin_powi (t190_958, 2); _2981 = _2980 * t580_1354; _1873 = reassocpow_2979 * _2981; _2978 = _2977 + _1873; e_c_u_0rhoarhob_1874 = _2978 + _1867; _2974 = chirhoa_934 * 4.444444444444444197728216749965213239192962646484375e-1; _1877 = _2974 * t681_1419; _2973 = chirhoarhob_1850 * 1.3333333333333332593184650249895639717578887939453125e+0; _1879 = _2973 * t71_808; _2972 = chirhoa_934 * 4.444444444444444197728216749965213239192962646484375e-1; _1883 = _2972 * t687_1421; _2968 = _1883 + _1877; _2969 = _2968 * chirhob_1163; _2971 = chirhoarhob_1850 * 1.3333333333333332593184650249895639717578887939453125e+0; _1886 = _2971 * t74_811; _272 = -_1886; _2970 = _1879 - _1886; _1887 = _2970 + _2969; _1888 = ((_1887)); frhoarhob_1889 = _1888 * 1.9236610509315361650095610457356087863445281982421875e+0; _2967 = chirhoa_934 * chirhob_1163; t1164_1891 = _2967 * _818; _1892 = _1438 * 2.0e+0; _156 = -_1892; _2954 = _1436 * 2.0e+0; _2955 = _2954 - _1892; _2965 = t595_1399 * 2.0e+0; _2966 = _2965 * t211_981; _1897 = _2966 * t213_983; _653 = -_1897; _2956 = _2955 - _1897; _1899 = t1050_1852 * _1457; _2963 = _1899 + _1462; _1902 = t1050_1852 * _978; _683 = -_1902; _2964 = _2963 - _1902; _1903 = _2964 + _1456; _1904 = ((_1903)); _2962 = t212_982 * t200_968; _1906 = _2962 * _1904; _2959 = t626_1404 * 3.216468317787069963742396794259548187255859375e+1; reassocpow_2958 = __builtin_powi (t211_981, 2); _2960 = _2959 * t628_1406; _1912 = reassocpow_2958 * _2960; _2957 = _2956 + _1912; _1913 = _2957 + _1906; _713 = -e_c_u_0rhoarhob_1874; _1914 = _1913 - e_c_u_0rhoarhob_1874; _1915 = ((_1914)); _1916 = _1915 * f_816; _2953 = chirhoarhob_1850 * 4.0e+0; _1919 = _2953 * _1480; _114 = -_1919; _1921 = t249_1024 * frhob_1176; _1925 = t250_1025 * 4.0e+0; _1927 = t410_1182 * frhoa_1016; _2951 = _1921 + _1927; _1930 = frhoarhob_1889 * t84_826; _2952 = _2951 + _1930; _2913 = _2952 + _1916; _2914 = _2913 * _819; _1934 = t252_1026 * 4.0e+0; _2915 = _1925 + _1934; _2916 = _2915 * t415_1185; _1937 = t411_1183 * 4.0e+0; _1940 = t413_1184 * 4.0e+0; _2917 = _1937 + _1940; _2918 = _2917 * t254_1027; _2950 = t1164_1891 * 1.2e+1; _1943 = _2950 * t85_827; _2949 = chirhoarhob_1850 * 4.0e+0; _1946 = _2949 * _1503; _1948 = _1508 * 2.0e+0; _1949 = _1948 - _1509; _120 = -_1509; _2937 = _1949 - _1509; _2947 = t643_1411 * 2.0e+0; _2948 = _2947 * t232_1004; _1953 = _2948 * t234_1006; _2938 = _2937 + _1953; _1955 = t1050_1852 * _1528; _2945 = _1955 + _1533; _1958 = t1050_1852 * _1001; _126 = -_1958; _2946 = _2945 - _1958; _1959 = _2946 + _1527; _1960 = ((_1959)); _2944 = t233_1005 * t221_991; _1962 = _2944 * _1960; _132 = -_1962; _2941 = t674_1416 * 2.960857464321667720241748611442744731903076171875e+1; reassocpow_2940 = __builtin_powi (t232_1004, 2); _2942 = _2941 * t676_1418; _1968 = reassocpow_2940 * _2942; _573 = -_1968; _2939 = _2938 - _1968; _1969 = _2939 - _1962; _1970 = ((_1969)); _1971 = _1970 * f_816; _1974 = alpha_crhoa_1011 * frhob_1176; _2936 = t407_1179 * 4.0e+0; _1978 = _2936 * t240_1017; _577 = -_1978; _1980 = alpha_crhob_1172 * frhoa_1016; _2934 = _1974 + _1980; _1983 = frhoarhob_1889 * alpha_c_806; _2935 = _2934 + _1983; _2909 = _2935 + _1971; _2910 = _2909 * t82_822; _2933 = t407_1179 * 4.0e+0; _1987 = _2933 * t242_1018; _138 = -_1987; _2919 = _1943 - _1987; _2932 = t246_1021 * 4.0e+0; _1990 = _2932 * t403_1177; _2738 = -_1990; _2931 = t246_1021 * 4.0e+0; _1993 = _2931 * t405_1178; _558 = -_1993; _2920 = _2919 - _1993; _2930 = t1164_1891 * 7.0178683471615759259520928026176989078521728515625e+0; _1997 = _2930 * t77_817; _739 = -_1997; _2921 = _2920 - _1919; _2922 = _2921 + _1946; _2923 = _2922 - _1997; _2924 = _2923 - _1978; _2925 = _2924 - _1990; _2926 = _2925 + _2916; _2927 = _2926 + _2918; _2928 = _2927 + e_c_u_0rhoarhob_1874; _2929 = _2928 + _2910; epsilon_c_unifrhoarhob_1999 = _2929 + _2914; _2897 = chirhoarhob_1850 * 3.33333333333333314829616256247390992939472198486328125e-1; _2001 = _2897 * t257_1040; _2895 = chirhoa_934 * chirhob_1163; _2896 = _2895 * 1.11111111111111104943205418749130330979824066162109375e-1; _2004 = _2896 * t750_1571; _2005 = _2001 - _2004; _2893 = chirhoa_934 * chirhob_1163; _2894 = _2893 * 1.11111111111111104943205418749130330979824066162109375e-1; _2008 = _2894 * t755_1572; _2009 = _2005 - _2008; _2892 = chirhoarhob_1850 * 3.33333333333333314829616256247390992939472198486328125e-1; _2011 = _2892 * t259_1041; phirhoarhob_2012 = _2009 - _2011; _2891 = phirhob_1199 * 5.0e-1; t1228_2014 = _2891 * _1594; _2015 = _1606 * phirhob_1199; _2890 = _1057 * 5.0e-1; _2018 = _2890 * phirhoarhob_2012; _562 = -_2018; _2877 = t801_1603 * 2.0e+0; _2878 = t812_1605 + _2877; _2889 = phirhob_1199 * 5.0e-1; _2021 = _2889 * _1616; _2879 = _2878 + _1621; _2880 = _2879 + t1228_2014; _2881 = _2880 + _2015; reassocpow_2886 = __builtin_powi (k_frhoa_1046, 2); _2887 = t767_1588 * 5.06605918211688877050846713245846331119537353515625e-2; _2028 = reassocpow_2886 * _2887; _2029 = _1625 - _2028; _2030 = ((_2029)); _2885 = _1061 * 5.0e-1; _2032 = _2885 * _2030; _2739 = -_2032; _2882 = _2881 + _2021; _2883 = _2882 + _1611; _2884 = _2883 - _2018; trhoarhob_2036 = _2884 - _2032; _2876 = t432_1210 * 2.0e+0; _2038 = _2876 * _1644; _2875 = t429_1206 * 3.0e+0; _2040 = _2875 * t282_1069; _2874 = t105_853 * 3.216396844291481471600491204299032688140869140625e+1; _2042 = _2874 * epsilon_c_unifrhoarhob_1999; _588 = -_2042; _2873 = t286_1072 * 3.0e+0; _2045 = _2873 * t427_1205; _2872 = phirhob_1199 * 1.2e+1; _2048 = _2872 * _1653; _543 = -_2048; _2871 = phirhoarhob_2012 * 3.0e+0; _2051 = _2871 * _1657; _2868 = _2051 - _2048; _2869 = _2868 + _2040; _2870 = _2869 + _2045; _2052 = _2870 - _2042; _2053 = ((_2052)); _2867 = _1077 * t107_856; _2055 = _2867 * _2053; _2056 = _2038 - _2055; _2866 = t432_1210 * t107_856; _2058 = _2866 * _1078; arhoarhob_2059 = _2056 - _2058; _2849 = t119_868 * t297_1083; t1283_2061 = arhoarhob_2059 * _860; _2865 = trhob_1204 * 2.0e+0; t1285_2063 = _2865 * t909_1676; t1286_2064 = arhob_1213 * t_847; t1288_2066 = t1286_2064 * 2.0e+0; _2067 = trhob_1204 * a_858; t1291_2069 = _2067 * 2.0e+0; _2860 = t1288_2066 + t1291_2069; _2861 = _2860 * trhoa_1066; _2864 = t303_1087 * 2.0e+0; t1293_2071 = _2864 * trhoarhob_2036; _2843 = t312_1092 * _869; _2862 = t1285_2063 + t1293_2071; _2863 = _2862 + _2861; _2076 = _2863 + t1283_2061; _2077 = arhob_1213 * _864; _2859 = arhoa_1080 * 2.0e+0; _2079 = _2859 * _2077; _2082 = _1697 * 8.0e+0; _2858 = t314_1094 * 2.0e+0; _2085 = _2858 * arhoarhob_2059; _2857 = _1704 * 8.0e+0; _2088 = _2857 * arhob_1213; _2091 = _1708 * 1.2e+1; _2850 = _2082 + _2091; _2851 = _2850 * trhob_1204; _2856 = t318_1096 * 4.0e+0; _2094 = _2856 * trhoarhob_2036; _2852 = _2088 + _2094; _2853 = _2852 + _2079; _2854 = _2853 + _2851; _2855 = _2854 + _2085; t1327_2095 = _2855 + _2076; _2096 = trhob_1204 * t101_849; _2097 = t299_1085 * _2096; _2098 = _2849 * t445_1219; _2099 = _2098 * trhoa_1066; _2101 = t453_1225 * _1722; _547 = -_2101; _2103 = trhoarhob_2036 * _1290; _2846 = _2103 + _2097; _2847 = _2846 + _2099; _2105 = _1727 * trhob_1204; _2848 = _2847 + _2105; _2106 = _2848 - _2101; _2107 = _2106 * 2.0e+0; _2108 = ((_2076)); _2845 = t119_868 * _869; _2110 = _2845 * _2108; _2112 = _1735 * t453_1225; _2844 = trhob_1204 * 2.0e+0; _2115 = _2844 * _1738; _2750 = -_2115; _2117 = _2843 * t445_1219; _2118 = _2117 * t321_1102; _618 = -_2118; _3359 = _2112 + _2118; _2838 = -_3359; _2842 = t453_1225 * 2.0e+0; _2121 = _2842 * _1746; _2839 = _2121 - _3359; _2840 = _2839 - _2115; _2841 = _2840 + _2107; _2122 = _2841 + _2110; _2123 = t1327_2095 * _1108; _637 = -_2123; t1330_2124 = _2122 - _2123; _2125 = MEM[(real(kind=8)[0:] *)_203][_742]; _2126 = epsilon_cggarhob_1238 + epsilon_cggarhoa_1117; _2128 = _1823 * 6.0e+0; _2130 = t457_1233 * t293_1081; _2837 = phirhoa_1044 * 3.0e+0; _2132 = _2837 * _2130; _2836 = _1816 * 3.0e+0; _2135 = _2836 * phirhoarhob_2012; _2831 = epsilon_c_unifrhoarhob_1999 + _2135; _2832 = _2831 + _2132; _2138 = _1834 * 3.0e+0; _2829 = _2138 + _2128; _2830 = _2829 * phirhob_1199; _2835 = t325_1111 * t110_859; _2141 = _2835 * t1330_2124; _2143 = _1841 * t456_1232; _2748 = -_2143; _2833 = _2832 - _2143; _2834 = _2833 + _2830; _2144 = _2834 + _2141; _2145 = ((_2144)); _2146 = _2145 * my_rho_751; _2147 = _2126 + _2146; _2148 = ((_2147)); _2149 = _2148 * _1815; _2150 = _2149 + _2125; MEM[(real(kind=8)[0:] *)_203][_742] = _2150; _2151 = t519_1328 + t163_932; chirhobrhob_2152 = _2151 * 2.0e+0; reassocpow_2828 = __builtin_powi (chirhob_1163, 2); _2153 = reassocpow_2828; _2155 = t681_1419 * 4.444444444444444197728216749965213239192962646484375e-1; _2827 = chirhobrhob_2152 * 1.3333333333333332593184650249895639717578887939453125e+0; _2157 = _2827 * t71_808; _2160 = t687_1421 * 4.444444444444444197728216749965213239192962646484375e-1; _2823 = _2160 + _2155; _2824 = _2823 * _2153; _2826 = chirhobrhob_2152 * 1.3333333333333332593184650249895639717578887939453125e+0; _2163 = _2826 * t74_811; _648 = -_2163; _2825 = _2157 - _2163; _2164 = _2825 + _2824; _2165 = ((_2164)); frhobrhob_2166 = _2165 * 1.9236610509315361650095610457356087863445281982421875e+0; _2822 = chirhobrhob_2152 * 4.0e+0; _2168 = _2822 * _1480; _1144 = -_2168; _2821 = frhob_1176 * _819; _2171 = _2821 * t410_1182; _2820 = t415_1185 * 4.0e+0; _2174 = _2820 * t411_1183; _2178 = t84_826 * _819; _2819 = t415_1185 * 4.0e+0; _2181 = _2819 * t413_1184; _2797 = _2192 * 2.0e+0; _2796 = _2181 * 2.0e+0; _2800 = _2797 + _2796; _2798 = _2171 * 2.0e+0; _2801 = _2800 + _2798; _2799 = _2174 * 2.0e+0; _2802 = _2801 + _2799; _2818 = _2153 * 1.2e+1; _2186 = _2818 * _1499; _2817 = chirhobrhob_2152 * 4.0e+0; _2189 = _2817 * _1503; _2816 = frhob_1176 * t82_822; _2192 = _2816 * alpha_crhob_1172; _2815 = t407_1179 * 4.0e+0; _2195 = _2815 * t403_1177; _727 = -_2195; _2199 = alpha_c_806 * t82_822; _2794 = _2199 + _2178; _2795 = frhobrhob_2166 * _2794; _2814 = t407_1179 * 4.0e+0; _2202 = _2814 * t405_1178; _1324 = -_2202; _2803 = _2802 - _2202; _1323 = -_2195; _2746 = -_2202; _2804 = _2803 - _2202; _2813 = _2153 * 1.2e+1; _2207 = _2813 * _1566; _682 = -_2207; _2805 = _2804 - _2168; _2806 = _2805 + _2186; _2807 = _2806 + _2189; _2808 = _2807 - _2207; _2809 = _2808 + _2795; _2810 = _2809 - _2195; _2811 = _2810 - _2195; _2812 = _2811 + _1550; epsilon_c_unifrhobrhob_2209 = _2812 + _1479; _2785 = chirhobrhob_2152 * 3.33333333333333314829616256247390992939472198486328125e-1; _2211 = _2785 * t257_1040; _2784 = _2153 * 1.11111111111111104943205418749130330979824066162109375e-1; _2213 = _2784 * t750_1571; _2214 = _2211 - _2213; _2783 = _2153 * 1.11111111111111104943205418749130330979824066162109375e-1; _2216 = _2783 * t755_1572; _2217 = _2214 - _2216; _2782 = chirhobrhob_2152 * 3.33333333333333314829616256247390992939472198486328125e-1; _2219 = _2782 * t259_1041; phirhobrhob_2220 = _2217 - _2219; t1520_2221 = phirhob_1199 * t2_756; _2223 = t775_1591 * phirhob_1199; _2781 = k_srhoa_1049 * 5.0e-1; _2226 = _2781 * t779_1593; _2771 = _2226 + _2223; _2772 = _2771 * t1520_2221; _2229 = _1057 * phirhobrhob_2220; _2230 = _2229 * 5.0e-1; _678 = -_2230; _2774 = t1228_2014 * 2.0e+0; _2773 = t801_1603 * 2.0e+0; _2775 = _2774 + _2773; _2776 = _2775 + t812_1605; _2777 = _2776 + _1621; _2745 = -_1632; _2778 = _2777 + _2021; _2779 = _2778 - _2230; _2780 = _2779 + _2772; trhobrhob_2238 = _2780 - _1632; _2768 = _1639 * 2.0e+0; reassocpow_2767 = __builtin_powi (t432_1210, 2); _2769 = _2768 * t820_1638; _2242 = reassocpow_2767 * _2769; _2766 = t429_1206 * 3.0e+0; _2244 = _2766 * t427_1205; _2765 = t105_853 * 3.216396844291481471600491204299032688140869140625e+1; _2246 = _2765 * epsilon_c_unifrhobrhob_2209; _697 = -_2246; _2757 = _2244 * 2.0e+0; _2762 = t839_1642 * 1.2e+1; reassocpow_2761 = __builtin_powi (phirhob_1199, 2); _2763 = _2762 * t102_850; _2252 = reassocpow_2761 * _2763; _693 = -_2252; _2760 = phirhobrhob_2220 * 3.0e+0; _2255 = _2760 * _1657; _2758 = _2255 + _2757; _2759 = _2758 - _2252; _2256 = _2759 - _2246; _2257 = ((_2256)); _2756 = _1077 * t107_856; _2259 = _2756 * _2257; _2260 = _2242 - _2259; _2755 = t432_1210 * t107_856; _2262 = _2755 * _1211; arhobrhob_2263 = _2260 - _2262; _2754 = trhob_1204 * 2.0e+0; _2265 = _2754 * _1290; _2266 = _1229 + _2265; _2744 = -_1231; t1602_2267 = _2266 - _1231; t1603_2268 = t1602_2267 * t325_1111; t1630_2269 = arhobrhob_2263 * _860; _118 = trhob_1204 * 2.0e+0; t1632_2271 = _118 * t1286_2064; _133 = trhob_1204 * 2.0e+0; t1638_2273 = _133 * _2067; _130 = t303_1087 * 2.0e+0; t1640_2275 = _130 * trhobrhob_2238; _121 = t1632_2271 * 2.0e+0; _124 = t1638_2273 + _121; _127 = _124 + t1640_2275; _2279 = _127 + t1630_2269; _163 = arhob_1213 * 2.0e+0; _2281 = _163 * _2077; _2283 = arhob_1213 * t944_1687; _2285 = _2283 * 8.0e+0; _160 = t314_1094 * 2.0e+0; _2288 = _160 * arhobrhob_2263; _157 = t944_1687 * 8.0e+0; _2292 = _157 * arhob_1213; _2294 = trhob_1204 * t953_1688; _2296 = _2294 * 1.2e+1; _154 = _2292 + _2296; _136 = _154 + _2285; _139 = _136 * trhob_1204; _151 = t318_1096 * 4.0e+0; _2299 = _151 * trhobrhob_2238; _142 = _2281 + _2299; _145 = _142 + _139; _148 = _145 + _2288; t1674_2300 = _148 + _2279; _2301 = t439_1215 * _2096; _248 = t119_868 * t297_1083; _2303 = _248 * t445_1219; _112 = _2303 + _2098; _111 = _112 * trhob_1204; _2306 = _1721 * trhob_1204; _2307 = t453_1225 * _2306; _712 = -_2307; _2309 = trhobrhob_2238 * _1290; _109 = _2309 + _2301; _108 = _109 + _111; _2312 = _108 - _2307; _2313 = _2312 * 2.0e+0; _2314 = ((_2279)); _497 = t119_868 * _869; _2316 = _497 * _2314; _2318 = _2117 * t453_1225; _2320 = t453_1225 * _1721; _500 = trhob_1204 * 2.0e+0; _2322 = _500 * _2320; _2743 = -_2322; _2324 = _1228 * t312_1092; _2325 = _2324 * t453_1225; _723 = -_2325; _3358 = _2318 + _2325; _508 = -_3358; _2327 = t453_1225 * _1745; _501 = t453_1225 * 2.0e+0; _2329 = _501 * _2327; _509 = _2329 - _3358; _510 = _509 - _2322; _511 = _510 + _2313; _2330 = _511 + _2316; _2331 = t1674_2300 * _1108; _528 = -_2331; t1677_2332 = _2330 - _2331; _556 = t966_1753 * t110_859; _2334 = _1239 * t142_898; _2335 = 3.93342367215436325977861997671425342559814453125e+1 / _2334; kf_brhobrhob_2336 = -_2335; _2338 = _1256 * t153_912; _2339 = 1.0e+0 / _2338; _507 = _909 * _1759; t1712_2341 = _507 * _2339; t1713_2342 = s_brhob_1255 * t135_889; _2343 = MEM[(real(kind=8)[0:] *)_205][_742]; _2344 = fx_b_915 * ex_unif_brhob_1243; _2345 = fx_brhob_1261 * ex_unif_b_903; _506 = _2344 * 2.0e+0; _2347 = _2345 + _506; _2348 = _2347 * 2.0e+0; _512 = M.51223_731 * 4.774648292756860090690906872623600065708160400390625e-1; _505 = _512 * kf_brhobrhob_2336; _2352 = _505 * fx_b_915; _2736 = -_2352; _515 = t481_1262 * 2.0e+0; _2355 = _515 * fx_brhob_1261; _538 = _2355 * 2.0e+0; _539 = _538 - _2352; _2357 = _2345 * 2.0e+0; _540 = _539 + _2357; _2359 = _540 + _2348; reassocpow_525 = __builtin_powi (s_brhob_1255, 2); _526 = t477_1258 * 2.0e+0; _2362 = reassocpow_525 * _526; _2363 = t1713_2342 * t1712_2341; _524 = s_brhob_1255 * 8.0e+0; _2365 = _524 * _2363; _1325 = -_2365; _2367 = _1244 * kf_b_900; _2368 = my_norm_drhob_754 / _2367; _527 = kf_brhob_1240 * _2368; _2370 = _527 * t148_906; _2371 = t468_1246 * t472_1248; _520 = _2370 + _2371; _521 = _520 * kf_brhob_1240; _523 = kf_brhobrhob_2336 * 5.0e-1; _2375 = _523 * _1249; _2742 = -_2375; _522 = _521 - _2375; _2377 = _1247 * M.51223_731; _2378 = t147_905 / _2377; _2379 = _522 + _2378; _2380 = ((_2379)); _530 = _2380 * 2.0e+0; _2382 = _530 * _1259; _531 = _2382 + _2362; _2383 = _531 - _2365; _2384 = ((_2383)); _541 = t156_916 * 2.0e+0; _2386 = _541 * _2384; _2387 = _2359 + _2386; _2388 = ((_2387)); _537 = _1766 * 5.0e-1; _2390 = _537 * _2388; _2391 = _2390 + _2343; _536 = phirhob_1199 * 3.0e+0; _2393 = _536 * _1816; _2394 = epsilon_c_unifrhob_1197 + _2393; _2395 = t1603_2268 * t110_859; _2396 = _2394 + _2395; _2397 = _2396 + epsilon_cggarhob_1238; _535 = t858_1668 * 6.0e+0; _2400 = _535 * t436_1214; _542 = t293_1081 * 3.0e+0; _2404 = _542 * t1603_2268; _545 = _1816 * 3.0e+0; _2407 = _545 * phirhobrhob_2220; _553 = epsilon_c_unifrhobrhob_2209 + _2407; _2410 = _2130 * 3.0e+0; _550 = _2404 + _2410; _551 = _550 + _2400; _552 = _551 * phirhob_1199; _546 = t325_1111 * t110_859; _2413 = _546 * t1677_2332; _2415 = _556 * t456_1232; _2416 = _2415 * t1602_2267; _517 = -_2416; _554 = _553 - _2416; _555 = _554 + _552; _2417 = _555 + _2413; _2418 = ((_2417)); _2419 = _2418 * my_rho_751; _2420 = _2397 + _2419; _2421 = ((_2420)); _2422 = _2421 * _1815; _2423 = _2391 + _2422; MEM[(real(kind=8)[0:] *)_205][_742] = _2423; t1739_2424 = t268_1050 * t97_844; t1741_2425 = t95_842 * t273_1053; _561 = t163_932 * 5.0e-1; _557 = t776_1592 * 5.0e-1; _2428 = _557 * t1739_2424; _560 = t1741_2425 * 5.0e-1; _2431 = _560 * t789_1597; _3354 = _2428 + _2431; _2433 = _561 * t488_1280; _3363 = _3354 + _2433; trhoanorm_drho_2434 = -_3363; t1748_2435 = tnorm_drho_1282 * t101_849; t1765_2436 = t909_1676 * tnorm_drho_1282; t1766_2437 = trhoa_1066 * t494_1284; t1767_2438 = trhoanorm_drho_2434 * t303_1087; _571 = t1748_2435 * 2.0e+0; _2440 = _571 * t299_1085; _2441 = _869 * t494_1284; _2442 = _2441 * t119_868; _570 = trhoa_1066 * 4.0e+0; _2444 = _570 * _2442; _569 = t502_1289 * 2.0e+0; _2447 = _569 * _1722; _513 = -_2447; _568 = trhoanorm_drho_2434 * 2.0e+0; _2450 = _568 * _1290; _600 = _2440 + _2450; _601 = _600 + _2444; _591 = _601 - _2447; _567 = tnorm_drho_1282 * 2.0e+0; _2453 = _567 * _1727; _590 = _591 + _2453; _566 = t1766_2437 + t1767_2438; _2456 = _566 + t1765_2436; _2457 = _2456 * 2.0e+0; _2458 = ((_2457)); _565 = t119_868 * _869; _2460 = _565 * _2458; _2462 = _1735 * t502_1289; _2741 = -_2462; _587 = _590 - _2462; _572 = tnorm_drho_1282 * 2.0e+0; _2465 = _572 * _1738; _532 = -_2465; _2467 = t312_1092 * _1292; _575 = _2467 * 2.0e+0; _2469 = _575 * t321_1102; _2740 = -_2469; _580 = _587 - _2469; _576 = t502_1289 * 2.0e+0; _2472 = _576 * _1746; _581 = _580 + _2472; _582 = _581 + _2460; _2473 = _582 - _2465; _2475 = _1697 * 8.0e+0; _2478 = _1708 * 1.2e+1; _583 = _2475 + _2478; _584 = _583 * tnorm_drho_1282; _585 = _2457 + _584; _586 = t318_1096 * 4.0e+0; _2481 = _586 * trhoanorm_drho_2434; _2482 = _585 + _2481; _2483 = ((_2482)); _2484 = _2483 * _1108; _502 = -_2484; t1801_2485 = _2473 - _2484; _2486 = MEM[(real(kind=8)[0:] *)_207][_742]; _2487 = t506_1298 * t293_1081; _599 = phirhoa_1044 * 3.0e+0; _2489 = _599 * _2487; _598 = t325_1111 * t110_859; _2491 = _598 * t1801_2485; _2493 = _1841 * t505_1297; _2737 = -_2493; _597 = _2489 - _2493; _2494 = _597 + _2491; _2495 = ((_2494)); _2496 = _2495 * my_rho_751; _2497 = _2496 + hnorm_drho_1299; _2498 = ((_2497)); _2499 = _2498 * _1815; _2500 = _2499 + _2486; MEM[(real(kind=8)[0:] *)_207][_742] = _2500; _596 = t1520_2221 * 5.0e-1; _2502 = _596 * t1739_2424; _3355 = _2502 + _2431; _3364 = _3355 + _2433; trhobnorm_drho_2505 = -_3364; t1829_2506 = t1286_2064 * tnorm_drho_1282; t1830_2507 = trhob_1204 * t494_1284; t1831_2508 = trhobnorm_drho_2505 * t303_1087; _595 = t1748_2435 * 2.0e+0; _2510 = _595 * t439_1215; _602 = trhob_1204 * 4.0e+0; _2512 = _602 * _2442; _605 = t502_1289 * 2.0e+0; _2515 = _605 * _2306; _498 = -_2515; _606 = trhobnorm_drho_2505 * 2.0e+0; _2518 = _606 * _1290; _632 = _2510 + _2518; _625 = _632 + _2512; _626 = _625 - _2515; _616 = tnorm_drho_1282 * 2.0e+0; _2521 = _616 * _2098; _627 = _626 + _2521; _615 = t1830_2507 + t1831_2508; _2524 = _615 + t1829_2506; _2525 = _2524 * 2.0e+0; _2526 = ((_2525)); _614 = t119_868 * _869; _2528 = _614 * _2526; _2530 = _2117 * t502_1289; _1143 = -_2530; _628 = _627 - _2530; _613 = tnorm_drho_1282 * 2.0e+0; _2533 = _613 * _2320; _1142 = -_2533; _612 = _2467 * 2.0e+0; _2536 = _612 * t453_1225; _667 = -_2536; _629 = _628 - _2536; _611 = t502_1289 * 2.0e+0; _2539 = _611 * _2327; _630 = _629 + _2539; _631 = _630 + _2528; _2540 = _631 - _2533; _2542 = _2283 * 8.0e+0; _2545 = _2294 * 1.2e+1; _621 = _2542 + _2545; _620 = _621 * tnorm_drho_1282; _617 = _2525 + _620; _610 = t318_1096 * 4.0e+0; _2548 = _610 * trhobnorm_drho_2505; _2549 = _617 + _2548; _2550 = ((_2549)); _2551 = _2550 * _1108; _2734 = -_2551; t1865_2552 = _2540 - _2551; _2553 = MEM[(real(kind=8)[0:] *)_209][_742]; _635 = phirhob_1199 * 3.0e+0; _2555 = _635 * _2487; _636 = t325_1111 * t110_859; _2557 = _636 * t1865_2552; _2559 = _2415 * t505_1297; _663 = -_2559; _646 = _2555 - _2559; _2560 = _646 + _2557; _2561 = ((_2560)); _2562 = _2561 * my_rho_751; _2563 = _2562 + hnorm_drho_1299; _2564 = ((_2563)); _2565 = _2564 * _1815; _2566 = _2565 + _2553; MEM[(real(kind=8)[0:] *)_209][_742] = _2566; reassocpow_645 = __builtin_powi (tnorm_drho_1282, 2); _2567 = reassocpow_645; t1876_2568 = _2567 * a_858; _2571 = MEM[(real(kind=8)[0:] *)_189][_742]; _2572 = my_rho_751 * _1815; _643 = t101_849 * 2.0e+0; _644 = _643 * _2567; _2576 = _644 * t113_862; _2577 = _869 * t1876_2568; _2579 = _2577 * 1.0e+1; _656 = _2579 + _2576; _657 = _656 * t119_868; _641 = tnorm_drho_1282 * 4.0e+0; _642 = _641 * t502_1289; _2583 = _642 * _1721; _638 = -_2583; _640 = t502_1289 * 4.0e+0; _2586 = _640 * _2467; _720 = -_2586; reassocpow_651 = __builtin_powi (t502_1289, 2); _650 = _1745 * 2.0e+0; _2589 = reassocpow_651 * _650; _658 = _2589 - _2586; _659 = _658 + _657; _2591 = t1876_2568 * 2.0e+0; _661 = _2567 * 1.2e+1; _2593 = _661 * t953_1688; _2594 = _2593 + _2591; _2595 = ((_2594)); _2596 = _1108 * _2595; _721 = -_2596; _660 = _659 - _2596; _2597 = _660 - _2583; _2598 = ((_2597)); _655 = t325_1111 * t110_859; _2600 = _655 * _2598; reassocpow_666 = __builtin_powi (t505_1297, 2); _665 = t966_1753 * t110_859; _2602 = reassocpow_666 * _665; _2603 = _2600 - _2602; _2604 = ((_2603)); _2605 = _2572 * _2604; _2606 = _2605 + _2571; MEM[(real(kind=8)[0:] *)_189][_742] = _2606; _2607 = MEM[(real(kind=8)[0:] *)_185][_742]; _711 = -_880; _2608 = t350_1141 - _880; _2609 = fx_anorm_drhoa_717 * _2608; _675 = s_arhoa_1134 * 2.0e+0; _676 = _675 * t346_1137; _2612 = _676 * s_anorm_drhoa_716; _674 = _1786 * 8.0e+0; _2614 = _674 * s_anorm_drhoa_716; _710 = -_2614; _2615 = _2612 - _2614; _672 = t131_884 * 5.0e-1; _673 = _672 * kf_arhoa_1119; _2618 = _673 * t336_1124; _671 = t341_1127 * 5.0e-1; _2621 = _671 * t129_882; _3356 = _2618 + _2621; _2622 = -_3356; _2623 = ((_2622)); _670 = _2623 * 2.0e+0; _2625 = _670 * _1138; _2626 = _2615 + _2625; _2627 = ((_2626)); _2628 = _2627 * t140_897; _2629 = _2628 + _2609; _2630 = _2629 * 2.0e+0; _2631 = ((_2630)); _677 = _1766 * 5.0e-1; _2633 = _677 * _2631; _2634 = _2633 + _2607; MEM[(real(kind=8)[0:] *)_185][_742] = _2634; reassocpow_680 = __builtin_powi (s_anorm_drhoa_716, 2); _2635 = reassocpow_680; _2636 = MEM[(real(kind=8)[0:] *)_191][_742]; _2637 = t140_897 * _1766; _681 = t346_1137 * 2.0e+0; _2639 = _681 * _2635; _690 = t135_889 * 8.0e+0; _691 = _690 * t1000_1763; _2642 = _691 * _2635; _2643 = _2639 - _2642; _2644 = ((_2643)); _2645 = _2637 * _2644; _2646 = _2645 + _2636; MEM[(real(kind=8)[0:] *)_191][_742] = _2646; _2647 = MEM[(real(kind=8)[0:] *)_187][_742]; _707 = -_902; _2648 = t481_1262 - _902; _2649 = fx_bnorm_drhob_719 * _2648; _688 = s_brhob_1255 * 2.0e+0; _689 = _688 * t477_1258; _2652 = _689 * s_bnorm_drhob_718; _687 = _2363 * 8.0e+0; _2654 = _687 * s_bnorm_drhob_718; _700 = -_2654; _2655 = _2652 - _2654; _685 = t148_906 * 5.0e-1; _686 = _685 * kf_brhob_1240; _2658 = _686 * t467_1245; _692 = t472_1248 * 5.0e-1; _2661 = _692 * t146_904; _3357 = _2658 + _2661; _2662 = -_3357; _2663 = ((_2662)); _695 = _2663 * 2.0e+0; _2665 = _695 * _1259; _2666 = _2655 + _2665; _2667 = ((_2666)); _2668 = _2667 * t156_916; _2669 = _2668 + _2649; _2670 = _2669 * 2.0e+0; _2671 = ((_2670)); _696 = _1766 * 5.0e-1; _2673 = _696 * _2671; _2674 = _2673 + _2647; MEM[(real(kind=8)[0:] *)_187][_742] = _2674; reassocpow_706 = __builtin_powi (s_bnorm_drhob_718, 2); _2675 = reassocpow_706; _2676 = MEM[(real(kind=8)[0:] *)_193][_742]; _2677 = t156_916 * _1766; _705 = t477_1258 * 2.0e+0; _2679 = _705 * _2675; _703 = t135_889 * 8.0e+0; _704 = _703 * t1712_2341; _2682 = _704 * _2675; _2683 = _2679 - _2682; _2684 = ((_2683)); _2685 = _2677 * _2684; _2686 = _2685 + _2676; MEM[(real(kind=8)[0:] *)_193][_742] = _2686; ;; succ: 128 ;; basic block 128, loop depth 1 ;; pred: 117 ;; 126 ;; 127 ii_2687 = ii_740 + 1; if (_34 == ii_740) goto <bb 129>; else goto <bb 117>; ;; succ: 129 ;; 117 ;; basic block 129, loop depth 0 ;; pred: 128 ;; 116 _58 = rhoa.data; if (_58 != _169) goto <bb 130>; else goto <bb 131>; ;; succ: 130 ;; 131 ;; basic block 130, loop depth 0 ;; pred: 129 __builtin_free (_169); ;; succ: 131 ;; basic block 131, loop depth 0 ;; pred: 129 ;; 130 _59 = rhob.data; if (_59 != _171) goto <bb 132>; else goto <bb 133>; ;; succ: 132 ;; 133 ;; basic block 132, loop depth 0 ;; pred: 131 __builtin_free (_171); ;; succ: 133 ;; basic block 133, loop depth 0 ;; pred: 131 ;; 132 _60 = norm_drho.data; if (_60 != _173) goto <bb 134>; else goto <bb 135>; ;; succ: 134 ;; 135 ;; basic block 134, loop depth 0 ;; pred: 133 __builtin_free (_173); ;; succ: 135 ;; basic block 135, loop depth 0 ;; pred: 133 ;; 134 _61 = norm_drhoa.data; if (_61 != _175) goto <bb 136>; else goto <bb 137>; ;; succ: 136 ;; 137 ;; basic block 136, loop depth 0 ;; pred: 135 __builtin_free (_175); ;; succ: 137 ;; basic block 137, loop depth 0 ;; pred: 135 ;; 136 _62 = norm_drhob.data; if (_62 != _177) goto <bb 138>; else goto <bb 139>; ;; succ: 138 ;; 139 ;; basic block 138, loop depth 0 ;; pred: 137 __builtin_free (_177); ;; succ: 139 ;; basic block 139, loop depth 0 ;; pred: 137 ;; 138 _63 = e_0.data; if (_63 != _179) goto <bb 140>; else goto <bb 141>; ;; succ: 140 ;; 141 ;; basic block 140, loop depth 0 ;; pred: 139 _gfortran_internal_unpack (&e_0, _179); __builtin_free (_179); ;; succ: 141 ;; basic block 141, loop depth 0 ;; pred: 139 ;; 140 _64 = e_ra.data; if (_64 != _181) goto <bb 142>; else goto <bb 143>; ;; succ: 142 ;; 143 ;; basic block 142, loop depth 0 ;; pred: 141 _gfortran_internal_unpack (&e_ra, _181); __builtin_free (_181); ;; succ: 143 ;; basic block 143, loop depth 0 ;; pred: 141 ;; 142 _65 = e_rb.data; if (_65 != _183) goto <bb 144>; else goto <bb 145>; ;; succ: 144 ;; 145 ;; basic block 144, loop depth 0 ;; pred: 143 _gfortran_internal_unpack (&e_rb, _183); __builtin_free (_183); ;; succ: 145 ;; basic block 145, loop depth 0 ;; pred: 143 ;; 144 _66 = e_ndra_ra.data; if (_66 != _185) goto <bb 146>; else goto <bb 147>; ;; succ: 146 ;; 147 ;; basic block 146, loop depth 0 ;; pred: 145 _gfortran_internal_unpack (&e_ndra_ra, _185); __builtin_free (_185); ;; succ: 147 ;; basic block 147, loop depth 0 ;; pred: 145 ;; 146 _67 = e_ndrb_rb.data; if (_67 != _187) goto <bb 148>; else goto <bb 149>; ;; succ: 148 ;; 149 ;; basic block 148, loop depth 0 ;; pred: 147 _gfortran_internal_unpack (&e_ndrb_rb, _187); __builtin_free (_187); ;; succ: 149 ;; basic block 149, loop depth 0 ;; pred: 147 ;; 148 _68 = e_ndr_ndr.data; if (_68 != _189) goto <bb 150>; else goto <bb 151>; ;; succ: 150 ;; 151 ;; basic block 150, loop depth 0 ;; pred: 149 _gfortran_internal_unpack (&e_ndr_ndr, _189); __builtin_free (_189); ;; succ: 151 ;; basic block 151, loop depth 0 ;; pred: 149 ;; 150 _69 = e_ndra_ndra.data; if (_69 != _191) goto <bb 152>; else goto <bb 153>; ;; succ: 152 ;; 153 ;; basic block 152, loop depth 0 ;; pred: 151 _gfortran_internal_unpack (&e_ndra_ndra, _191); __builtin_free (_191); ;; succ: 153 ;; basic block 153, loop depth 0 ;; pred: 151 ;; 152 _70 = e_ndrb_ndrb.data; if (_70 != _193) goto <bb 154>; else goto <bb 155>; ;; succ: 154 ;; 155 ;; basic block 154, loop depth 0 ;; pred: 153 _gfortran_internal_unpack (&e_ndrb_ndrb, _193); __builtin_free (_193); ;; succ: 155 ;; basic block 155, loop depth 0 ;; pred: 153 ;; 154 _71 = e_ndr.data; if (_71 != _195) goto <bb 156>; else goto <bb 157>; ;; succ: 156 ;; 157 ;; basic block 156, loop depth 0 ;; pred: 155 _gfortran_internal_unpack (&e_ndr, _195); __builtin_free (_195); ;; succ: 157 ;; basic block 157, loop depth 0 ;; pred: 155 ;; 156 _72 = e_ndra.data; if (_72 != _197) goto <bb 158>; else goto <bb 159>; ;; succ: 158 ;; 159 ;; basic block 158, loop depth 0 ;; pred: 157 _gfortran_internal_unpack (&e_ndra, _197); __builtin_free (_197); ;; succ: 159 ;; basic block 159, loop depth 0 ;; pred: 157 ;; 158 _73 = e_ndrb.data; if (_73 != _199) goto <bb 160>; else goto <bb 161>; ;; succ: 160 ;; 161 ;; basic block 160, loop depth 0 ;; pred: 159 _gfortran_internal_unpack (&e_ndrb, _199); __builtin_free (_199); ;; succ: 161 ;; basic block 161, loop depth 0 ;; pred: 159 ;; 160 _74 = e_ra_ra.data; if (_74 != _201) goto <bb 162>; else goto <bb 163>; ;; succ: 162 ;; 163 ;; basic block 162, loop depth 0 ;; pred: 161 _gfortran_internal_unpack (&e_ra_ra, _201); __builtin_free (_201); ;; succ: 163 ;; basic block 163, loop depth 0 ;; pred: 161 ;; 162 _75 = e_ra_rb.data; if (_75 != _203) goto <bb 164>; else goto <bb 165>; ;; succ: 164 ;; 165 ;; basic block 164, loop depth 0 ;; pred: 163 _gfortran_internal_unpack (&e_ra_rb, _203); __builtin_free (_203); ;; succ: 165 ;; basic block 165, loop depth 0 ;; pred: 163 ;; 164 _76 = e_rb_rb.data; if (_76 != _205) goto <bb 166>; else goto <bb 167>; ;; succ: 166 ;; 167 ;; basic block 166, loop depth 0 ;; pred: 165 _gfortran_internal_unpack (&e_rb_rb, _205); __builtin_free (_205); ;; succ: 167 ;; basic block 167, loop depth 0 ;; pred: 165 ;; 166 _77 = e_ndr_ra.data; if (_77 != _207) goto <bb 168>; else goto <bb 169>; ;; succ: 168 ;; 169 ;; basic block 168, loop depth 0 ;; pred: 167 _gfortran_internal_unpack (&e_ndr_ra, _207); __builtin_free (_207); ;; succ: 169 ;; basic block 169, loop depth 0 ;; pred: 167 ;; 168 _78 = e_ndr_rb.data; if (_78 != _209) goto <bb 170>; else goto <bb 171>; ;; succ: 170 ;; 171 ;; basic block 170, loop depth 0 ;; pred: 169 _gfortran_internal_unpack (&e_ndr_rb, _209); __builtin_free (_209); ;; succ: 171 ;; basic block 171, loop depth 0 ;; pred: 169 ;; 170 timestop_hook.111875_2689 = timestop_hook; if (timestop_hook.111875_2689 != 0B) goto <bb 172>; else goto <bb 173>; ;; succ: 172 ;; 173 ;; basic block 172, loop depth 0 ;; pred: 171 timestop_hook.111875_2689 (&handle); goto <bb 175>; ;; succ: 175 ;; basic block 173, loop depth 0 ;; pred: 171 _2690 = handle; if (_2690 != -1) goto <bb 174>; else goto <bb 175>; ;; succ: 174 ;; 175 ;; basic block 174, loop depth 0 ;; pred: 173 __base_hooks_MOD_timestop.part.53 (&handle); ;; succ: ;; basic block 175, loop depth 0 ;; pred: 173 ;; 172 bo ={v} {CLOBBER}; e_0 ={v} {CLOBBER}; e_ndr ={v} {CLOBBER}; e_ndr_ndr ={v} {CLOBBER}; e_ndr_ra ={v} {CLOBBER}; e_ndr_rb ={v} {CLOBBER}; e_ndra ={v} {CLOBBER}; e_ndra_ndra ={v} {CLOBBER}; e_ndra_ra ={v} {CLOBBER}; e_ndrb ={v} {CLOBBER}; e_ndrb_ndrb ={v} {CLOBBER}; e_ndrb_rb ={v} {CLOBBER}; e_ra ={v} {CLOBBER}; e_ra_ra ={v} {CLOBBER}; e_ra_rb ={v} {CLOBBER}; e_rb ={v} {CLOBBER}; e_rb_rb ={v} {CLOBBER}; epsilon_rho ={v} {CLOBBER}; handle ={v} {CLOBBER}; norm_drho ={v} {CLOBBER}; norm_drhoa ={v} {CLOBBER}; norm_drhob ={v} {CLOBBER}; param ={v} {CLOBBER}; rhoa ={v} {CLOBBER}; rhob ={v} {CLOBBER}; scale_ec ={v} {CLOBBER}; scale_ex ={v} {CLOBBER}; return; ;; succ: EXIT ;; basic block 176, loop depth 1 ;; pred: 124 _3223 = t131_884 * 5.0e-1; s_anorm_drhoa_563 = _3223 * t129_882; _3222 = s_anorm_drhoa_563 * 2.0e+0; fx_anorm_drhoa_533 = _3222 * _1138; _3221 = t148_906 * 5.0e-1; s_bnorm_drhob_725 = _3221 * t146_904; _3220 = s_bnorm_drhob_725 * 2.0e+0; fx_bnorm_drhob_715 = _3220 * _1259; goto <bb 126>; ;; succ: 126 } cp2k_single_file.f90:455476:0: internal compiler error: verify_ssa failed 0xe0c6b9 verify_ssa(bool, bool) ../../gcc/gcc/tree-ssa.c:1041 0xb456ed execute_function_todo ../../gcc/gcc/passes.c:1971 0xb4602b execute_todo ../../gcc/gcc/passes.c:2016 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71269.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71269.c index e69de29..4dceaaa 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr71269.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71269.c @@ -0,0 +1,10 @@ +/* PR middle-end/71269 */ +/* { dg-do compile } */ +/* { dg-options "-O1" } */ + +int a, b, c; +void fn2 (int); +void fn1 () +{ + fn2 (sizeof 0 + c + a + b + b); +} diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index c9ed679..db6ac6b 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -3764,11 +3764,9 @@ swap_ops_for_binary_stmt (vec<operand_entry *> ops, && !is_phi_for_stmt (stmt, oe1->op) && !is_phi_for_stmt (stmt, oe2->op))) { - operand_entry temp = *oe3; - oe3->op = oe1->op; - oe3->rank = oe1->rank; - oe1->op = temp.op; - oe1->rank= temp.rank; + std::swap (oe1->op, oe3->op); + std::swap (oe1->rank, oe3->rank); + std::swap (oe1->stmt_to_insert, oe3->stmt_to_insert); } else if ((oe1->rank == oe3->rank && oe2->rank != oe3->rank) @@ -3776,11 +3774,9 @@ swap_ops_for_binary_stmt (vec<operand_entry *> ops, && !is_phi_for_stmt (stmt, oe1->op) && !is_phi_for_stmt (stmt, oe3->op))) { - operand_entry temp = *oe2; - oe2->op = oe1->op; - oe2->rank = oe1->rank; - oe1->op = temp.op; - oe1->rank = temp.rank; + std::swap (oe1->op, oe2->op); + std::swap (oe1->rank, oe2->rank); + std::swap (oe1->stmt_to_insert, oe2->stmt_to_insert); } } @@ -3790,6 +3786,42 @@ swap_ops_for_binary_stmt (vec<operand_entry *> ops, static inline gimple * find_insert_point (gimple *stmt, tree rhs1, tree rhs2) { + /* If rhs1 is defined by stmt_to_insert, insert after its argument + definion stmt. */ + if (TREE_CODE (rhs1) == SSA_NAME + && !gimple_nop_p (SSA_NAME_DEF_STMT (rhs1)) + && !gimple_bb (SSA_NAME_DEF_STMT (rhs1))) + { + gimple *stmt1 = SSA_NAME_DEF_STMT (rhs1); + gcc_assert (is_gimple_assign (stmt1)); + tree rhs11 = gimple_assign_rhs1 (stmt1); + tree rhs12 = gimple_assign_rhs2 (stmt1); + if (TREE_CODE (rhs11) == SSA_NAME + && reassoc_stmt_dominates_stmt_p (stmt, SSA_NAME_DEF_STMT (rhs11))) + stmt = SSA_NAME_DEF_STMT (rhs11); + if (TREE_CODE (rhs12) == SSA_NAME + && reassoc_stmt_dominates_stmt_p (stmt, SSA_NAME_DEF_STMT (rhs12))) + stmt = SSA_NAME_DEF_STMT (rhs12); + } + + /* If rhs2 is defined by stmt_to_insert, insert after its argument + definion stmt. */ + if (TREE_CODE (rhs2) == SSA_NAME + && !gimple_nop_p (SSA_NAME_DEF_STMT (rhs2)) + && !gimple_bb (SSA_NAME_DEF_STMT (rhs2))) + { + gimple *stmt1 = SSA_NAME_DEF_STMT (rhs2); + gcc_assert (is_gimple_assign (stmt1)); + tree rhs11 = gimple_assign_rhs1 (stmt1); + tree rhs12 = gimple_assign_rhs2 (stmt1); + if (TREE_CODE (rhs11) == SSA_NAME + && reassoc_stmt_dominates_stmt_p (stmt, SSA_NAME_DEF_STMT (rhs11))) + stmt = SSA_NAME_DEF_STMT (rhs11); + if (TREE_CODE (rhs12) == SSA_NAME + && reassoc_stmt_dominates_stmt_p (stmt, SSA_NAME_DEF_STMT (rhs12))) + stmt = SSA_NAME_DEF_STMT (rhs12); + } + if (TREE_CODE (rhs1) == SSA_NAME && reassoc_stmt_dominates_stmt_p (stmt, SSA_NAME_DEF_STMT (rhs1))) stmt = SSA_NAME_DEF_STMT (rhs1); @@ -3843,12 +3875,6 @@ rewrite_expr_tree (gimple *stmt, unsigned int opindex, { gimple *insert_point = find_insert_point (stmt, oe1->op, oe2->op); - /* If the stmt that defines operand has to be inserted, insert it - before the use. */ - if (oe1->stmt_to_insert) - insert_stmt_before_use (stmt, oe1->stmt_to_insert); - if (oe2->stmt_to_insert) - insert_stmt_before_use (stmt, oe2->stmt_to_insert); lhs = make_ssa_name (TREE_TYPE (lhs)); stmt = gimple_build_assign (lhs, gimple_assign_rhs_code (stmt), @@ -3864,17 +3890,17 @@ rewrite_expr_tree (gimple *stmt, unsigned int opindex, { gcc_checking_assert (find_insert_point (stmt, oe1->op, oe2->op) == stmt); - /* If the stmt that defines operand has to be inserted, insert it - before the use. */ - if (oe1->stmt_to_insert) - insert_stmt_before_use (stmt, oe1->stmt_to_insert); - if (oe2->stmt_to_insert) - insert_stmt_before_use (stmt, oe2->stmt_to_insert); gimple_assign_set_rhs1 (stmt, oe1->op); gimple_assign_set_rhs2 (stmt, oe2->op); update_stmt (stmt); } + /* If the stmt that defines operand has to be inserted, insert it + before the use after the stmt is inserted. */ + if (oe1->stmt_to_insert) + insert_stmt_before_use (stmt, oe1->stmt_to_insert); + if (oe2->stmt_to_insert) + insert_stmt_before_use (stmt, oe2->stmt_to_insert); if (rhs1 != oe1->op && rhs1 != oe2->op) remove_visited_stmt_chain (rhs1); @@ -3893,11 +3919,6 @@ rewrite_expr_tree (gimple *stmt, unsigned int opindex, /* Rewrite the next operator. */ oe = ops[opindex]; - /* If the stmt that defines operand has to be inserted, insert it - before the use. */ - if (oe->stmt_to_insert) - insert_stmt_before_use (stmt, oe->stmt_to_insert); - /* Recurse on the LHS of the binary operator, which is guaranteed to be the non-leaf side. */ tree new_rhs1 @@ -3944,6 +3965,10 @@ rewrite_expr_tree (gimple *stmt, unsigned int opindex, update_stmt (stmt); } + /* If the stmt that defines operand has to be inserted, insert it + before the use after the use_stmt is inserted. */ + if (oe->stmt_to_insert) + insert_stmt_before_use (stmt, oe->stmt_to_insert); if (dump_file && (dump_flags & TDF_DETAILS)) { fprintf (dump_file, " into "); @@ -4115,24 +4140,41 @@ rewrite_expr_tree_parallel (gassign *stmt, int width, { /* If the stmt that defines operand has to be inserted, insert it before the use. */ - if (stmt1) - insert_stmt_before_use (stmts[i], stmt1); - if (stmt2) - insert_stmt_before_use (stmts[i], stmt2); gimple_assign_set_rhs1 (stmts[i], op1); gimple_assign_set_rhs2 (stmts[i], op2); update_stmt (stmts[i]); } else { + /* PR71252: stmt_to_insert has to be inserted after use stmt created + by build_and_add_sum. However if the other operand doesnt have define-stmt + or is defined by GIMPLE_NOP, we have to insert it first. */ + if (stmt1 + && (TREE_CODE (op2) != SSA_NAME + || !gimple_bb (SSA_NAME_DEF_STMT (op2)) + || gimple_nop_p (SSA_NAME_DEF_STMT (op2)))) + { + insert_stmt_before_use (stmts[i], stmt1); + stmt1 = NULL; + } + if (stmt2 + && (TREE_CODE (op1) != SSA_NAME + || !gimple_bb (SSA_NAME_DEF_STMT (op1)) + || gimple_nop_p (SSA_NAME_DEF_STMT (op1)))) + { + insert_stmt_before_use (stmts[i], stmt2); + stmt2 = NULL; + } stmts[i] = build_and_add_sum (TREE_TYPE (last_rhs1), op1, op2, opcode); - /* If the stmt that defines operand has to be inserted, insert it - before new build_and_add stmt after it is created. */ - if (stmt1) - insert_stmt_before_use (stmts[i], stmt1); - if (stmt2) - insert_stmt_before_use (stmts[i], stmt2); } + + /* If the stmt that defines operand has to be inserted, insert it + before new use stmt after it is created. */ + if (stmt1) + insert_stmt_before_use (stmts[i], stmt1); + if (stmt2) + insert_stmt_before_use (stmts[i], stmt2); + stmt1 = stmt2 = NULL; if (dump_file && (dump_flags & TDF_DETAILS)) { fprintf (dump_file, " into "); @@ -5312,15 +5354,15 @@ reassociate_bb (basic_block bb) { tree last_op = ops.last ()->op; - /* If the stmt that defines operand has to be inserted, insert it - before the use. */ - if (ops.last ()->stmt_to_insert) - insert_stmt_before_use (stmt, ops.last ()->stmt_to_insert); if (powi_result) transform_stmt_to_multiply (&gsi, stmt, last_op, powi_result); else transform_stmt_to_copy (&gsi, stmt, last_op); + /* If the stmt that defines operand has to be inserted, insert it + before the use. */ + if (ops.last ()->stmt_to_insert) + insert_stmt_before_use (stmt, ops.last ()->stmt_to_insert); } else {