void Root123(int n, double X, double roots[], double weights[]) {
  double R12, PIE4, R22, W22, R13, R23, W23, R33, W33;
  double RT1 = 0, RT2 = 0, RT3 = 0, WW1 = 0, WW2 = 0, WW3 = 0;
  double F1, F2, E, T1, T2, T3, A1, A2, Y;
  R12 = 2.75255128608411E-01;
  PIE4 = 7.85398163397448E-01;
  R22 = 2.72474487139158E+00;
  W22 = 9.17517095361369E-02;
  R13 = 1.90163509193487E-01;
  R23 = 1.78449274854325E+00;
  W23 = 1.77231492083829E-01;
  R33 = 5.52534374226326E+00;
  W33 = 5.11156880411248E-03;
  if (X < 3.e-7) {
    if (n == 1) {
      RT1 = 0.5E+00 - X / 5.0E+00;
      WW1 = 1.0E+00 - X / 3.0E+00;
    } else if (n == 2) {
      RT1 = 1.30693606237085E-01 - 2.90430236082028E-02 * X;
      RT2 = 2.86930639376291E+00 - 6.37623643058102E-01 * X;
      WW1 = 6.52145154862545E-01 - 1.22713621927067E-01 * X;
      WW2 = 3.47854845137453E-01 - 2.10619711404725E-01 * X;
    } else if (n == 3) {
      RT1 = 6.03769246832797E-02 - 9.28875764357368E-03 * X;
      RT2 = 7.76823355931043E-01 - 1.19511285527878E-01 * X;
      RT3 = 6.66279971938567E+00 - 1.02504611068957E+00 * X;
      WW1 = 4.67913934572691E-01 - 5.64876917232519E-02 * X;
      WW2 = 3.60761573048137E-01 - 1.49077186455208E-01 * X;
      WW3 = 1.71324492379169E-01 - 1.27768455150979E-01 * X;
    }
  } else if (X < 1.) {
    if (n == 1) {
      F1 = ((((((((-8.36313918003957E-08 * X + 1.21222603512827E-06) * X -
                  1.15662609053481E-05) *
                     X +
                 9.25197374512647E-05) *
                    X -
                6.40994113129432E-04) *
                   X +
               3.78787044215009E-03) *
                  X -
              1.85185172458485E-02) *
                 X +
             7.14285713298222E-02) *
                X -
            1.99999999997023E-01) *
               X +
           3.33333333333318E-01;
      WW1 = (X + X) * F1 + exp(-X);
      RT1 = F1 / (WW1 - F1);
    } else if (n == 2) {
      F1 = ((((((((-8.36313918003957E-08 * X + 1.21222603512827E-06) * X -
                  1.15662609053481E-05) *
                     X +
                 9.25197374512647E-05) *
                    X -
                6.40994113129432E-04) *
                   X +
               3.78787044215009E-03) *
                  X -
              1.85185172458485E-02) *
                 X +
             7.14285713298222E-02) *
                X -
            1.99999999997023E-01) *
               X +
           3.33333333333318E-01;
      WW1 = (X + X) * F1 + exp(-X);
      RT1 = (((((((-2.35234358048491E-09 * X + 2.49173650389842E-08) * X -
                  4.558315364581E-08) *
                     X -
                 2.447252174587E-06) *
                    X +
                4.743292959463E-05) *
                   X -
               5.33184749432408E-04) *
                  X +
              4.44654947116579E-03) *
                 X -
             2.90430236084697E-02) *
                X +
            1.30693606237085E-01;
      RT2 = (((((((-2.47404902329170E-08 * X + 2.36809910635906E-07) * X +
                  1.835367736310E-06) *
                     X -
                 2.066168802076E-05) *
                    X -
                1.345693393936E-04) *
                   X -
               5.88154362858038E-05) *
                  X +
              5.32735082098139E-02) *
                 X -
             6.37623643056745E-01) *
                X +
            2.86930639376289E+00;
      WW2 = ((F1 - WW1) * RT1 + F1) * (1.0E+00 + RT2) / (RT2 - RT1);
      WW1 = WW1 - WW2;
    } else if (n == 3) {
      RT1 = ((((((-5.10186691538870E-10 * X + 2.40134415703450E-08) * X -
                 5.01081057744427E-07) *
                    X +
                7.58291285499256E-06) *
                   X -
               9.55085533670919E-05) *
                  X +
              1.02893039315878E-03) *
                 X -
             9.28875764374337E-03) *
                X +
            6.03769246832810E-02;
      RT2 = ((((((-1.29646524960555E-08 * X + 7.74602292865683E-08) * X +
                 1.56022811158727E-06) *
                    X -
                1.58051990661661E-05) *
                   X -
               3.30447806384059E-04) *
                  X +
              9.74266885190267E-03) *
                 X -
             1.19511285526388E-01) *
                X +
            7.76823355931033E-01;
      RT3 = ((((((-9.28536484109606E-09 * X - 3.02786290067014E-07) * X -
                 2.50734477064200E-06) *
                    X -
                7.32728109752881E-06) *
                   X +
               2.44217481700129E-04) *
                  X +
              4.94758452357327E-02) *
                 X -
             1.02504611065774E+00) *
                X +
            6.66279971938553E+00;
      F2 = ((((((((-7.60911486098850E-08 * X + 1.09552870123182E-06) * X -
                  1.03463270693454E-05) *
                     X +
                 8.16324851790106E-05) *
                    X -
                5.55526624875562E-04) *
                   X +
               3.20512054753924E-03) *
                  X -
              1.51515139838540E-02) *
                 X +
             5.55555554649585E-02) *
                X -
            1.42857142854412E-01) *
               X +
           1.99999999999986E-01;
      E = exp(-X);
      F1 = ((X + X) * F2 + E) / 3.0E+00;
      WW1 = (X + X) * F1 + E;
      T1 = RT1 / (RT1 + 1.0E+00);
      T2 = RT2 / (RT2 + 1.0E+00);
      T3 = RT3 / (RT3 + 1.0E+00);
      A2 = F2 - T1 * F1;
      A1 = F1 - T1 * WW1;
      WW3 = (A2 - T2 * A1) / ((T3 - T2) * (T3 - T1));
      WW2 = (T3 * A1 - A2) / ((T3 - T2) * (T2 - T1));
      WW1 = WW1 - WW2 - WW3;
    }
  } else if (X < 3.) {
    Y = X - 2.0E+00;
    if (n == 1) {
      F1 = ((((((((((-1.61702782425558E-10 * Y + 1.96215250865776E-09) * Y -
                    2.14234468198419E-08) *
                       Y +
                   2.17216556336318E-07) *
                      Y -
                  1.98850171329371E-06) *
                     Y +
                 1.62429321438911E-05) *
                    Y -
                1.16740298039895E-04) *
                   Y +
               7.24888732052332E-04) *
                  Y -
              3.79490003707156E-03) *
                 Y +
             1.61723488664661E-02) *
                Y -
            5.29428148329736E-02) *
               Y +
           1.15702180856167E-01;
      WW1 = (X + X) * F1 + exp(-X);
      RT1 = F1 / (WW1 - F1);
    } else if (n == 2) {
      F1 = ((((((((((-1.61702782425558E-10 * Y + 1.96215250865776E-09) * Y -
                    2.14234468198419E-08) *
                       Y +
                   2.17216556336318E-07) *
                      Y -
                  1.98850171329371E-06) *
                     Y +
                 1.62429321438911E-05) *
                    Y -
                1.16740298039895E-04) *
                   Y +
               7.24888732052332E-04) *
                  Y -
              3.79490003707156E-03) *
                 Y +
             1.61723488664661E-02) *
                Y -
            5.29428148329736E-02) *
               Y +
           1.15702180856167E-01;
      WW1 = (X + X) * F1 + exp(-X);
      RT1 = (((((((((-6.36859636616415E-12 * Y + 8.47417064776270E-11) * Y -
                    5.152207846962E-10) *
                       Y -
                   3.846389873308E-10) *
                      Y +
                  8.472253388380E-08) *
                     Y -
                 1.85306035634293E-06) *
                    Y +
                2.47191693238413E-05) *
                   Y -
               2.49018321709815E-04) *
                  Y +
              2.19173220020161E-03) *
                 Y -
             1.63329339286794E-02) *
                Y +
            8.68085688285261E-02;
      RT2 = (((((((((1.45331350488343E-10 * Y + 2.07111465297976E-09) * Y -
                    1.878920917404E-08) *
                       Y -
                   1.725838516261E-07) *
                      Y +
                  2.247389642339E-06) *
                     Y +
                 9.76783813082564E-06) *
                    Y -
                1.93160765581969E-04) *
                   Y -
               1.58064140671893E-03) *
                  Y +
              4.85928174507904E-02) *
                 Y -
             4.30761584997596E-01) *
                Y +
            1.80400974537950E+00;
      WW2 = ((F1 - WW1) * RT1 + F1) * (1.0E+00 + RT2) / (RT2 - RT1);
      WW1 = WW1 - WW2;
    } else if (n == 3) {
      RT1 = ((((((((1.44687969563318E-12 * Y + 4.85300143926755E-12) * Y -
                   6.55098264095516E-10) *
                      Y +
                  1.56592951656828E-08) *
                     Y -
                 2.60122498274734E-07) *
                    Y +
                3.86118485517386E-06) *
                   Y -
               5.13430986707889E-05) *
                  Y +
              6.03194524398109E-04) *
                 Y -
             6.11219349825090E-03) *
                Y +
            4.52578254679079E-02;
      RT2 = (((((((6.95964248788138E-10 * Y - 5.35281831445517E-09) * Y -
                  6.745205954533E-08) *
                     Y +
                 1.502366784525E-06) *
                    Y +
                9.923326947376E-07) *
                   Y -
               3.89147469249594E-04) *
                  Y +
              7.51549330892401E-03) *
                 Y -
             8.48778120363400E-02) *
                Y +
            5.73928229597613E-01;
      RT3 = ((((((((-2.81496588401439E-10 * Y + 3.61058041895031E-09) * Y +
                   4.53631789436255E-08) *
                      Y -
                  1.40971837780847E-07) *
                     Y -
                 6.05865557561067E-06) *
                    Y -
                5.15964042227127E-05) *
                   Y +
               3.34761560498171E-05) *
                  Y +
              5.04871005319119E-02) *
                 Y -
             8.24708946991557E-01) *
                Y +
            4.81234667357205E+00;
      F2 = ((((((((((-1.48044231072140E-10 * Y + 1.78157031325097E-09) * Y -
                    1.92514145088973E-08) *
                       Y +
                   1.92804632038796E-07) *
                      Y -
                  1.73806555021045E-06) *
                     Y +
                 1.39195169625425E-05) *
                    Y -
                9.74574633246452E-05) *
                   Y +
               5.83701488646511E-04) *
                  Y -
              2.89955494844975E-03) *
                 Y +
             1.13847001113810E-02) *
                Y -
            3.23446977320647E-02) *
               Y +
           5.29428148329709E-02;
      E = exp(-X);
      F1 = ((X + X) * F2 + E) / 3.0E+00;
      WW1 = (X + X) * F1 + E;
      T1 = RT1 / (RT1 + 1.0E+00);
      T2 = RT2 / (RT2 + 1.0E+00);
      T3 = RT3 / (RT3 + 1.0E+00);
      A2 = F2 - T1 * F1;
      A1 = F1 - T1 * WW1;
      WW3 = (A2 - T2 * A1) / ((T3 - T2) * (T3 - T1));
      WW2 = (T3 * A1 - A2) / ((T3 - T2) * (T2 - T1));
      WW1 = WW1 - WW2 - WW3;
    }
  } else if (X < 5.) {
    Y = X - 4.0E+00;
    if (n == 1) {
      F1 = ((((((((((-2.62453564772299E-11 * Y + 3.24031041623823E-10) * Y -
                    3.614965656163E-09) *
                       Y +
                   3.760256799971E-08) *
                      Y -
                  3.553558319675E-07) *
                     Y +
                 3.022556449731E-06) *
                    Y -
                2.290098979647E-05) *
                   Y +
               1.526537461148E-04) *
                  Y -
              8.81947375894379E-04) *
                 Y +
             4.33207949514611E-03) *
                Y -
            1.75257821619926E-02) *
               Y +
           5.28406320615584E-02;
      WW1 = (X + X) * F1 + exp(-X);
      RT1 = F1 / (WW1 - F1);
    } else if (n == 2) {
      F1 = ((((((((((-2.62453564772299E-11 * Y + 3.24031041623823E-10) * Y -
                    3.614965656163E-09) *
                       Y +
                   3.760256799971E-08) *
                      Y -
                  3.553558319675E-07) *
                     Y +
                 3.022556449731E-06) *
                    Y -
                2.290098979647E-05) *
                   Y +
               1.526537461148E-04) *
                  Y -
              8.81947375894379E-04) *
                 Y +
             4.33207949514611E-03) *
                Y -
            1.75257821619926E-02) *
               Y +
           5.28406320615584E-02;
      WW1 = (X + X) * F1 + exp(-X);
      RT1 = ((((((((-4.11560117487296E-12 * Y + 7.10910223886747E-11) * Y -
                   1.73508862390291E-09) *
                      Y +
                  5.93066856324744E-08) *
                     Y -
                 9.76085576741771E-07) *
                    Y +
                1.08484384385679E-05) *
                   Y -
               1.12608004981982E-04) *
                  Y +
              1.16210907653515E-03) *
                 Y -
             9.89572595720351E-03) *
                Y +
            6.12589701086408E-02;
      RT2 = (((((((((-1.80555625241001E-10 * Y + 5.44072475994123E-10) * Y +
                    1.603498045240E-08) *
                       Y -
                   1.497986283037E-07) *
                      Y -
                  7.017002532106E-07) *
                     Y +
                 1.85882653064034E-05) *
                    Y -
                2.04685420150802E-05) *
                   Y -
               2.49327728643089E-03) *
                  Y +
              3.56550690684281E-02) *
                 Y -
             2.60417417692375E-01) *
                Y +
            1.12155283108289E+00;
      WW2 = ((F1 - WW1) * RT1 + F1) * (1.0E+00 + RT2) / (RT2 - RT1);
      WW1 = WW1 - WW2;
    } else if (n == 3) {
      RT1 = (((((((1.44265709189601E-11 * Y - 4.66622033006074E-10) * Y +
                  7.649155832025E-09) *
                     Y -
                 1.229940017368E-07) *
                    Y +
                2.026002142457E-06) *
                   Y -
               2.87048671521677E-05) *
                  Y +
              3.70326938096287E-04) *
                 Y -
             4.21006346373634E-03) *
                Y +
            3.50898470729044E-02;
      RT2 = ((((((((-2.65526039155651E-11 * Y + 1.97549041402552E-10) * Y +
                   2.15971131403034E-09) *
                      Y -
                  7.95045680685193E-08) *
                     Y +
                 5.15021914287057E-07) *
                    Y +
                1.11788717230514E-05) *
                   Y -
               3.33739312603632E-04) *
                  Y +
              5.30601428208358E-03) *
                 Y -
             5.93483267268959E-02) *
                Y +
            4.31180523260239E-01;
      RT3 = ((((((((-3.92833750584041E-10 * Y - 4.16423229782280E-09) * Y +
                   4.42413039572867E-08) *
                      Y +
                  6.40574545989551E-07) *
                     Y -
                 3.05512456576552E-06) *
                    Y -
                1.05296443527943E-04) *
                   Y -
               6.14120969315617E-04) *
                  Y +
              4.89665802767005E-02) *
                 Y -
             6.24498381002855E-01) *
                Y +
            3.36412312243724E+00;
      F2 = ((((((((((-2.36788772599074E-11 * Y + 2.89147476459092E-10) * Y -
                    3.18111322308846E-09) *
                       Y +
                   3.25336816562485E-08) *
                      Y -
                  3.00873821471489E-07) *
                     Y +
                 2.48749160874431E-06) *
                    Y -
                1.81353179793672E-05) *
                   Y +
               1.14504948737066E-04) *
                  Y -
              6.10614987696677E-04) *
                 Y +
             2.64584212770942E-03) *
                Y -
            8.66415899015349E-03) *
               Y +
           1.75257821619922E-02;
      E = exp(-X);
      F1 = ((X + X) * F2 + E) / 3.0E+00;
      WW1 = (X + X) * F1 + E;
      T1 = RT1 / (RT1 + 1.0E+00);
      T2 = RT2 / (RT2 + 1.0E+00);
      T3 = RT3 / (RT3 + 1.0E+00);
      A2 = F2 - T1 * F1;
      A1 = F1 - T1 * WW1;
      WW3 = (A2 - T2 * A1) / ((T3 - T2) * (T3 - T1));
      WW2 = (T3 * A1 - A2) / ((T3 - T2) * (T2 - T1));
      WW1 = WW1 - WW2 - WW3;
    }
  } else if (X < 10) {
    E = exp(-X);
    WW1 = ((((((4.6897511375022E-01 / X - 6.9955602298985E-01) / X +
               5.3689283271887E-01) /
                  X -
              3.2883030418398E-01) /
                 X +
             2.4645596956002E-01) /
                X -
            4.9984072848436E-01) /
               X -
           3.1501078774085E-06) *
              E +
          sqrt(PIE4 / X);
    F1 = (WW1 - E) / (X + X);
    if (n == 1)
      RT1 = F1 / (WW1 - F1);
    else if (n == 2) {
      Y = X - 7.5E+00;
      RT1 = (((((((((((((-1.43632730148572E-16 * Y + 2.38198922570405E-16) * Y +
                        1.358319618800E-14) *
                           Y -
                       7.064522786879E-14) *
                          Y -
                      7.719300212748E-13) *
                         Y +
                     7.802544789997E-12) *
                        Y +
                    6.628721099436E-11) *
                       Y -
                   1.775564159743E-09) *
                      Y +
                  1.713828823990E-08) *
                     Y -
                 1.497500187053E-07) *
                    Y +
                2.283485114279E-06) *
                   Y -
               3.76953869614706E-05) *
                  Y +
              4.74791204651451E-04) *
                 Y -
             4.60448960876139E-03) *
                Y +
            3.72458587837249E-02;
      RT2 = ((((((((((((2.48791622798900E-14 * Y - 1.36113510175724E-13) * Y -
                       2.224334349799E-12) *
                          Y +
                      4.190559455515E-11) *
                         Y -
                     2.222722579924E-10) *
                        Y -
                    2.624183464275E-09) *
                       Y +
                   6.128153450169E-08) *
                      Y -
                  4.383376014528E-07) *
                     Y -
                 2.49952200232910E-06) *
                    Y +
                1.03236647888320E-04) *
                   Y -
               1.44614664924989E-03) *
                  Y +
              1.35094294917224E-02) *
                 Y -
             9.53478510453887E-02) *
                Y +
            5.44765245686790E-01;
      WW2 = ((F1 - WW1) * RT1 + F1) * (1.0E+00 + RT2) / (RT2 - RT1);
      WW1 = WW1 - WW2;
    } else if (n == 3) {
      F2 = (F1 + F1 + F1 - E) / (X + X);
      Y = X - 7.5E+00;
      RT1 = (((((((((((5.74429401360115E-16 * Y + 7.11884203790984E-16) * Y -
                      6.736701449826E-14) *
                         Y -
                     6.264613873998E-13) *
                        Y +
                    1.315418927040E-11) *
                       Y -
                   4.23879635610964E-11) *
                      Y +
                  1.39032379769474E-09) *
                     Y -
                 4.65449552856856E-08) *
                    Y +
                7.34609900170759E-07) *
                   Y -
               1.08656008854077E-05) *
                  Y +
              1.77930381549953E-04) *
                 Y -
             2.39864911618015E-03) *
                Y +
            2.39112249488821E-02;
      RT2 = (((((((((((1.13464096209120E-14 * Y + 6.99375313934242E-15) * Y -
                      8.595618132088E-13) *
                         Y -
                     5.293620408757E-12) *
                        Y -
                    2.492175211635E-11) *
                       Y +
                   2.73681574882729E-09) *
                      Y -
                  1.06656985608482E-08) *
                     Y -
                 4.40252529648056E-07) *
                    Y +
                9.68100917793911E-06) *
                   Y -
               1.68211091755327E-04) *
                  Y +
              2.69443611274173E-03) *
                 Y -
             3.23845035189063E-02) *
                Y +
            2.75969447451882E-01;
      RT3 = ((((((((((((6.66339416996191E-15 * Y + 1.84955640200794E-13) * Y -
                       1.985141104444E-12) *
                          Y -
                      2.309293727603E-11) *
                         Y +
                     3.917984522103E-10) *
                        Y +
                    1.663165279876E-09) *
                       Y -
                   6.205591993923E-08) *
                      Y +
                  8.769581622041E-09) *
                     Y +
                 8.97224398620038E-06) *
                    Y -
                3.14232666170796E-05) *
                   Y -
               1.83917335649633E-03) *
                  Y +
              3.51246831672571E-02) *
                 Y -
             3.22335051270860E-01) *
                Y +
            1.73582831755430E+00;
      T1 = RT1 / (RT1 + 1.0E+00);
      T2 = RT2 / (RT2 + 1.0E+00);
      T3 = RT3 / (RT3 + 1.0E+00);
      A2 = F2 - T1 * F1;
      A1 = F1 - T1 * WW1;
      WW3 = (A2 - T2 * A1) / ((T3 - T2) * (T3 - T1));
      WW2 = (T3 * A1 - A2) / ((T3 - T2) * (T2 - T1));
      WW1 = WW1 - WW2 - WW3;
    }
  } else if (X < 15) {
    E = exp(-X);
    WW1 = (((-1.8784686463512E-01 / X + 2.2991849164985E-01) / X -
            4.9893752514047E-01) /
               X -
           2.1916512131607E-05) *
              E +
          sqrt(PIE4 / X);
    F1 = (WW1 - E) / (X + X);
    if (n == 1)
      RT1 = F1 / (WW1 - F1);
    else if (n == 2) {
      RT1 = ((((-1.01041157064226E-05 * X + 1.19483054115173E-03) * X -
               6.73760231824074E-02) *
                  X +
              1.25705571069895E+00) *
                 X +
             (((-8.57609422987199E+03 / X + 5.91005939591842E+03) / X -
               1.70807677109425E+03) /
                  X +
              2.64536689959503E+02) /
                 X -
             2.38570496490846E+01) *
                E +
            R12 / (X - R12);
      RT2 = (((3.39024225137123E-04 * X - 9.34976436343509E-02) * X -
              4.22216483306320E+00) *
                 X +
             (((-2.08457050986847E+03 / X - 1.04999071905664E+03) / X +
               3.39891508992661E+02) /
                  X -
              1.56184800325063E+02) /
                 X +
             8.00839033297501E+00) *
                E +
            R22 / (X - R22);
      WW2 = ((F1 - WW1) * RT1 + F1) * (1.0E+00 + RT2) / (RT2 - RT1);
      WW1 = WW1 - WW2;
    } else if (n == 3) {
      F2 = (F1 + F1 + F1 - E) / (X + X);
      Y = X - 12.5E+00;
      RT1 = (((((((((((4.42133001283090E-16 * Y - 2.77189767070441E-15) * Y -
                      4.084026087887E-14) *
                         Y +
                     5.379885121517E-13) *
                        Y +
                    1.882093066702E-12) *
                       Y -
                   8.67286219861085E-11) *
                      Y +
                  7.11372337079797E-10) *
                     Y -
                 3.55578027040563E-09) *
                    Y +
                1.29454702851936E-07) *
                   Y -
               4.14222202791434E-06) *
                  Y +
              8.04427643593792E-05) *
                 Y -
             1.18587782909876E-03) *
                Y +
            1.53435577063174E-02;
      RT2 = (((((((((((6.85146742119357E-15 * Y - 1.08257654410279E-14) * Y -
                      8.579165965128E-13) *
                         Y +
                     6.642452485783E-12) *
                        Y +
                    4.798806828724E-11) *
                       Y -
                   1.13413908163831E-09) *
                      Y +
                  7.08558457182751E-09) *
                     Y -
                 5.59678576054633E-08) *
                    Y +
                2.51020389884249E-06) *
                   Y -
               6.63678914608681E-05) *
                  Y +
              1.11888323089714E-03) *
                 Y -
             1.45361636398178E-02) *
                Y +
            1.65077877454402E-01;
      RT3 = ((((((((((((3.20622388697743E-15 * Y - 2.73458804864628E-14) * Y -
                       3.157134329361E-13) *
                          Y +
                      8.654129268056E-12) *
                         Y -
                     5.625235879301E-11) *
                        Y -
                    7.718080513708E-10) *
                       Y +
                   2.064664199164E-08) *
                      Y -
                  1.567725007761E-07) *
                     Y -
                 1.57938204115055E-06) *
                    Y +
                6.27436306915967E-05) *
                   Y -
               1.01308723606946E-03) *
                  Y +
              1.13901881430697E-02) *
                 Y -
             1.01449652899450E-01) *
                Y +
            7.77203937334739E-01;
      T1 = RT1 / (RT1 + 1.0E+00);
      T2 = RT2 / (RT2 + 1.0E+00);
      T3 = RT3 / (RT3 + 1.0E+00);
      A2 = F2 - T1 * F1;
      A1 = F1 - T1 * WW1;
      WW3 = (A2 - T2 * A1) / ((T3 - T2) * (T3 - T1));
      WW2 = (T3 * A1 - A2) / ((T3 - T2) * (T2 - T1));
      WW1 = WW1 - WW2 - WW3;
    }
  } else if (X < 33) {
    E = exp(-X);
    WW1 = ((1.9623264149430E-01 / X - 4.9695241464490E-01) / X -
           6.0156581186481E-05) *
              E +
          sqrt(PIE4 / X);
    F1 = (WW1 - E) / (X + X);
    if (n == 1)
      RT1 = F1 / (WW1 - F1);
    else if (n == 2) {
      RT1 = ((((-1.14906395546354E-06 * X + 1.76003409708332E-04) * X -
               1.71984023644904E-02) *
                  X -
              1.37292644149838E-01) *
                 X +
             (-4.75742064274859E+01 / X + 9.21005186542857E+00) / X -
             2.31080873898939E-02) *
                E +
            R12 / (X - R12);
      RT2 = (((3.64921633404158E-04 * X - 9.71850973831558E-02) * X -
              4.02886174850252E+00) *
                 X +
             (-1.35831002139173E+02 / X - 8.66891724287962E+01) / X +
             2.98011277766958E+00) *
                E +
            R22 / (X - R22);
      WW2 = ((F1 - WW1) * RT1 + F1) * (1.0E+00 + RT2) / (RT2 - RT1);
      WW1 = WW1 - WW2;
    } else if (n == 3) {
      F2 = (F1 + F1 + F1 - E) / (X + X);
      if (X < 20) {
        RT1 = ((((((-2.43270989903742E-06 * X + 3.57901398988359E-04) * X -
                   2.34112415981143E-02) *
                      X +
                  7.81425144913975E-01) *
                     X -
                 1.73209218219175E+01) *
                    X +
                2.43517435690398E+02) *
                   X +
               (-1.97611541576986E+04 / X + 9.82441363463929E+03) / X -
               2.07970687843258E+03) *
                  E +
              R13 / (X - R13);
        RT2 = (((((-2.62627010965435E-04 * X + 3.49187925428138E-02) * X -
                  3.09337618731880E+00) *
                     X +
                 1.07037141010778E+02) *
                    X -
                2.36659637247087E+03) *
                   X +
               ((-2.91669113681020E+06 / X + 1.41129505262758E+06) / X -
                2.91532335433779E+05) /
                   X +
               3.35202872835409E+04) *
                  E +
              R23 / (X - R23);
        RT3 = (((((9.31856404738601E-05 * X - 2.87029400759565E-02) * X -
                  7.83503697918455E-01) *
                     X -
                 1.84338896480695E+01) *
                    X +
                4.04996712650414E+02) *
                   X +
               (-1.89829509315154E+05 / X + 5.11498390849158E+04) / X -
               6.88145821789955E+03) *
                  E +
              R33 / (X - R33);
      } else {
        RT1 = ((((-4.97561537069643E-04 * X - 5.00929599665316E-02) * X +
                 1.31099142238996E+00) *
                    X -
                1.88336409225481E+01) *
                   X -
               6.60344754467191E+02 / X + 1.64931462413877E+02) *
                  E +
              R13 / (X - R13);
        RT2 = ((((-4.48218898474906E-03 * X - 5.17373211334924E-01) * X +
                 1.13691058739678E+01) *
                    X -
                1.65426392885291E+02) *
                   X -
               6.30909125686731E+03 / X + 1.52231757709236E+03) *
                  E +
              R23 / (X - R23);
        RT3 = ((((-1.38368602394293E-02 * X - 1.77293428863008E+00) * X +
                 1.73639054044562E+01) *
                    X -
                3.57615122086961E+02) *
                   X -
               1.45734701095912E+04 / X + 2.69831813951849E+03) *
                  E +
              R33 / (X - R33);
      }
      T1 = RT1 / (RT1 + 1.0E+00);
      T2 = RT2 / (RT2 + 1.0E+00);
      T3 = RT3 / (RT3 + 1.0E+00);
      A2 = F2 - T1 * F1;
      A1 = F1 - T1 * WW1;
      WW3 = (A2 - T2 * A1) / ((T3 - T2) * (T3 - T1));
      WW2 = (T3 * A1 - A2) / ((T3 - T2) * (T2 - T1));
      WW1 = WW1 - WW2 - WW3;
    }
  } else {
    WW1 = sqrt(PIE4 / X);
    if (n == 1)
      RT1 = 0.5E+00 / (X - 0.5E+00);
    else if (n == 2) {
      if (X < 40) {
        E = exp(-X);
        RT1 = (-8.78947307498880E-01 * X + 1.09243702330261E+01) * E +
              R12 / (X - R12);
        RT2 = (-9.28903924275977E+00 * X + 8.10642367843811E+01) * E +
              R22 / (X - R22);
        WW2 = (4.46857389308400E+00 * X - 7.79250653461045E+01) * E + W22 * WW1;
        WW1 = WW1 - WW2;
      } else {
        RT1 = R12 / (X - R12);
        RT2 = R22 / (X - R22);
        WW2 = W22 * WW1;
        WW1 = WW1 - WW2;
      }
    } else if (n == 3) {
      if (X < 47) {
        E = exp(-X);
        RT1 = ((-7.39058467995275E+00 * X + 3.21318352526305E+02) * X -
               3.99433696473658E+03) *
                  E +
              R13 / (X - R13);
        RT2 = ((-7.38726243906513E+01 * X + 3.13569966333873E+03) * X -
               3.86862867311321E+04) *
                  E +
              R23 / (X - R23);
        RT3 = ((-2.63750565461336E+02 * X + 1.04412168692352E+04) * X -
               1.28094577915394E+05) *
                  E +
              R33 / (X - R33);
        WW3 = (((1.52258947224714E-01 * X - 8.30661900042651E+00) * X +
                1.92977367967984E+02) *
                   X -
               1.67787926005344E+03) *
                  E +
              W33 * WW1;
        WW2 = ((6.15072615497811E+01 * X - 2.91980647450269E+03) * X +
               3.80794303087338E+04) *
                  E +
              W23 * WW1;
        WW1 = WW1 - WW2 - WW3;
      } else {
        RT1 = R13 / (X - R13);
        RT2 = R23 / (X - R23);
        RT3 = R33 / (X - R33);
        WW2 = W23 * WW1;
        WW3 = W33 * WW1;
        WW1 = WW1 - WW2 - WW3;
      }
    }
  }
  roots[0] = RT1;
  weights[0] = WW1;
  if (n > 1) {
    roots[1] = RT2;
    weights[1] = WW2;
  }
  if (n > 2) {
    roots[2] = RT3;
    weights[2] = WW3;
  }
  return;
}


x86 assembly (clang, -O0):
<Root123>:
push   %rbp
mov    %rsp,%rbp
sub    $0x170,%rsp
mov    %edi,-0x4(%rbp)
movsd  %xmm0,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x70(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x78(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x80(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x4ecc(%rip),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  0x4eb7(%rip),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  0x4ea2(%rip),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x4e8d(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  0x4e78(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x4e63(%rip),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0x4e4e(%rip),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0x4e39(%rip),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x4e24(%rip),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x4e0f(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    13dd <Root123+0x2bd>
cmpl   $0x1,-0x4(%rbp)
jne    1252 <Root123+0x132>
movsd  -0x10(%rbp),%xmm1
movsd  0x4e4d(%rip),%xmm0
divsd  %xmm0,%xmm1
movsd  0x4f21(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm1
movsd  0x4e23(%rip),%xmm0
divsd  %xmm0,%xmm1
movsd  0x4e0f(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
jmp    13d8 <Root123+0x2b8>
cmpl   $0x2,-0x4(%rbp)
jne    12ef <Root123+0x1cf>
movsd  -0x10(%rbp),%xmm0
movsd  0x5c57(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5b23(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5c25(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5c21(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5bf3(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5bef(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x5bbe(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5bba(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    13d3 <Root123+0x2b3>
cmpl   $0x3,-0x4(%rbp)
jne    13ce <Root123+0x2ae>
movsd  -0x10(%rbp),%xmm0
movsd  0x5b7a(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5b76(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5b48(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5b44(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5b16(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5b12(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5ae4(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5ae0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x5aaf(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5aab(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x5a7a(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5a76(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
jmp    13d3 <Root123+0x2b3>
jmp    13d8 <Root123+0x2b8>
jmp    5640 <Root123+0x4520>
movsd  0x4c6b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1d78 <Root123+0xc58>
cmpl   $0x1,-0x4(%rbp)
jne    1553 <Root123+0x433>
movsd  -0x10(%rbp),%xmm0
movsd  0x5a19(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5a15(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x59f0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x59d3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x59b6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5999(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x597c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x595f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5942(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5925(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  -0xf0(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0xe8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    1d73 <Root123+0xc53>
cmpl   $0x2,-0x4(%rbp)
jne    1863 <Root123+0x743>
movsd  -0x10(%rbp),%xmm0
movsd  0x58b6(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x58b2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x588d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5870(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5853(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5836(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5819(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x57fc(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x57df(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x57c2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  -0x100(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x5733(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x572f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x570a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x56ed(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x56d0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x56b3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5696(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5679(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x565c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5636(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5632(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x560d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x55f0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x55d3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x55b6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5599(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x557c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x555f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x4829(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
subsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    1d6e <Root123+0xc4e>
cmpl   $0x3,-0x4(%rbp)
jne    1d69 <Root123+0xc49>
movsd  -0x10(%rbp),%xmm0
movsd  0x54c6(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x54c2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x549d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5480(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5463(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5446(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5429(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x540c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x53e6(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x53e2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x53bd(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x53a0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5383(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5366(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5349(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x532c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5306(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5302(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x52dd(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x52c0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x52a3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5286(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5269(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x524c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x5226(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5222(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x51fd(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x51e0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x51c3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x51a6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5189(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x516c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x514f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x5132(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x44eb(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  -0xa0(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movsd  0x44a0(%rip),%xmm1
addsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x4482(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  0x4464(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    1d6e <Root123+0xc4e>
jmp    1d73 <Root123+0xc53>
jmp    563b <Root123+0x451b>
movsd  0x42d8(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    2954 <Root123+0x1834>
movsd  -0x10(%rbp),%xmm0
movsd  0x4c48(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
cmpl   $0x1,-0x4(%rbp)
jne    1f52 <Root123+0xe32>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x4e72(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4e6e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4e46(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4e26(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4e06(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4de6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4dc6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4da6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4d86(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4d66(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4d46(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4d26(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  -0x110(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    294f <Root123+0x182f>
cmpl   $0x2,-0x4(%rbp)
jne    233d <Root123+0x121d>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x4cc4(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4cc0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4c98(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4c78(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4c58(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4c38(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4c18(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4bf8(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4bd8(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4bb8(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4b98(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4b78(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  -0x120(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x118(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x4ae6(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4ae2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4aba(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4a9a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4a7a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4a5a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4a3a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4a1a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x49fa(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x49da(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x49ba(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x4991(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x498d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4965(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4945(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4925(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4905(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x48e5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x48c5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x48a5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4885(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4865(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x3d4f(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
subsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    294a <Root123+0x182a>
cmpl   $0x3,-0x4(%rbp)
jne    2945 <Root123+0x1825>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x47c9(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x47c5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x479d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x477d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x475d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x473d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x471d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x46fd(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x46dd(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x46bd(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x4694(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4690(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4668(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4648(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4628(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4608(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x45e8(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x45c8(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x45a8(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
movsd  0x457f(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x457b(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4553(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4533(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4513(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x44f3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x44d3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x44b3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4493(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x4473(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x444a(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4446(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x441e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x43fe(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x43de(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x43be(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x439e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x437e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x435e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x433e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x431e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x42fe(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x390f(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  -0xa0(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movsd  0x38c4(%rip),%xmm1
addsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x38a6(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  0x3888(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    294a <Root123+0x182a>
jmp    294f <Root123+0x182f>
jmp    5636 <Root123+0x4516>
movsd  0x3704(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    3518 <Root123+0x23f8>
movsd  -0x10(%rbp),%xmm0
movsd  0x3e14(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
cmpl   $0x1,-0x4(%rbp)
jne    2b2e <Root123+0x1a0e>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x4036(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4032(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x400a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3fea(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3fca(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3faa(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3f8a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3f6a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3f4a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3f2a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3f0a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3eea(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  -0x130(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x128(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    3513 <Root123+0x23f3>
cmpl   $0x2,-0x4(%rbp)
jne    2f01 <Root123+0x1de1>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x3e88(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x3e84(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3e5c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3e3c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3e1c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3dfc(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3ddc(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3dbc(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3d9c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3d7c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3d5c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3d3c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  -0x140(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x138(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x3caa(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x3ca6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3c7e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3c5e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3c3e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3c1e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3bfe(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3bde(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3bbe(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3b9e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x3b75(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x3b71(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3b49(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3b29(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3b09(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3ae9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3ac9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3aa9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3a89(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3a69(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3a49(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x318b(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
subsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    350e <Root123+0x23ee>
cmpl   $0x3,-0x4(%rbp)
jne    3509 <Root123+0x23e9>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x39ad(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x39a9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3981(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3961(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3941(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3921(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3901(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x38e1(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x38c1(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x3898(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x3894(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x386c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x384c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x382c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x380c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x37ec(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x37cc(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x37ac(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x378c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x3763(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x375f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3737(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3717(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x36f7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x36d7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x36b7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3697(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3677(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3657(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x362e(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x362a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3602(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x35e2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x35c2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x35a2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3582(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3562(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3542(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3522(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3502(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x34e2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x2d4b(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  -0xa0(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movsd  0x2d00(%rip),%xmm1
addsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x2ce2(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  0x2cc4(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
jmp    350e <Root123+0x23ee>
jmp    3513 <Root123+0x23f3>
jmp    5631 <Root123+0x4511>
movsd  0x2b48(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    3f5d <Root123+0x2e3d>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x2ff4(%rip),%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2fdf(%rip),%xmm1
subsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2fc6(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2fad(%rip),%xmm1
subsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2f94(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2f7b(%rip),%xmm1
subsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2f62(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1040 <sqrt@plt>
movsd  -0x150(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x148(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm1
addsd  -0x10(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
cmpl   $0x1,-0x4(%rbp)
jne    3662 <Root123+0x2542>
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    3f58 <Root123+0x2e38>
cmpl   $0x2,-0x4(%rbp)
jne    3990 <Root123+0x2870>
movsd  -0x10(%rbp),%xmm0
movsd  0x301f(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x30e3(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x30df(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x30b7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3097(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3077(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3057(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3037(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x3017(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2ff7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2fd7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2fb7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2f97(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2f77(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2f57(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2f37(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x2f0e(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2f0a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2ee2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2ec2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2ea2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2e82(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2e62(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2e42(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2e22(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2e02(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2de2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2dc2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2da2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2d82(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x26fc(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
subsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    3f53 <Root123+0x2e33>
cmpl   $0x3,-0x4(%rbp)
jne    3f4e <Root123+0x2e2e>
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm1
addsd  -0x10(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x2cbb(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x2c8f(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2c8b(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2c63(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2c43(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2c23(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2c03(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2be3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2bc3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2ba3(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2b83(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2b63(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2b43(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2b23(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x2afa(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2af6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2ace(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2aae(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2a8e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2a6e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2a4e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2a2e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2a0e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x29ee(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x29ce(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x29ae(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x298e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x2965(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2961(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2939(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2919(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x28f9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x28d9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x28b9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2899(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2879(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2859(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2839(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2819(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x27f9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x27d9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  0x22bb(%rip),%xmm1
addsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x229d(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  0x227f(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    3f53 <Root123+0x2e33>
jmp    3f58 <Root123+0x2e38>
jmp    562c <Root123+0x450c>
movsd  0x210b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    482f <Root123+0x370f>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x23a7(%rip),%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2392(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2379(%rip),%xmm1
subsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x2360(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1040 <sqrt@plt>
movsd  -0x160(%rbp),%xmm2
movaps %xmm0,%xmm1
movsd  -0x158(%rbp),%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm1
addsd  -0x10(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
cmpl   $0x1,-0x4(%rbp)
jne    4074 <Root123+0x2f54>
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    482a <Root123+0x370a>
cmpl   $0x2,-0x4(%rbp)
jne    4262 <Root123+0x3142>
movsd  -0x10(%rbp),%xmm0
movsd  0x2485(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2481(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x245c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x243f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x2426(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x2411(%rip),%xmm3
addsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x23f8(%rip),%xmm3
subsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x23df(%rip),%xmm3
addsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x23be(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x28(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x2375(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2371(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x234c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x2333(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x231e(%rip),%xmm3
subsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x2305(%rip),%xmm3
addsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x22ec(%rip),%xmm3
subsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x22cb(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x38(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm0
subsd  -0x88(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1e2a(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
subsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    4825 <Root123+0x3705>
cmpl   $0x3,-0x4(%rbp)
jne    4820 <Root123+0x3700>
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
subsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm1
addsd  -0x10(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x21e1(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x21b5(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x21b1(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2189(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2169(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2149(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2129(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2109(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x20e9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x20c9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x20a9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2089(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2069(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x2049(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x2020(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x201c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1ff4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1fd4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1fb4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1f94(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1f74(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1f54(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1f34(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1f14(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1ef4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1ed4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1eb4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xe0(%rbp),%xmm0
ff
movsd  0x1e8b(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1e87(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1e5f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1e3f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1e1f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1dff(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1ddf(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1dbf(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1d9f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1d7f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1d5f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1d3f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1d1f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x1cff(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  0x19e9(%rip),%xmm1
addsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x19cb(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  0x19ad(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    4825 <Root123+0x3705>
jmp    482a <Root123+0x370a>
jmp    5627 <Root123+0x4507>
movsd  0x1841(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    5167 <Root123+0x4047>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x18e5(%rip),%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x18d0(%rip),%xmm1
subsd  %xmm1,%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  0x18b7(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1040 <sqrt@plt>
movsd  -0x170(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x168(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm1
addsd  -0x10(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
cmpl   $0x1,-0x4(%rbp)
jne    4935 <Root123+0x3815>
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
subsd  -0xa0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    5162 <Root123+0x4042>
cmpl   $0x2,-0x4(%rbp)
jne    4adf <Root123+0x39bf>
movsd  -0x10(%rbp),%xmm0
movsd  0x19d4(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x19d0(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x19ab(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x198e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1975(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x1960(%rip),%xmm3
addsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x193f(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x28(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x18f6(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x18f2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x18cd(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x18b4(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x189f(%rip),%xmm3
subsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x187e(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x38(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x15ad(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
subsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    515d <Root123+0x403d>
cmpl   $0x3,-0x4(%rbp)
jne    5158 <Root123+0x4038>
movsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
subsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm1
addsd  -0x10(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x1639(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    4d8e <Root123+0x3c6e>
movsd  -0x10(%rbp),%xmm0
movsd  0x1779(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1775(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1750(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1733(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1716(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x16f9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x16e0(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x16cb(%rip),%xmm3
addsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x16aa(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x48(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x48(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1661(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x165d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1638(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x161b(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x15fe(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x15e5(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x15d0(%rip),%xmm3
addsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x15b7(%rip),%xmm3
subsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1596(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x50(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x50(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x154d(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1549(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1524(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1507(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x14ea(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x14d1(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movsd  0x14bc(%rip),%xmm3
addsd  %xmm3,%xmm1
divsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x149b(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x60(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
jmp    4f92 <Root123+0x3e72>
movsd  -0x10(%rbp),%xmm0
movsd  0x144d(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1449(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1424(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1407(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x13ee(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x13ba(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x48(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x48(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1371(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x136d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1348(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x132b(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1312(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x12de(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x50(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x50(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1295(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1291(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x126c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x124f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1236(%rip),%xmm1
divsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1202(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x60(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  0x10b1(%rip),%xmm1
addsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x1093(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  0x1075(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0xd0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xc8(%rbp),%xmm1
ff
subsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm2
ff
subsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    515d <Root123+0x403d>
jmp    5162 <Root123+0x4042>
jmp    5622 <Root123+0x4502>
movsd  -0x30(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1040 <sqrt@plt>
movsd  %xmm0,-0x88(%rbp)
ff
cmpl   $0x1,-0x4(%rbp)
jne    51af <Root123+0x408f>
movsd  -0x10(%rbp),%xmm1
movsd  0xfab(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0xf9f(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
jmp    561d <Root123+0x44fd>
cmpl   $0x2,-0x4(%rbp)
jne    5340 <Root123+0x4220>
movsd  0xf47(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    52de <Root123+0x41be>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xf2e(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xf2a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x28(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xed9(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xed5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x38(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xe84(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xe80(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    533b <Root123+0x421b>
movsd  -0x28(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
subsd  -0x38(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x40(%rbp),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    5618 <Root123+0x44f8>
cmpl   $0x3,-0x4(%rbp)
jne    5613 <Root123+0x44f3>
movsd  0xd2e(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    557c <Root123+0x445c>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xd65(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xd61(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xd3c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x48(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x48(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xcf3(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xcef(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xcca(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x50(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x50(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xc81(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xc7d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xc58(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
subsd  -0x60(%rbp),%xmm3
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xc0f(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xc0b(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xbe6(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xbc9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x68(%rbp),%xmm1
mulsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xb83(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xb7f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xb5a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
mulsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    560e <Root123+0x44ee>
movsd  -0x48(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
subsd  -0x48(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
subsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
subsd  -0x60(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
jmp    5613 <Root123+0x44f3>
jmp    5618 <Root123+0x44f8>
jmp    561d <Root123+0x44fd>
jmp    5622 <Root123+0x4502>
jmp    5627 <Root123+0x4507>
jmp    562c <Root123+0x450c>
jmp    5631 <Root123+0x4511>
jmp    5636 <Root123+0x4516>
jmp    563b <Root123+0x451b>
jmp    5640 <Root123+0x4520>
movsd  -0x70(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
cmpl   $0x1,-0x4(%rbp)
jle    5686 <Root123+0x4566>
movsd  -0x78(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0x90(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
cmpl   $0x2,-0x4(%rbp)
jle    56af <Root123+0x458f>
movsd  -0x80(%rbp),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
add    $0x170,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<Root123>:
push   %rbp
push   %r14
push   %rbx
sub    $0x40,%rsp
mov    %rdx,%r14
mov    %rsi,%rbx
movapd %xmm0,%xmm4
mov    %edi,%ebp
movsd  0x1ec4(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    1191 <Root123+0x71>
cmp    $0x3,%ebp
je     134a <Root123+0x22a>
cmp    $0x2,%ebp
je     1309 <Root123+0x1e9>
xorpd  %xmm5,%xmm5
cmp    $0x1,%ebp
jne    2434 <Root123+0x1314>
movapd %xmm4,%xmm11
divsd  0x25c1(%rip),%xmm11
addsd  0x1f30(%rip),%xmm11
divsd  0x25b8(%rip),%xmm4
addsd  0x1e80(%rip),%xmm4
movapd %xmm4,%xmm5
jmp    14b9 <Root123+0x399>
movsd  0x1e6f(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    123b <Root123+0x11b>
cmp    $0x3,%ebp
je     15f0 <Root123+0x4d0>
cmp    $0x2,%ebp
je     14c8 <Root123+0x3a8>
xorpd  %xmm5,%xmm5
cmp    $0x1,%ebp
jne    2434 <Root123+0x1314>
movsd  0x24d6(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24d2(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24ce(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24ca(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24c6(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24c2(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24be(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24ba(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24b6(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x24b2(%rip),%xmm0
jmp    1472 <Root123+0x352>
movsd  0x1dcd(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    13a9 <Root123+0x289>
movsd  0x2293(%rip),%xmm2
addsd  %xmm4,%xmm2
cmp    $0x3,%ebp
je     1932 <Root123+0x812>
cmp    $0x2,%ebp
je     17da <Root123+0x6ba>
xorpd  %xmm5,%xmm5
cmp    $0x1,%ebp
jne    2434 <Root123+0x1314>
movsd  0x2330(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x232c(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2328(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2324(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2320(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x231c(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2318(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2314(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2310(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x230c(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2308(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x2304(%rip),%xmm0
jmp    1472 <Root123+0x352>
movapd %xmm4,%xmm2
unpcklpd %xmm4,%xmm2
mulpd  0x2c67(%rip),%xmm2
addpd  0x2c6f(%rip),%xmm2
movsd  0x23e7(%rip),%xmm5
mulsd  %xmm4,%xmm5
addsd  0x23e3(%rip),%xmm5
mulsd  0x23e3(%rip),%xmm4
addsd  0x23e3(%rip),%xmm4
jmp    1ce9 <Root123+0xbc9>
movsd  0x239d(%rip),%xmm10
mulsd  %xmm4,%xmm10
addsd  0x2397(%rip),%xmm10
movapd %xmm4,%xmm7
unpcklpd %xmm4,%xmm7
movapd 0x2bce(%rip),%xmm12
mulpd  %xmm7,%xmm12
addpd  0x2bd0(%rip),%xmm12
mulsd  0x2378(%rip),%xmm4
addsd  0x2378(%rip),%xmm4
mulpd  0x2bc8(%rip),%xmm7
addpd  0x2bd0(%rip),%xmm7
movapd %xmm4,%xmm5
jmp    1f7e <Root123+0xe5e>
movsd  0x1c67(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    1734 <Root123+0x614>
movsd  0x2005(%rip),%xmm1
addsd  %xmm4,%xmm1
cmp    $0x3,%ebp
je     1d02 <Root123+0xbe2>
cmp    $0x2,%ebp
je     1b4e <Root123+0xa2e>
xorpd  %xmm5,%xmm5
cmp    $0x1,%ebp
jne    2434 <Root123+0x1314>
movsd  0x208a(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x2086(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x2082(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x207e(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x207a(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x2076(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x2072(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x206e(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x206a(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x2066(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x2062(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x205e(%rip),%xmm0
movapd %xmm0,0x10(%rsp)
movapd %xmm4,%xmm0
addsd  %xmm4,%xmm0
movapd %xmm0,(%rsp)
xorpd  0x22e3(%rip),%xmm4
movapd %xmm4,%xmm0
call   1030 <exp@plt>
movapd 0x10(%rsp),%xmm11
movapd (%rsp),%xmm5
mulsd  %xmm11,%xmm5
addsd  %xmm0,%xmm5
movapd %xmm5,%xmm0
subsd  %xmm11,%xmm0
divsd  %xmm0,%xmm11
movsd  %xmm11,(%rbx)
movsd  %xmm5,(%r14)
jmp    2466 <Root123+0x1346>
movsd  0x21d0(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21cc(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21c8(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21c4(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21c0(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21bc(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21b8(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21b4(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21b0(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x21ac(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movapd %xmm4,%xmm0
addsd  %xmm4,%xmm0
movapd %xmm0,(%rsp)
movapd 0x2219(%rip),%xmm0
xorpd  %xmm4,%xmm0
movapd %xmm4,0x20(%rsp)
call   1030 <exp@plt>
movapd (%rsp),%xmm5
movapd 0x20(%rsp),%xmm3
unpcklpd %xmm3,%xmm3
movapd 0x2933(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x2937(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x293b(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x293f(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x2943(%rip),%xmm2
movsd  0x10(%rsp),%xmm1
mulsd  %xmm1,%xmm5
mulpd  %xmm3,%xmm2
addpd  0x293d(%rip),%xmm2
addsd  %xmm0,%xmm5
mulpd  %xmm3,%xmm2
addpd  0x293d(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x2941(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x2945(%rip),%xmm2
jmp    1cb5 <Root123+0xb95>
movsd  0x2018(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x2014(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x2010(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x200c(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x2008(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x2004(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x2000(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1ffc(%rip),%xmm0
movapd %xmm0,(%rsp)
movapd %xmm4,%xmm0
unpcklpd %xmm4,%xmm0
movapd 0x27cf(%rip),%xmm1
mulpd  %xmm0,%xmm1
addpd  0x27d3(%rip),%xmm1
mulpd  %xmm0,%xmm1
addpd  0x27d7(%rip),%xmm1
mulpd  %xmm0,%xmm1
addpd  0x27db(%rip),%xmm1
mulpd  %xmm0,%xmm1
addpd  0x27df(%rip),%xmm1
mulpd  %xmm0,%xmm1
addpd  0x27e3(%rip),%xmm1
mulpd  %xmm0,%xmm1
addpd  0x27e7(%rip),%xmm1
mulpd  %xmm0,%xmm1
addpd  0x27eb(%rip),%xmm1
movapd %xmm1,0x10(%rsp)
movsd  0x1f8d(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f89(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f85(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f81(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f7d(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f79(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f75(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f71(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f6d(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x1f69(%rip),%xmm0
jmp    1e7d <Root123+0xd5d>
movsd  0x18e4(%rip),%xmm0
ucomisd %xmm4,%xmm0
movapd %xmm4,0x20(%rsp)
jbe    1ad2 <Root123+0x9b2>
movapd 0x201c(%rip),%xmm0
xorpd  %xmm4,%xmm0
call   1030 <exp@plt>
movapd 0x20(%rsp),%xmm3
movsd  0x1b95(%rip),%xmm5
divsd  %xmm3,%xmm5
addsd  0x1b91(%rip),%xmm5
divsd  %xmm3,%xmm5
addsd  0x1b8d(%rip),%xmm5
divsd  %xmm3,%xmm5
addsd  0x1b89(%rip),%xmm5
divsd  %xmm3,%xmm5
addsd  0x1b85(%rip),%xmm5
movapd %xmm0,%xmm4
divsd  %xmm3,%xmm5
addsd  0x1b7d(%rip),%xmm5
divsd  %xmm3,%xmm5
addsd  0x1b79(%rip),%xmm5
movsd  0x1879(%rip),%xmm0
divsd  %xmm3,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1f8d <Root123+0xe6d>
sqrtsd %xmm0,%xmm0
jmp    1fae <Root123+0xe8e>
movsd  0x1dce(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1dca(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1dc6(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1dc2(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1dbe(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1dba(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1db6(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1db2(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1dae(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1daa(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1da6(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1da2(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movapd %xmm4,%xmm0
addsd  %xmm4,%xmm0
movapd %xmm0,(%rsp)
xorpd  0x1eef(%rip),%xmm4
movapd %xmm4,%xmm0
movapd %xmm2,0x20(%rsp)
call   1030 <exp@plt>
movapd (%rsp),%xmm5
movapd 0x20(%rsp),%xmm3
unpcklpd %xmm3,%xmm3
movapd 0x24d9(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24dd(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24e1(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24e5(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24e9(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24ed(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24f1(%rip),%xmm2
movsd  0x10(%rsp),%xmm1
mulsd  %xmm1,%xmm5
mulpd  %xmm3,%xmm2
addpd  0x24eb(%rip),%xmm2
addsd  %xmm0,%xmm5
mulpd  %xmm3,%xmm2
addpd  0x24eb(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24ef(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x24f3(%rip),%xmm2
jmp    1cb5 <Root123+0xb95>
movsd  0x1bb6(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1bb2(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1bae(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1baa(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1ba6(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1ba2(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1b9e(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1b9a(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1b96(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1b92(%rip),%xmm0
movapd %xmm0,(%rsp)
movsd  0x1b8d(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1b89(%rip),%xmm0
movapd %xmm2,%xmm1
unpcklpd %xmm0,%xmm1
movapd 0x2321(%rip),%xmm3
unpcklpd %xmm2,%xmm3
mulpd  %xmm1,%xmm3
addpd  0x2321(%rip),%xmm3
movapd %xmm2,%xmm0
unpcklpd %xmm2,%xmm0
mulpd  %xmm0,%xmm3
addpd  0x231d(%rip),%xmm3
mulpd  %xmm0,%xmm3
addpd  0x2321(%rip),%xmm3
mulpd  %xmm0,%xmm3
addpd  0x2325(%rip),%xmm3
mulpd  %xmm0,%xmm3
addpd  0x2329(%rip),%xmm3
mulpd  %xmm0,%xmm3
addpd  0x232d(%rip),%xmm3
mulpd  %xmm0,%xmm3
addpd  0x2331(%rip),%xmm3
mulpd  %xmm0,%xmm3
addpd  0x2335(%rip),%xmm3
movapd %xmm3,0x10(%rsp)
movsd  0x1b07(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1b03(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1aff(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1afb(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1af7(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1af3(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1aef(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1aeb(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1ae7(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1ae3(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1adf(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x1adb(%rip),%xmm0
jmp    1e7d <Root123+0xd5d>
movsd  0x154e(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    20b0 <Root123+0xf90>
movapd 0x1c84(%rip),%xmm0
xorpd  %xmm4,%xmm0
call   1030 <exp@plt>
movapd 0x20(%rsp),%xmm3
movsd  0x174d(%rip),%xmm5
divsd  %xmm3,%xmm5
addsd  0x1749(%rip),%xmm5
movapd %xmm0,%xmm2
divsd  %xmm3,%xmm5
addsd  0x1741(%rip),%xmm5
divsd  %xmm3,%xmm5
addsd  0x173d(%rip),%xmm5
movsd  0x1505(%rip),%xmm0
divsd  %xmm3,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     2120 <Root123+0x1000>
sqrtsd %xmm0,%xmm0
jmp    2141 <Root123+0x1021>
movsd  0x1922(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x191e(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x191a(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1916(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1912(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x190e(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x190a(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1906(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1902(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x18fe(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x18fa(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x18f6(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movapd %xmm4,%xmm0
addsd  %xmm4,%xmm0
movapd %xmm0,(%rsp)
xorpd  0x1b7b(%rip),%xmm4
movapd %xmm4,%xmm0
movapd %xmm1,0x20(%rsp)
call   1030 <exp@plt>
movapd (%rsp),%xmm5
movsd  0x18c7(%rip),%xmm1
movapd 0x20(%rsp),%xmm4
mulsd  %xmm4,%xmm1
addsd  0x18bd(%rip),%xmm1
movapd %xmm4,%xmm3
unpcklpd %xmm1,%xmm3
movapd 0x201d(%rip),%xmm2
unpcklpd %xmm4,%xmm2
mulpd  %xmm3,%xmm2
addpd  0x201d(%rip),%xmm2
unpcklpd %xmm4,%xmm4
mulpd  %xmm4,%xmm2
addpd  0x201d(%rip),%xmm2
mulpd  %xmm4,%xmm2
addpd  0x2021(%rip),%xmm2
mulpd  %xmm4,%xmm2
addpd  0x2025(%rip),%xmm2
mulpd  %xmm4,%xmm2
addpd  0x2029(%rip),%xmm2
movsd  0x10(%rsp),%xmm1
mulsd  %xmm1,%xmm5
mulpd  %xmm4,%xmm2
addpd  0x2023(%rip),%xmm2
addsd  %xmm0,%xmm5
mulpd  %xmm4,%xmm2
addpd  0x2023(%rip),%xmm2
mulpd  %xmm4,%xmm2
addpd  0x2027(%rip),%xmm2
mulpd  %xmm4,%xmm2
addpd  0x202b(%rip),%xmm2
movapd %xmm1,%xmm0
subsd  %xmm5,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm2,%xmm1
unpckhpd %xmm2,%xmm1
movsd  0x1333(%rip),%xmm4
addsd  %xmm1,%xmm4
mulsd  %xmm0,%xmm4
subsd  %xmm2,%xmm1
divsd  %xmm1,%xmm4
subsd  %xmm4,%xmm5
movlpd %xmm2,(%rbx)
movsd  %xmm5,(%r14)
movhpd %xmm2,0x8(%rbx)
movsd  %xmm4,0x8(%r14)
jmp    2466 <Root123+0x1346>
movsd  0x16c6(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16c2(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16be(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16ba(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16b6(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16b2(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16ae(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16aa(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x16a6(%rip),%xmm0
movapd %xmm0,(%rsp)
movapd %xmm1,%xmm0
unpcklpd %xmm1,%xmm0
movapd 0x1e31(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e35(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e39(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e3d(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e41(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e45(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e49(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e4d(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e51(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1e55(%rip),%xmm2
movapd %xmm2,0x10(%rsp)
movsd  0x161f(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x161b(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1617(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1613(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x160f(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x160b(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1607(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x1603(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x15ff(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x15fb(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x15f7(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0x15f3(%rip),%xmm0
movapd %xmm0,0x30(%rsp)
movapd %xmm4,%xmm0
xorpd  0x18e1(%rip),%xmm0
movapd %xmm4,0x20(%rsp)
call   1030 <exp@plt>
movapd 0x18ce(%rip),%xmm7
movapd 0x10(%rsp),%xmm12
movapd (%rsp),%xmm10
movapd 0x20(%rsp),%xmm6
addsd  %xmm6,%xmm6
movapd %xmm6,%xmm1
movapd 0x30(%rsp),%xmm5
mulsd  %xmm5,%xmm1
addsd  %xmm0,%xmm1
divsd  0x113d(%rip),%xmm1
mulsd  %xmm1,%xmm6
addsd  %xmm0,%xmm6
movsd  0x1125(%rip),%xmm2
addsd  %xmm10,%xmm2
movapd %xmm10,%xmm0
divsd  %xmm2,%xmm0
movapd 0x1947(%rip),%xmm3
addpd  %xmm12,%xmm3
movapd %xmm12,%xmm2
divpd  %xmm3,%xmm2
movapd %xmm0,%xmm3
mulsd  %xmm1,%xmm3
subsd  %xmm3,%xmm5
movapd %xmm0,%xmm3
mulsd  %xmm6,%xmm3
subsd  %xmm3,%xmm1
movapd %xmm2,%xmm3
xorpd  %xmm7,%xmm3
movapd %xmm2,%xmm4
unpckhpd %xmm2,%xmm4
subsd  %xmm2,%xmm4
xorpd  %xmm5,%xmm7
movapd %xmm5,%xmm8
movapd %xmm2,%xmm5
shufpd $0x1,%xmm3,%xmm5
unpcklpd %xmm1,%xmm1
mulpd  %xmm5,%xmm1
unpcklpd %xmm8,%xmm7
addpd  %xmm1,%xmm7
unpcklpd %xmm0,%xmm0
subpd  %xmm0,%xmm2
unpcklpd %xmm4,%xmm4
mulpd  %xmm2,%xmm4
divpd  %xmm4,%xmm7
subsd  %xmm7,%xmm6
movapd %xmm7,%xmm0
unpckhpd %xmm7,%xmm0
subsd  %xmm0,%xmm6
movapd %xmm6,%xmm5
movsd  %xmm10,(%rbx)
movsd  %xmm5,(%r14)
jmp    244e <Root123+0x132e>
movapd %xmm5,(%rsp)
movsd  %xmm4,0x10(%rsp)
call   1040 <sqrt@plt>
movsd  0x10(%rsp),%xmm4
movapd (%rsp),%xmm5
movapd 0x20(%rsp),%xmm3
mulsd  %xmm4,%xmm5
addsd  %xmm0,%xmm5
movapd %xmm5,%xmm11
subsd  %xmm4,%xmm11
movapd %xmm3,%xmm0
addsd  %xmm3,%xmm0
divsd  %xmm0,%xmm11
cmp    $0x3,%ebp
je     220b <Root123+0x10eb>
cmp    $0x2,%ebp
jne    242b <Root123+0x130b>
addsd  0x1351(%rip),%xmm3
movsd  0x13c9(%rip),%xmm0
mulsd  %xmm3,%xmm0
addsd  0x13c5(%rip),%xmm0
unpcklpd %xmm3,%xmm0
movapd 0x1ac9(%rip),%xmm2
movsd  %xmm3,%xmm2
mulpd  %xmm0,%xmm2
addpd  0x1ac9(%rip),%xmm2
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm2
addpd  0x1ac9(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1acd(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1ad1(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1ad5(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1ad9(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1add(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1ae1(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1ae5(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1ae9(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1aed(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1af1(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0x1af5(%rip),%xmm2
jmp    2790 <Root123+0x1670>
movsd  0xf78(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    23b6 <Root123+0x1296>
movapd 0x16a6(%rip),%xmm0
xorpd  %xmm4,%xmm0
call   1030 <exp@plt>
movapd 0x20(%rsp),%xmm4
movapd %xmm0,%xmm2
movsd  0xfcb(%rip),%xmm5
divsd  %xmm4,%xmm5
addsd  0xfc7(%rip),%xmm5
divsd  %xmm4,%xmm5
addsd  0xfc3(%rip),%xmm5
movsd  0xf33(%rip),%xmm0
divsd  %xmm4,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     23d9 <Root123+0x12b9>
sqrtsd %xmm0,%xmm0
jmp    23fa <Root123+0x12da>
movapd %xmm5,(%rsp)
movapd %xmm2,0x10(%rsp)
call   1040 <sqrt@plt>
movapd 0x10(%rsp),%xmm2
movapd (%rsp),%xmm5
movapd 0x20(%rsp),%xmm3
mulsd  %xmm2,%xmm5
addsd  %xmm0,%xmm5
movapd %xmm5,%xmm11
subsd  %xmm2,%xmm11
movapd %xmm3,%xmm0
addsd  %xmm3,%xmm0
divsd  %xmm0,%xmm11
cmp    $0x3,%ebp
je     246f <Root123+0x134f>
cmp    $0x2,%ebp
jne    242b <Root123+0x130b>
movsd  0x1176(%rip),%xmm1
mulsd  %xmm3,%xmm1
addsd  0x1172(%rip),%xmm1
unpcklpd %xmm3,%xmm1
movapd 0x17ee(%rip),%xmm0
movsd  %xmm3,%xmm0
mulpd  %xmm1,%xmm0
addpd  0x17ee(%rip),%xmm0
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm0
addpd  0x17ee(%rip),%xmm0
movapd 0x17f6(%rip),%xmm1
divpd  %xmm3,%xmm1
addpd  0x17fa(%rip),%xmm1
divpd  %xmm3,%xmm1
addpd  0x17fe(%rip),%xmm1
divpd  %xmm3,%xmm1
addpd  0x1802(%rip),%xmm1
divpd  %xmm3,%xmm1
mulpd  %xmm3,%xmm0
addpd  %xmm1,%xmm0
addpd  0x17fe(%rip),%xmm0
addpd  0x15e6(%rip),%xmm3
movapd 0x15ee(%rip),%xmm1
divpd  %xmm3,%xmm1
jmp    2784 <Root123+0x1664>
addsd  0x1125(%rip),%xmm3
movsd  0x1124(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x111e(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x1118(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x1112(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x110c(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x1106(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x1100(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x10fa(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x10f4(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x10ee(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x10e8(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x10e2(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0x10dc(%rip),%xmm10
movsd  0x10dc(%rip),%xmm1
mulsd  %xmm3,%xmm1
addsd  0x10d8(%rip),%xmm1
movapd %xmm3,%xmm2
unpcklpd %xmm1,%xmm2
movapd 0x1717(%rip),%xmm12
unpcklpd %xmm3,%xmm12
mulpd  %xmm2,%xmm12
addpd  0x1714(%rip),%xmm12
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm12
addpd  0x1712(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1714(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1716(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1718(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x171a(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x171c(%rip),%xmm12
movapd %xmm11,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x1719(%rip),%xmm12
addsd  %xmm11,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x1716(%rip),%xmm12
addsd  %xmm11,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x1713(%rip),%xmm12
subsd  %xmm4,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x1711(%rip),%xmm12
divsd  %xmm0,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x170f(%rip),%xmm12
jmp    2615 <Root123+0x14f5>
movsd  0xc7a(%rip),%xmm0
divsd  %xmm4,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     26c3 <Root123+0x15a3>
sqrtsd %xmm0,%xmm5
jmp    26d2 <Root123+0x15b2>
movapd %xmm5,(%rsp)
movapd %xmm2,0x10(%rsp)
call   1040 <sqrt@plt>
movapd 0x10(%rsp),%xmm2
movapd (%rsp),%xmm5
movapd 0x20(%rsp),%xmm4
mulsd  %xmm2,%xmm5
addsd  %xmm0,%xmm5
movapd %xmm5,%xmm11
subsd  %xmm2,%xmm11
movapd %xmm4,%xmm1
addsd  %xmm4,%xmm1
divsd  %xmm1,%xmm11
cmp    $0x3,%ebp
je     2843 <Root123+0x1723>
cmp    $0x2,%ebp
je     2708 <Root123+0x15e8>
cmp    $0x1,%ebp
je     14ab <Root123+0x38b>
movq   $0x0,(%rbx)
movsd  %xmm5,(%r14)
xorpd  %xmm7,%xmm7
xorpd  %xmm12,%xmm12
cmp    $0x1,%ebp
jle    2466 <Root123+0x1346>
movlpd %xmm12,0x8(%rbx)
movlpd %xmm7,0x8(%r14)
movhpd %xmm12,0x10(%rbx)
movhpd %xmm7,0x10(%r14)
add    $0x40,%rsp
pop    %rbx
pop    %r14
pop    %rbp
ret
addsd  0xdf9(%rip),%xmm3
movsd  0xdf8(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdf2(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdec(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xde6(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xde0(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdda(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdd4(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdce(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdc8(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdc2(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdbc(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdb6(%rip),%xmm10
mulsd  %xmm3,%xmm10
addsd  0xdb0(%rip),%xmm10
movsd  0xdb0(%rip),%xmm1
mulsd  %xmm3,%xmm1
addsd  0xdac(%rip),%xmm1
movapd %xmm3,%xmm4
unpcklpd %xmm1,%xmm4
movapd 0x1363(%rip),%xmm12
unpcklpd %xmm3,%xmm12
mulpd  %xmm4,%xmm12
addpd  0x1360(%rip),%xmm12
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm12
addpd  0x135e(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1360(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1362(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1364(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1366(%rip),%xmm12
mulpd  %xmm3,%xmm12
addpd  0x1368(%rip),%xmm12
movapd %xmm11,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x1365(%rip),%xmm12
addsd  %xmm11,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x1362(%rip),%xmm12
addsd  %xmm11,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x135f(%rip),%xmm12
subsd  %xmm2,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x135d(%rip),%xmm12
divsd  %xmm0,%xmm1
mulpd  %xmm3,%xmm12
addpd  0x135b(%rip),%xmm12
movsd  0x9eb(%rip),%xmm2
addsd  %xmm10,%xmm2
movapd %xmm10,%xmm0
divsd  %xmm2,%xmm0
movapd 0x120d(%rip),%xmm3
addpd  %xmm12,%xmm3
movapd %xmm12,%xmm2
divpd  %xmm3,%xmm2
movapd %xmm0,%xmm3
mulsd  %xmm11,%xmm3
subsd  %xmm3,%xmm1
movapd %xmm0,%xmm3
mulsd  %xmm5,%xmm3
subsd  %xmm3,%xmm11
movapd 0x110d(%rip),%xmm7
movapd %xmm2,%xmm8
xorpd  %xmm7,%xmm8
movapd %xmm2,%xmm4
unpckhpd %xmm2,%xmm4
subsd  %xmm2,%xmm4
xorpd  %xmm1,%xmm7
movapd %xmm2,%xmm3
shufpd $0x1,%xmm8,%xmm3
unpcklpd %xmm11,%xmm11
mulpd  %xmm3,%xmm11
unpcklpd %xmm1,%xmm7
addpd  %xmm11,%xmm7
unpcklpd %xmm0,%xmm0
subpd  %xmm0,%xmm2
unpcklpd %xmm4,%xmm4
mulpd  %xmm2,%xmm4
divpd  %xmm4,%xmm7
subsd  %xmm7,%xmm5
movapd %xmm7,%xmm0
unpckhpd %xmm7,%xmm0
subsd  %xmm0,%xmm5
jmp    1f7e <Root123+0xe5e>
call   1040 <sqrt@plt>
movapd 0x20(%rsp),%xmm4
movapd %xmm0,%xmm5
cmp    $0x3,%ebp
je     2a00 <Root123+0x18e0>
cmp    $0x2,%ebp
je     27a7 <Root123+0x1687>
cmp    $0x1,%ebp
jne    2434 <Root123+0x1314>
addsd  0x9ab(%rip),%xmm4
movsd  0x9aa(%rip),%xmm11
divsd  %xmm4,%xmm11
jmp    14b9 <Root123+0x399>
movsd  0xb30(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0xb2c(%rip),%xmm1
unpcklpd %xmm4,%xmm1
movapd 0x1128(%rip),%xmm0
movsd  %xmm4,%xmm0
mulpd  %xmm1,%xmm0
addpd  0x1128(%rip),%xmm0
unpcklpd %xmm4,%xmm4
mulpd  %xmm4,%xmm0
addpd  0x1128(%rip),%xmm0
movapd 0x1130(%rip),%xmm1
divpd  %xmm4,%xmm1
addpd  0x1134(%rip),%xmm1
divpd  %xmm4,%xmm1
mulpd  %xmm4,%xmm0
addpd  %xmm1,%xmm0
addpd  0x1130(%rip),%xmm0
addpd  0x1068(%rip),%xmm4
movapd 0x1070(%rip),%xmm1
divpd  %xmm4,%xmm1
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movapd %xmm11,%xmm0
subsd  %xmm5,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm11,%xmm0
jmp    1cc5 <Root123+0xba5>
movsd  0x8d1(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    2b3e <Root123+0x1a1e>
movapd 0xfaf(%rip),%xmm0
xorpd  %xmm4,%xmm0
movapd %xmm5,(%rsp)
call   1030 <exp@plt>
movapd (%rsp),%xmm5
movapd 0x20(%rsp),%xmm4
movapd %xmm0,%xmm2
movapd %xmm4,%xmm1
unpcklpd %xmm4,%xmm1
movapd 0x1012(%rip),%xmm6
mulpd  %xmm1,%xmm6
addpd  0x1016(%rip),%xmm6
addpd  0xfde(%rip),%xmm1
movapd 0xfe6(%rip),%xmm3
divpd  %xmm1,%xmm3
mulsd  0x87a(%rip),%xmm4
addsd  0x87a(%rip),%xmm4
mulsd  %xmm0,%xmm4
unpcklpd %xmm0,%xmm2
mulpd  %xmm6,%xmm2
addpd  %xmm3,%xmm2
movsd  0x852(%rip),%xmm0
mulsd  %xmm5,%xmm0
addsd  %xmm0,%xmm4
jmp    1ce5 <Root123+0xbc5>
movapd %xmm11,%xmm9
addsd  %xmm11,%xmm9
addsd  %xmm11,%xmm9
subsd  %xmm2,%xmm9
divsd  %xmm1,%xmm9
movsd  0x864(%rip),%xmm1
ucomisd %xmm4,%xmm1
jbe    2b67 <Root123+0x1a47>
movsd  0x8f2(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x8ee(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x8ea(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x8e6(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x8e2(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x8de(%rip),%xmm1
movsd  0x8de(%rip),%xmm3
divsd  %xmm4,%xmm3
addsd  0x8da(%rip),%xmm3
divsd  %xmm4,%xmm3
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
addsd  0x8ce(%rip),%xmm1
movsd  0x8cd(%rip),%xmm12
mulsd  %xmm4,%xmm12
addsd  0x8c7(%rip),%xmm12
movsd  0x74f(%rip),%xmm3
mulsd  %xmm4,%xmm12
addsd  0x8b9(%rip),%xmm12
addsd  %xmm4,%xmm3
mulsd  %xmm4,%xmm12
addsd  0x8af(%rip),%xmm12
movsd  0x72e(%rip),%xmm8
mulsd  %xmm4,%xmm12
addsd  0x8a0(%rip),%xmm12
movsd  0x8a0(%rip),%xmm0
divsd  %xmm4,%xmm0
addsd  0x89c(%rip),%xmm0
divsd  %xmm4,%xmm0
addsd  0x898(%rip),%xmm0
divsd  %xmm4,%xmm0
mulsd  %xmm4,%xmm12
addsd  %xmm0,%xmm12
addsd  0x889(%rip),%xmm12
divsd  %xmm3,%xmm8
movsd  0x7bc(%rip),%xmm3
addsd  %xmm4,%xmm3
movsd  0x7b7(%rip),%xmm10
movsd  0x86f(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  0x86b(%rip),%xmm0
divsd  %xmm3,%xmm10
mulsd  %xmm4,%xmm0
addsd  0x862(%rip),%xmm0
mulsd  %xmm2,%xmm12
mulsd  %xmm4,%xmm0
addsd  0x859(%rip),%xmm0
addsd  %xmm10,%xmm12
unpcklpd %xmm1,%xmm0
movapd %xmm4,%xmm1
unpcklpd %xmm2,%xmm1
mulpd  %xmm0,%xmm1
movapd 0xe5b(%rip),%xmm10
unpcklpd %xmm8,%xmm10
addpd  %xmm1,%xmm10
movsd  0x831(%rip),%xmm1
divsd  %xmm4,%xmm1
addsd  0x82d(%rip),%xmm1
movsd  0x82d(%rip),%xmm0
jmp    2c90 <Root123+0x1b70>
movsd  0x638(%rip),%xmm0
ucomisd %xmm4,%xmm0
jbe    2d5d <Root123+0x1c3d>
movapd 0xd56(%rip),%xmm0
xorpd  %xmm4,%xmm0
movapd %xmm5,(%rsp)
call   1030 <exp@plt>
movapd (%rsp),%xmm5
movsd  0x622(%rip),%xmm10
movapd 0x20(%rsp),%xmm6
mulsd  %xmm6,%xmm10
addsd  0x616(%rip),%xmm10
mulsd  %xmm6,%xmm10
addsd  0x610(%rip),%xmm10
movsd  0x5e8(%rip),%xmm1
addsd  %xmm6,%xmm1
movsd  0x5e4(%rip),%xmm2
divsd  %xmm1,%xmm2
mulsd  %xmm0,%xmm10
addsd  %xmm2,%xmm10
movapd %xmm6,%xmm1
unpcklpd %xmm6,%xmm1
movapd 0xcb6(%rip),%xmm2
addpd  %xmm1,%xmm2
movapd 0xcba(%rip),%xmm3
movsd  0x5d2(%rip),%xmm4
mulsd  %xmm6,%xmm4
addsd  0x5ce(%rip),%xmm4
divpd  %xmm2,%xmm3
movapd 0xcfa(%rip),%xmm2
unpcklpd %xmm6,%xmm2
unpcklpd %xmm4,%xmm6
movapd 0xcb9(%rip),%xmm12
mulpd  %xmm1,%xmm12
addpd  0xcbb(%rip),%xmm12
mulpd  %xmm1,%xmm12
addpd  0xcbd(%rip),%xmm12
unpcklpd %xmm0,%xmm0
mulpd  %xmm0,%xmm12
movapd %xmm6,%xmm4
mulpd  %xmm2,%xmm4
addpd  0xcc4(%rip),%xmm4
addpd  %xmm3,%xmm12
mulpd  %xmm1,%xmm4
addpd  0xcc3(%rip),%xmm4
movapd %xmm5,%xmm1
unpcklpd %xmm5,%xmm1
mulpd  0xc43(%rip),%xmm1
mulpd  %xmm0,%xmm4
addpd  %xmm1,%xmm4
subsd  %xmm4,%xmm5
movapd %xmm4,%xmm0
movapd %xmm4,%xmm7
unpckhpd %xmm4,%xmm0
subsd  %xmm0,%xmm5
jmp    1f7e <Root123+0xe5e>
unpcklpd %xmm4,%xmm4
addpd  0xc96(%rip),%xmm4
movapd 0xc9e(%rip),%xmm2
divpd  %xmm4,%xmm2
movsd  0x52a(%rip),%xmm4
mulsd  %xmm5,%xmm4
jmp    1ce5 <Root123+0xbc5>
movsd  0x561(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x55d(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x559(%rip),%xmm1
mulsd  %xmm4,%xmm1
addsd  0x555(%rip),%xmm1
movsd  0x555(%rip),%xmm3
divsd  %xmm4,%xmm3
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
addsd  0x549(%rip),%xmm1
movsd  0x491(%rip),%xmm3
movsd  0x540(%rip),%xmm12
mulsd  %xmm4,%xmm12
addsd  0x53a(%rip),%xmm12
addsd  %xmm4,%xmm3
mulsd  %xmm4,%xmm12
addsd  0x530(%rip),%xmm12
movsd  0x467(%rip),%xmm8
mulsd  %xmm4,%xmm12
addsd  0x521(%rip),%xmm12
divsd  %xmm3,%xmm8
movsd  0x51c(%rip),%xmm3
divsd  %xmm4,%xmm3
mulsd  %xmm4,%xmm12
addsd  %xmm3,%xmm12
addsd  0x50d(%rip),%xmm12
movsd  0x50d(%rip),%xmm3
addsd  %xmm4,%xmm3
movsd  0x509(%rip),%xmm0
divsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm12
movsd  0x500(%rip),%xmm3
mulsd  %xmm4,%xmm3
addsd  0x4fc(%rip),%xmm3
addsd  %xmm0,%xmm12
mulsd  %xmm4,%xmm3
addsd  0x4f3(%rip),%xmm3
unpcklpd %xmm1,%xmm3
movapd %xmm4,%xmm1
unpcklpd %xmm2,%xmm1
mulpd  %xmm3,%xmm1
movapd 0xbaa(%rip),%xmm10
unpcklpd %xmm8,%xmm10
addpd  %xmm1,%xmm10
movsd  0x4d0(%rip),%xmm0
movsd  0x4d0(%rip),%xmm1
divsd  %xmm4,%xmm1
movapd %xmm10,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
addsd  %xmm0,%xmm3
addsd  0x583(%rip),%xmm4
movsd  0x583(%rip),%xmm1
divsd  %xmm4,%xmm1
mulsd  %xmm2,%xmm3
addsd  %xmm1,%xmm3
unpcklpd %xmm3,%xmm12
unpckhpd %xmm10,%xmm10
movsd  0x335(%rip),%xmm2
addsd  %xmm10,%xmm2
movapd %xmm10,%xmm1
divsd  %xmm2,%xmm1
movapd 0xb57(%rip),%xmm3
addpd  %xmm12,%xmm3
movapd %xmm12,%xmm2
divpd  %xmm3,%xmm2
movapd %xmm1,%xmm3
mulsd  %xmm11,%xmm3
subsd  %xmm3,%xmm9
movapd %xmm1,%xmm3
mulsd  %xmm5,%xmm3
subsd  %xmm3,%xmm11
movapd 0xa56(%rip),%xmm7
movapd %xmm2,%xmm3
xorpd  %xmm7,%xmm3
movapd %xmm2,%xmm4
unpckhpd %xmm2,%xmm4
subsd  %xmm2,%xmm4
xorpd  %xmm9,%xmm7
movapd %xmm2,%xmm0
shufpd $0x1,%xmm3,%xmm0
unpcklpd %xmm11,%xmm11
mulpd  %xmm0,%xmm11
unpcklpd %xmm9,%xmm7
addpd  %xmm11,%xmm7
unpcklpd %xmm1,%xmm1
subpd  %xmm1,%xmm2
jmp    26a2 <Root123+0x1582>
movsd  0x2e3(%rip),%xmm0
addsd  %xmm4,%xmm0
movsd  0x2de(%rip),%xmm10
divsd  %xmm0,%xmm10
unpcklpd %xmm4,%xmm4
addpd  0x9bd(%rip),%xmm4
movapd 0x9c4(%rip),%xmm12
movapd %xmm5,%xmm7
unpcklpd %xmm5,%xmm7
mulpd  0x9c4(%rip),%xmm7
divpd  %xmm4,%xmm12
jmp    26ae <Root123+0x158e>

LLVM IR (-O0):
define void @Root123(i32 %0, double %1, double* %2, double* %3) {
%5 = alloca i32
%6 = alloca double
%7 = alloca double*
%8 = alloca double*
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
store i32 %0, i32* %5
store double %1, double* %6
store double* %2, double** %7
store double* %3, double** %8
store double 0.000000e+00, double* %18
store double 0.000000e+00, double* %19
store double 0.000000e+00, double* %20
store double 0.000000e+00, double* %21
store double 0.000000e+00, double* %22
store double 0.000000e+00, double* %23
store double 0x3FD19DC7AFDB7B47, double* %9
store double 0x3FE921FB54442D15, double* %10
store double 0x4005CC470A049083, double* %11
store double 0x3FB77D0A3FCF4F02, double* %12
store double 0x3FC85747227076B0, double* %13
store double 0x3FFC8D4844AF141D, double* %14
store double 0x3FC6AF858329214A, double* %15
store double 0x401619F3B5C0B740, double* %16
store double 0x3F74EFDE4D84C79E, double* %17
%33 = load double, double* %6
%34 = fcmp olt double %33, 3.000000e-07
br i1 %34, label %35, label %76
35: ; preds = %4
%36 = load i32, i32* %5
%37 = icmp eq i32 %36, 1
br i1 %37, label %38, label %45
38: ; preds = %35
%39 = load double, double* %6
%40 = fdiv double %39, 5.000000e+00
%41 = fsub double 5.000000e-01, %40
store double %41, double* %18
%42 = load double, double* %6
%43 = fdiv double %42, 3.000000e+00
%44 = fsub double 1.000000e+00, %43
store double %44, double* %21
br label %75
45: ; preds = %35
%46 = load i32, i32* %5
%47 = icmp eq i32 %46, 2
br i1 %47, label %48, label %57
48: ; preds = %45
%49 = load double, double* %6
%50 = call double @llvm.fmuladd.f64(double 0xBF9DBD74524BF7A9, double %49, double 0x3FC0BA916E4AD393)
store double %50, double* %18
%51 = load double, double* %6
%52 = call double @llvm.fmuladd.f64(double 0xBFE46769B2C2E8DD, double %51, double 0x4006F456E91B52BC)
store double %52, double* %19
%53 = load double, double* %6
%54 = call double @llvm.fmuladd.f64(double 0xBFBF6A28F0F3516E, double %53, double 0x3FE4DE5F840C24C0)
store double %54, double* %21
%55 = load double, double* %6
%56 = call double @llvm.fmuladd.f64(double 0xBFCAF59632302907, double %55, double 0x3FD64340F7E7B65C)
store double %56, double* %22
br label %74
57: ; preds = %45
%58 = load i32, i32* %5
%59 = icmp eq i32 %58, 3
br i1 %59, label %60, label %73
60: ; preds = %57
%61 = load double, double* %6
%62 = call double @llvm.fmuladd.f64(double 0xBF8305FBF2659EA3, double %61, double 0x3FAEE9B969E53E5F)
store double %62, double* %18
%63 = load double, double* %6
%64 = call double @llvm.fmuladd.f64(double 0xBFBE984AA6D85C05, double %63, double 0x3FE8DBBCA78FC4FF)
store double %64, double* %19
%65 = load double, double* %6
%66 = call double @llvm.fmuladd.f64(double 0xBFF06696C024DBF4, double %65, double 0x401AA6B4F83A3CDB)
store double %66, double* %20
%67 = load double, double* %6
%68 = call double @llvm.fmuladd.f64(double 0xBFACEBF46927E217, double %67, double 0x3FDDF24D499545E7)
store double %68, double* %21
%69 = load double, double* %6
%70 = call double @llvm.fmuladd.f64(double 0xBFC314F61433D0E6, double %69, double 0x3FD716B7B5794BFF)
store double %70, double* %22
%71 = load double, double* %6
%72 = call double @llvm.fmuladd.f64(double 0xBFC05AB77C2ABD28, double %71, double 0x3FC5EDF601E2DBC7)
store double %72, double* %23
br label %73
73: ; preds = %60, %57
br label %74
74: ; preds = %73, %48
br label %75
75: ; preds = %74, %38
br label %1892
76: ; preds = %4
%77 = load double, double* %6
%78 = fcmp olt double %77, 1.000000e+00
br i1 %78, label %79, label %328
79: ; preds = %76
%80 = load i32, i32* %5
%81 = icmp eq i32 %80, 1
br i1 %81, label %82, label %114
82: ; preds = %79
%83 = load double, double* %6
%84 = call double @llvm.fmuladd.f64(double 0xBE76731B00F2E07F, double %83, double 0x3EB456789F017AD7)
%85 = load double, double* %6
%86 = call double @llvm.fmuladd.f64(double %84, double %85, double 0xBEE84196CB5ECA91)
%87 = load double, double* %6
%88 = call double @llvm.fmuladd.f64(double %86, double %87, double 0x3F1840E4FC817BA3)
%89 = load double, double* %6
%90 = call double @llvm.fmuladd.f64(double %88, double %89, double 0xBF45010C605C6322)
%91 = load double, double* %6
%92 = call double @llvm.fmuladd.f64(double %90, double %91, double 0x3F6F07BD7574E5B9)
%93 = load double, double* %6
%94 = call double @llvm.fmuladd.f64(double %92, double %93, double 0xBF92F684A7C3EC5A)
%95 = load double, double* %6
%96 = call double @llvm.fmuladd.f64(double %94, double %95, double 0x3FB2492491DC9122)
%97 = load double, double* %6
%98 = call double @llvm.fmuladd.f64(double %96, double %97, double 0xBFC999999997F6A0)
%99 = load double, double* %6
%100 = call double @llvm.fmuladd.f64(double %98, double %99, double 0x3FD5555555555441)
store double %100, double* %24
%101 = load double, double* %6
%102 = load double, double* %6
%103 = fadd double %101, %102
%104 = load double, double* %24
%105 = load double, double* %6
%106 = fneg double %105
%107 = call double @exp(double %106)
%108 = call double @llvm.fmuladd.f64(double %103, double %104, double %107)
store double %108, double* %21
%109 = load double, double* %24
%110 = load double, double* %21
%111 = load double, double* %24
%112 = fsub double %110, %111
%113 = fdiv double %109, %112
store double %113, double* %18
br label %327
114: ; preds = %79
%115 = load i32, i32* %5
%116 = icmp eq i32 %115, 2
br i1 %116, label %117, label %192
117: ; preds = %114
%118 = load double, double* %6
%119 = call double @llvm.fmuladd.f64(double 0xBE76731B00F2E07F, double %118, double 0x3EB456789F017AD7)
%120 = load double, double* %6
%121 = call double @llvm.fmuladd.f64(double %119, double %120, double 0xBEE84196CB5ECA91)
%122 = load double, double* %6
%123 = call double @llvm.fmuladd.f64(double %121, double %122, double 0x3F1840E4FC817BA3)
%124 = load double, double* %6
%125 = call double @llvm.fmuladd.f64(double %123, double %124, double 0xBF45010C605C6322)
%126 = load double, double* %6
%127 = call double @llvm.fmuladd.f64(double %125, double %126, double 0x3F6F07BD7574E5B9)
%128 = load double, double* %6
%129 = call double @llvm.fmuladd.f64(double %127, double %128, double 0xBF92F684A7C3EC5A)
%130 = load double, double* %6
%131 = call double @llvm.fmuladd.f64(double %129, double %130, double 0x3FB2492491DC9122)
%132 = load double, double* %6
%133 = call double @llvm.fmuladd.f64(double %131, double %132, double 0xBFC999999997F6A0)
%134 = load double, double* %6
%135 = call double @llvm.fmuladd.f64(double %133, double %134, double 0x3FD5555555555441)
store double %135, double* %24
%136 = load double, double* %6
%137 = load double, double* %6
%138 = fadd double %136, %137
%139 = load double, double* %24
%140 = load double, double* %6
%141 = fneg double %140
%142 = call double @exp(double %141)
%143 = call double @llvm.fmuladd.f64(double %138, double %139, double %142)
store double %143, double* %21
%144 = load double, double* %6
%145 = call double @llvm.fmuladd.f64(double 0xBE2434DBB5854706, double %144, double 0x3E5AC13BAF9E55B8)
%146 = load double, double* %6
%147 = call double @llvm.fmuladd.f64(double %145, double %146, double 0xBE6878E6A38C1ACD)
%148 = load double, double* %6
%149 = call double @llvm.fmuladd.f64(double %147, double %148, double 0xBEC4876F1C6C69C7)
%150 = load double, double* %6
%151 = call double @llvm.fmuladd.f64(double %149, double %150, double 0x3F08DE570D07BBBB)
%152 = load double, double* %6
%153 = call double @llvm.fmuladd.f64(double %151, double %152, double 0xBF4178AD87E07B64)
%154 = load double, double* %6
%155 = call double @llvm.fmuladd.f64(double %153, double %154, double 0x3F72368B88F072BA)
%156 = load double, double* %6
%157 = call double @llvm.fmuladd.f64(double %155, double %156, double 0xBF9DBD74524D242A)
%158 = load double, double* %6
%159 = call double @llvm.fmuladd.f64(double %157, double %158, double 0x3FC0BA916E4AD393)
store double %159, double* %18
%160 = load double, double* %6
%161 = call double @llvm.fmuladd.f64(double 0xBE5A909D3A602EC4, double %160, double 0x3E8FC8BA00A614B3)
%162 = load double, double* %6
%163 = call double @llvm.fmuladd.f64(double %161, double %162, double 0x3EBECAD82AD55635)
%164 = load double, double* %6
%165 = call double @llvm.fmuladd.f64(double %163, double %164, double 0xBEF5AA5463A723E3)
%166 = load double, double* %6
%167 = call double @llvm.fmuladd.f64(double %165, double %166, double 0xBF21A365D2CF9058)
%168 = load double, double* %6
%169 = call double @llvm.fmuladd.f64(double %167, double %168, double 0xBF0ED61300B63088)
%170 = load double, double* %6
%171 = call double @llvm.fmuladd.f64(double %169, double %170, double 0x3FAB46AA4F02389E)
%172 = load double, double* %6
%173 = call double @llvm.fmuladd.f64(double %171, double %172, double 0xBFE46769B2C2B91E)
%174 = load double, double* %6
%175 = call double @llvm.fmuladd.f64(double %173, double %174, double 0x4006F456E91B528F)
store double %175, double* %19
%176 = load double, double* %24
%177 = load double, double* %21
%178 = fsub double %176, %177
%179 = load double, double* %18
%180 = load double, double* %24
%181 = call double @llvm.fmuladd.f64(double %178, double %179, double %180)
%182 = load double, double* %19
%183 = fadd double 1.000000e+00, %182
%184 = fmul double %181, %183
%185 = load double, double* %19
%186 = load double, double* %18
%187 = fsub double %185, %186
%188 = fdiv double %184, %187
store double %188, double* %22
%189 = load double, double* %21
%190 = load double, double* %22
%191 = fsub double %189, %190
store double %191, double* %21
br label %326
192: ; preds = %114
%193 = load i32, i32* %5
%194 = icmp eq i32 %193, 3
br i1 %194, label %195, label %325
195: ; preds = %192
%196 = load double, double* %6
%197 = call double @llvm.fmuladd.f64(double 0xBE0187A64C050A83, double %196, double 0x3E59C8C3BA084876)
%198 = load double, double* %6
%199 = call double @llvm.fmuladd.f64(double %197, double %198, double 0xBEA0D040E61E163F)
%200 = load double, double* %6
%201 = call double @llvm.fmuladd.f64(double %199, double %200, double 0x3EDFCE1736D0827F)
%202 = load double, double* %6
%203 = call double @llvm.fmuladd.f64(double %201, double %202, double 0xBF19097873EAAEBC)
%204 = load double, double* %6
%205 = call double @llvm.fmuladd.f64(double %203, double %204, double 0x3F50DBA598DCD03D)
%206 = load double, double* %6
%207 = call double @llvm.fmuladd.f64(double %205, double %206, double 0xBF8305FBF2671CBE)
%208 = load double, double* %6
%209 = call double @llvm.fmuladd.f64(double %207, double %208, double 0x3FAEE9B969E53F1A)
store double %209, double* %18
%210 = load double, double* %6
%211 = call double @llvm.fmuladd.f64(double 0xBE4BD764A133A864, double %210, double 0x3E74CB06C3C042FD)
%212 = load double, double* %6
%213 = call double @llvm.fmuladd.f64(double %211, double %212, double 0x3EBA2D20F35F5185)
%214 = load double, double* %6
%215 = call double @llvm.fmuladd.f64(double %213, double %214, double 0xBEF092AD0270E6F4)
%216 = load double, double* %6
%217 = call double @llvm.fmuladd.f64(double %215, double %216, double 0xBF35A7FE857E0A56)
%218 = load double, double* %6
%219 = call double @llvm.fmuladd.f64(double %217, double %218, double 0x3F83F3F6E0C1E780)
%220 = load double, double* %6
%221 = call double @llvm.fmuladd.f64(double %219, double %220, double 0xBFBE984AA6D6B89F)
%222 = load double, double* %6
%223 = call double @llvm.fmuladd.f64(double %221, double %222, double 0x3FE8DBBCA78FC4A5)
store double %223, double* %19
%224 = load double, double* %6
%225 = call double @llvm.fmuladd.f64(double 0xBE43F0AEED1B5C22, double %224, double 0xBE9451D42FC798C4)
%226 = load double, double* %6
%227 = call double @llvm.fmuladd.f64(double %225, double %226, double 0xBEC5087B5D760579)
%228 = load double, double* %6
%229 = call double @llvm.fmuladd.f64(double %227, double %228, double 0xBEDEBB9BB111E0E6)
%230 = load double, double* %6
%231 = call double @llvm.fmuladd.f64(double %229, double %230, double 0x3F30014A18D5E0FE)
%232 = load double, double* %6
%233 = call double @llvm.fmuladd.f64(double %231, double %232, double 0x3FA954E5E27577C4)
%234 = load double, double* %6
%235 = call double @llvm.fmuladd.f64(double %233, double %234, double 0xBFF06696C022ABFE)
%236 = load double, double* %6
%237 = call double @llvm.fmuladd.f64(double %235, double %236, double 0x401AA6B4F83A3C3E)
store double %237, double* %20
%238 = load double, double* %6
%239 = call double @llvm.fmuladd.f64(double 0xBE746CF1A4869262, double %238, double 0x3EB261428BAA42CC)
%240 = load double, double* %6
%241 = call double @llvm.fmuladd.f64(double %239, double %240, double 0xBEE5B2A45D5C507F)
%242 = load double, double* %6
%243 = call double @llvm.fmuladd.f64(double %241, double %242, double 0x3F1566436AA26142)
%244 = load double, double* %6
%245 = call double @llvm.fmuladd.f64(double %243, double %244, double 0xBF42341857CB7FC3)
%246 = load double, double* %6
%247 = call double @llvm.fmuladd.f64(double %245, double %246, double 0x3F6A419FFDCE2E7C)
%248 = load double, double* %6
%249 = call double @llvm.fmuladd.f64(double %247, double %248, double 0xBF8F07C1C85D43DE)
%250 = load double, double* %6
%251 = call double @llvm.fmuladd.f64(double %249, double %250, double 0x3FAC71C71BAA8D81)
%252 = load double, double* %6
%253 = call double @llvm.fmuladd.f64(double %251, double %252, double 0xBFC249249247A43D)
%254 = load double, double* %6
%255 = call double @llvm.fmuladd.f64(double %253, double %254, double 0x3FC99999999997A1)
store double %255, double* %25
%256 = load double, double* %6
%257 = fneg double %256
%258 = call double @exp(double %257)
store double %258, double* %26
%259 = load double, double* %6
%260 = load double, double* %6
%261 = fadd double %259, %260
%262 = load double, double* %25
%263 = load double, double* %26
%264 = call double @llvm.fmuladd.f64(double %261, double %262, double %263)
%265 = fdiv double %264, 3.000000e+00
store double %265, double* %24
%266 = load double, double* %6
%267 = load double, double* %6
%268 = fadd double %266, %267
%269 = load double, double* %24
%270 = load double, double* %26
%271 = call double @llvm.fmuladd.f64(double %268, double %269, double %270)
store double %271, double* %21
%272 = load double, double* %18
%273 = load double, double* %18
%274 = fadd double %273, 1.000000e+00
%275 = fdiv double %272, %274
store double %275, double* %27
%276 = load double, double* %19
%277 = load double, double* %19
%278 = fadd double %277, 1.000000e+00
%279 = fdiv double %276, %278
store double %279, double* %28
%280 = load double, double* %20
%281 = load double, double* %20
%282 = fadd double %281, 1.000000e+00
%283 = fdiv double %280, %282
store double %283, double* %29
%284 = load double, double* %25
%285 = load double, double* %27
%286 = load double, double* %24
%287 = fneg double %285
%288 = call double @llvm.fmuladd.f64(double %287, double %286, double %284)
store double %288, double* %31
%289 = load double, double* %24
%290 = load double, double* %27
%291 = load double, double* %21
%292 = fneg double %290
%293 = call double @llvm.fmuladd.f64(double %292, double %291, double %289)
store double %293, double* %30
%294 = load double, double* %31
%295 = load double, double* %28
%296 = load double, double* %30
%297 = fneg double %295
%298 = call double @llvm.fmuladd.f64(double %297, double %296, double %294)
%299 = load double, double* %29
%300 = load double, double* %28
%301 = fsub double %299, %300
%302 = load double, double* %29
%303 = load double, double* %27
%304 = fsub double %302, %303
%305 = fmul double %301, %304
%306 = fdiv double %298, %305
store double %306, double* %23
%307 = load double, double* %29
%308 = load double, double* %30
%309 = load double, double* %31
%310 = fneg double %309
%311 = call double @llvm.fmuladd.f64(double %307, double %308, double %310)
%312 = load double, double* %29
%313 = load double, double* %28
%314 = fsub double %312, %313
%315 = load double, double* %28
%316 = load double, double* %27
%317 = fsub double %315, %316
%318 = fmul double %314, %317
%319 = fdiv double %311, %318
store double %319, double* %22
%320 = load double, double* %21
%321 = load double, double* %22
%322 = fsub double %320, %321
%323 = load double, double* %23
%324 = fsub double %322, %323
store double %324, double* %21
br label %325
325: ; preds = %195, %192
br label %326
326: ; preds = %325, %117
br label %327
327: ; preds = %326, %82
br label %1891
328: ; preds = %76
%329 = load double, double* %6
%330 = fcmp olt double %329, 3.000000e+00
br i1 %330, label %331, label %612
331: ; preds = %328
%332 = load double, double* %6
%333 = fsub double %332, 2.000000e+00
store double %333, double* %32
%334 = load i32, i32* %5
%335 = icmp eq i32 %334, 1
br i1 %335, label %336, label %372
336: ; preds = %331
%337 = load double, double* %32
%338 = call double @llvm.fmuladd.f64(double 0xBDE639692E6D26F8, double %337, double 0x3E20DAD1A9D197FF)
%339 = load double, double* %32
%340 = call double @llvm.fmuladd.f64(double %338, double %339, double 0xBE5700D50C75966B)
%341 = load double, double* %32
%342 = call double @llvm.fmuladd.f64(double %340, double %341, double 0x3E8D278109166491)
%343 = load double, double* %32
%344 = call double @llvm.fmuladd.f64(double %342, double %343, double 0xBEC0AE4660B81F04)
%345 = load double, double* %32
%346 = call double @llvm.fmuladd.f64(double %344, double %345, double 0x3EF1082DCC2EA1D8)
%347 = load double, double* %32
%348 = call double @llvm.fmuladd.f64(double %346, double %347, double 0xBF1E9A4F0C7FE5E0)
%349 = load double, double* %32
%350 = call double @llvm.fmuladd.f64(double %348, double %349, double 0x3F47C0CEB2DE1FA1)
%351 = load double, double* %32
%352 = call double @llvm.fmuladd.f64(double %350, double %351, double 0xBF6F167B71A03F85)
%353 = load double, double* %32
%354 = call double @llvm.fmuladd.f64(double %352, double %353, double 0x3F908F7BF5EC8499)
%355 = load double, double* %32
%356 = call double @llvm.fmuladd.f64(double %354, double %355, double 0xBFAB1B52148817A2)
%357 = load double, double* %32
%358 = call double @llvm.fmuladd.f64(double %356, double %357, double 0x3FBD9EA87ADA65B7)
store double %358, double* %24
%359 = load double, double* %6
%360 = load double, double* %6
%361 = fadd double %359, %360
%362 = load double, double* %24
%363 = load double, double* %6
%364 = fneg double %363
%365 = call double @exp(double %364)
%366 = call double @llvm.fmuladd.f64(double %361, double %362, double %365)
store double %366, double* %21
%367 = load double, double* %24
%368 = load double, double* %21
%369 = load double, double* %24
%370 = fsub double %368, %369
%371 = fdiv double %367, %370
store double %371, double* %18
br label %611
372: ; preds = %331
%373 = load i32, i32* %5
%374 = icmp eq i32 %373, 2
br i1 %374, label %375, label %462
375: ; preds = %372
%376 = load double, double* %32
%377 = call double @llvm.fmuladd.f64(double 0xBDE639692E6D26F8, double %376, double 0x3E20DAD1A9D197FF)
%378 = load double, double* %32
%379 = call double @llvm.fmuladd.f64(double %377, double %378, double 0xBE5700D50C75966B)
%380 = load double, double* %32
%381 = call double @llvm.fmuladd.f64(double %379, double %380, double 0x3E8D278109166491)
%382 = load double, double* %32
%383 = call double @llvm.fmuladd.f64(double %381, double %382, double 0xBEC0AE4660B81F04)
%384 = load double, double* %32
%385 = call double @llvm.fmuladd.f64(double %383, double %384, double 0x3EF1082DCC2EA1D8)
%386 = load double, double* %32
%387 = call double @llvm.fmuladd.f64(double %385, double %386, double 0xBF1E9A4F0C7FE5E0)
%388 = load double, double* %32
%389 = call double @llvm.fmuladd.f64(double %387, double %388, double 0x3F47C0CEB2DE1FA1)
%390 = load double, double* %32
%391 = call double @llvm.fmuladd.f64(double %389, double %390, double 0xBF6F167B71A03F85)
%392 = load double, double* %32
%393 = call double @llvm.fmuladd.f64(double %391, double %392, double 0x3F908F7BF5EC8499)
%394 = load double, double* %32
%395 = call double @llvm.fmuladd.f64(double %393, double %394, double 0xBFAB1B52148817A2)
%396 = load double, double* %32
%397 = call double @llvm.fmuladd.f64(double %395, double %396, double 0x3FBD9EA87ADA65B7)
store double %397, double* %24
%398 = load double, double* %6
%399 = load double, double* %6
%400 = fadd double %398, %399
%401 = load double, double* %24
%402 = load double, double* %6
%403 = fneg double %402
%404 = call double @exp(double %403)
%405 = call double @llvm.fmuladd.f64(double %400, double %401, double %404)
store double %405, double* %21
%406 = load double, double* %32
%407 = call double @llvm.fmuladd.f64(double 0xBD9C0266ED19FEFA, double %406, double 0x3DD74B2ADEF0C7E3)
%408 = load double, double* %32
%409 = call double @llvm.fmuladd.f64(double %407, double %408, double 0xBE01B3EE1125F910)
%410 = load double, double* %32
%411 = call double @llvm.fmuladd.f64(double %409, double %410, double 0xBDFA6EA40000FE46)
%412 = load double, double* %32
%413 = call double @llvm.fmuladd.f64(double %411, double %412, double 0x3E76BE1694076A4F)
%414 = load double, double* %32
%415 = call double @llvm.fmuladd.f64(double %413, double %414, double 0xBEBF16D568A5230E)
%416 = load double, double* %32
%417 = call double @llvm.fmuladd.f64(double %415, double %416, double 0x3EF9EB80619BC287)
%418 = load double, double* %32
%419 = call double @llvm.fmuladd.f64(double %417, double %418, double 0xBF3051D58C3FCBFC)
%420 = load double, double* %32
%421 = call double @llvm.fmuladd.f64(double %419, double %420, double 0x3F61F46543E2F7C7)
%422 = load double, double* %32
%423 = call double @llvm.fmuladd.f64(double %421, double %422, double 0xBF90B994A4491EDF)
%424 = load double, double* %32
%425 = call double @llvm.fmuladd.f64(double %423, double %424, double 0x3FB639161C218EC3)
store double %425, double* %18
%426 = load double, double* %32
%427 = call double @llvm.fmuladd.f64(double 0x3DE3F9646E8B0AA0, double %426, double 0x3E21CA6DE5BDA7A1)
%428 = load double, double* %32
%429 = call double @llvm.fmuladd.f64(double %427, double %428, double 0xBE542CBD0DBD3A56)
%430 = load double, double* %32
%431 = call double @llvm.fmuladd.f64(double %429, double %430, double 0xBE8729EF9CEFCDD4)
%432 = load double, double* %32
%433 = call double @llvm.fmuladd.f64(double %431, double %432, double 0x3EC2DA3B859E5A97)
%434 = load double, double* %32
%435 = call double @llvm.fmuladd.f64(double %433, double %434, double 0x3EE47C11734C6742)
%436 = load double, double* %32
%437 = call double @llvm.fmuladd.f64(double %435, double %436, double 0xBF295166579331C5)
%438 = load double, double* %32
%439 = call double @llvm.fmuladd.f64(double %437, double %438, double 0xBF59E5B0C9820700)
%440 = load double, double* %32
%441 = call double @llvm.fmuladd.f64(double %439, double %440, double 0x3FA8E128638B14C6)
%442 = load double, double* %32
%443 = call double @llvm.fmuladd.f64(double %441, double %442, double 0xBFDB919909FC04E6)
%444 = load double, double* %32
%445 = call double @llvm.fmuladd.f64(double %443, double %444, double 0x3FFCDD3952A11FB4)
store double %445, double* %19
%446 = load double, double* %24
%447 = load double, double* %21
%448 = fsub double %446, %447
%449 = load double, double* %18
%450 = load double, double* %24
%451 = call double @llvm.fmuladd.f64(double %448, double %449, double %450)
%452 = load double, double* %19
%453 = fadd double 1.000000e+00, %452
%454 = fmul double %451, %453
%455 = load double, double* %19
%456 = load double, double* %18
%457 = fsub double %455, %456
%458 = fdiv double %454, %457
store double %458, double* %22
%459 = load double, double* %21
%460 = load double, double* %22
%461 = fsub double %459, %460
store double %461, double* %21
br label %610
462: ; preds = %372
%463 = load i32, i32* %5
%464 = icmp eq i32 %463, 3
br i1 %464, label %465, label %609
465: ; preds = %462
%466 = load double, double* %32
%467 = call double @llvm.fmuladd.f64(double 0x3D79742AB73671B8, double %466, double 0x3D9557FE6E2875FE)
%468 = load double, double* %32
%469 = call double @llvm.fmuladd.f64(double %467, double %468, double 0xBE06824E26273604)
%470 = load double, double* %32
%471 = call double @llvm.fmuladd.f64(double %469, double %470, double 0x3E50D064EF7E01C8)
%472 = load double, double* %32
%473 = call double @llvm.fmuladd.f64(double %471, double %472, double 0xBE9174DED8933FE4)
%474 = load double, double* %32
%475 = call double @llvm.fmuladd.f64(double %473, double %474, double 0x3ED031EA694BE0DE)
%476 = load double, double* %32
%477 = call double @llvm.fmuladd.f64(double %475, double %476, double 0xBF0AEB276FF4E7DF)
%478 = load double, double* %32
%479 = call double @llvm.fmuladd.f64(double %477, double %478, double 0x3F43C3F660B179FA)
%480 = load double, double* %32
%481 = call double @llvm.fmuladd.f64(double %479, double %480, double 0xBF79091972E8B31F)
%482 = load double, double* %32
%483 = call double @llvm.fmuladd.f64(double %481, double %482, double 0x3FA72C08A08BA49F)
store double %483, double* %18
%484 = load double, double* %32
%485 = call double @llvm.fmuladd.f64(double 0x3E07E9C42A6EC53B, double %484, double 0xBE36FD7C690FD1E2)
%486 = load double, double* %32
%487 = call double @llvm.fmuladd.f64(double %485, double %486, double 0xBE721B452E3BD51F)
%488 = load double, double* %32
%489 = call double @llvm.fmuladd.f64(double %487, double %488, double 0x3EB9349DBFAF5E9E)
%490 = load double, double* %32
%491 = call double @llvm.fmuladd.f64(double %489, double %490, double 0x3EB0A6095623F70D)
%492 = load double, double* %32
%493 = call double @llvm.fmuladd.f64(double %491, double %492, double 0xBF3980CFA75C0A4A)
%494 = load double, double* %32
%495 = call double @llvm.fmuladd.f64(double %493, double %494, double 0x3F7EC890DF9A27A1)
%496 = load double, double* %32
%497 = call double @llvm.fmuladd.f64(double %495, double %496, double 0xBFB5BA8D62DA243D)
%498 = load double, double* %32
%499 = call double @llvm.fmuladd.f64(double %497, double %498, double 0x3FE25D9EBC0BEF05)
store double %499, double* %19
%500 = load double, double* %32
%501 = call double @llvm.fmuladd.f64(double 0xBDF35823EE3DD1B9, double %500, double 0x3E2F03C01423D8C5)
%502 = load double, double* %32
%503 = call double @llvm.fmuladd.f64(double %501, double %502, double 0x3E685AAAF792DE63)
%504 = load double, double* %32
%505 = call double @llvm.fmuladd.f64(double %503, double %504, double 0xBE82EBC1660CBE45)
%506 = load double, double* %32
%507 = call double @llvm.fmuladd.f64(double %505, double %506, double 0xBED9696E9042BEDD)
%508 = load double, double* %32
%509 = call double @llvm.fmuladd.f64(double %507, double %508, double 0xBF0B0D26F3278880)
%510 = load double, double* %32
%511 = call double @llvm.fmuladd.f64(double %509, double %510, double 0x3F018D17F6A3E05E)
%512 = load double, double* %32
%513 = call double @llvm.fmuladd.f64(double %511, double %512, double 0x3FA9D971FB4F10E7)
%514 = load double, double* %32
%515 = call double @llvm.fmuladd.f64(double %513, double %514, double 0xBFEA6404048183C4)
%516 = load double, double* %32
%517 = call double @llvm.fmuladd.f64(double %515, double %516, double 0x40133FD7CE70067F)
store double %517, double* %20
%518 = load double, double* %32
%519 = call double @llvm.fmuladd.f64(double 0xBDE458D7E345A90D, double %518, double 0x3E1E9B6DD9876FD2)
%520 = load double, double* %32
%521 = call double @llvm.fmuladd.f64(double %519, double %520, double 0xBE54ABC9DCD5A1C0)
%522 = load double, double* %32
%523 = call double @llvm.fmuladd.f64(double %521, double %522, double 0x3E89E0B77A80AB49)
%524 = load double, double* %32
%525 = call double @llvm.fmuladd.f64(double %523, double %524, double 0xBEBD28EF48445F5A)
%526 = load double, double* %32
%527 = call double @llvm.fmuladd.f64(double %525, double %526, double 0x3EED30FBD81B5E0E)
%528 = load double, double* %32
%529 = call double @llvm.fmuladd.f64(double %527, double %528, double 0xBF198C42788E5623)
%530 = load double, double* %32
%531 = call double @llvm.fmuladd.f64(double %529, double %530, double 0x3F43207166F5603F)
%532 = load double, double* %32
%533 = call double @llvm.fmuladd.f64(double %531, double %532, double 0xBF67C0CEB5A64525)
%534 = load double, double* %32
%535 = call double @llvm.fmuladd.f64(double %533, double %534, double 0x3F8750DC9539A628)
%536 = load double, double* %32
%537 = call double @llvm.fmuladd.f64(double %535, double %536, double 0xBFA08F7BF5EA9C3D)
%538 = load double, double* %32
%539 = call double @llvm.fmuladd.f64(double %537, double %538, double 0x3FAB1B521488161D)
store double %539, double* %25
%540 = load double, double* %6
%541 = fneg double %540
%542 = call double @exp(double %541)
store double %542, double* %26
%543 = load double, double* %6
%544 = load double, double* %6
%545 = fadd double %543, %544
%546 = load double, double* %25
%547 = load double, double* %26
%548 = call double @llvm.fmuladd.f64(double %545, double %546, double %547)
%549 = fdiv double %548, 3.000000e+00
store double %549, double* %24
%550 = load double, double* %6
%551 = load double, double* %6
%552 = fadd double %550, %551
%553 = load double, double* %24
%554 = load double, double* %26
%555 = call double @llvm.fmuladd.f64(double %552, double %553, double %554)
store double %555, double* %21
%556 = load double, double* %18
%557 = load double, double* %18
%558 = fadd double %557, 1.000000e+00
%559 = fdiv double %556, %558
store double %559, double* %27
%560 = load double, double* %19
%561 = load double, double* %19
%562 = fadd double %561, 1.000000e+00
%563 = fdiv double %560, %562
store double %563, double* %28
%564 = load double, double* %20
%565 = load double, double* %20
%566 = fadd double %565, 1.000000e+00
%567 = fdiv double %564, %566
store double %567, double* %29
%568 = load double, double* %25
%569 = load double, double* %27
%570 = load double, double* %24
%571 = fneg double %569
%572 = call double @llvm.fmuladd.f64(double %571, double %570, double %568)
store double %572, double* %31
%573 = load double, double* %24
%574 = load double, double* %27
%575 = load double, double* %21
%576 = fneg double %574
%577 = call double @llvm.fmuladd.f64(double %576, double %575, double %573)
store double %577, double* %30
%578 = load double, double* %31
%579 = load double, double* %28
%580 = load double, double* %30
%581 = fneg double %579
%582 = call double @llvm.fmuladd.f64(double %581, double %580, double %578)
%583 = load double, double* %29
%584 = load double, double* %28
%585 = fsub double %583, %584
%586 = load double, double* %29
%587 = load double, double* %27
%588 = fsub double %586, %587
%589 = fmul double %585, %588
%590 = fdiv double %582, %589
store double %590, double* %23
%591 = load double, double* %29
%592 = load double, double* %30
%593 = load double, double* %31
%594 = fneg double %593
%595 = call double @llvm.fmuladd.f64(double %591, double %592, double %594)
%596 = load double, double* %29
%597 = load double, double* %28
%598 = fsub double %596, %597
%599 = load double, double* %28
%600 = load double, double* %27
%601 = fsub double %599, %600
%602 = fmul double %598, %601
%603 = fdiv double %595, %602
store double %603, double* %22
%604 = load double, double* %21
%605 = load double, double* %22
%606 = fsub double %604, %605
%607 = load double, double* %23
%608 = fsub double %606, %607
store double %608, double* %21
br label %609
609: ; preds = %465, %462
br label %610
610: ; preds = %609, %375
br label %611
611: ; preds = %610, %336
br label %1890
612: ; preds = %328
%613 = load double, double* %6
%614 = fcmp olt double %613, 5.000000e+00
br i1 %614, label %615, label %894
615: ; preds = %612
%616 = load double, double* %6
%617 = fsub double %616, 4.000000e+00
store double %617, double* %32
%618 = load i32, i32* %5
%619 = icmp eq i32 %618, 1
br i1 %619, label %620, label %656
620: ; preds = %615
%621 = load double, double* %32
%622 = call double @llvm.fmuladd.f64(double 0xBDBCDB693E0F0946, double %621, double 0x3DF6446A140C5AE4)
%623 = load double, double* %32
%624 = call double @llvm.fmuladd.f64(double %622, double %623, double 0xBE2F0D64BF6CFA0D)
%625 = load double, double* %32
%626 = call double @llvm.fmuladd.f64(double %624, double %625, double 0x3E64300EBE769D26)
%627 = load double, double* %32
%628 = call double @llvm.fmuladd.f64(double %626, double %627, double 0xBE97D8F77A1BB26E)
%629 = load double, double* %32
%630 = call double @llvm.fmuladd.f64(double %628, double %629, double 0x3EC95AE3FB25B7F4)
%631 = load double, double* %32
%632 = call double @llvm.fmuladd.f64(double %630, double %631, double 0xBEF803700919CC3E)
%633 = load double, double* %32
%634 = call double @llvm.fmuladd.f64(double %632, double %633, double 0x3F240235B1C0EA5B)
%635 = load double, double* %32
%636 = call double @llvm.fmuladd.f64(double %634, double %635, double 0xBF4CE64F9170F27F)
%637 = load double, double* %32
%638 = call double @llvm.fmuladd.f64(double %636, double %637, double 0x3F71BE83BC15CF63)
%639 = load double, double* %32
%640 = call double @llvm.fmuladd.f64(double %638, double %639, double 0xBF91F24754E3EB97)
%641 = load double, double* %32
%642 = call double @llvm.fmuladd.f64(double %640, double %641, double 0x3FAB0DED65356EFD)
store double %642, double* %24
%643 = load double, double* %6
%644 = load double, double* %6
%645 = fadd double %643, %644
%646 = load double, double* %24
%647 = load double, double* %6
%648 = fneg double %647
%649 = call double @exp(double %648)
%650 = call double @llvm.fmuladd.f64(double %645, double %646, double %649)
store double %650, double* %21
%651 = load double, double* %24
%652 = load double, double* %21
%653 = load double, double* %24
%654 = fsub double %652, %653
%655 = fdiv double %651, %654
store double %655, double* %18
br label %893
656: ; preds = %615
%657 = load i32, i32* %5
%658 = icmp eq i32 %657, 2
br i1 %658, label %659, label %744
659: ; preds = %656
%660 = load double, double* %32
%661 = call double @llvm.fmuladd.f64(double 0xBDBCDB693E0F0946, double %660, double 0x3DF6446A140C5AE4)
%662 = load double, double* %32
%663 = call double @llvm.fmuladd.f64(double %661, double %662, double 0xBE2F0D64BF6CFA0D)
%664 = load double, double* %32
%665 = call double @llvm.fmuladd.f64(double %663, double %664, double 0x3E64300EBE769D26)
%666 = load double, double* %32
%667 = call double @llvm.fmuladd.f64(double %665, double %666, double 0xBE97D8F77A1BB26E)
%668 = load double, double* %32
%669 = call double @llvm.fmuladd.f64(double %667, double %668, double 0x3EC95AE3FB25B7F4)
%670 = load double, double* %32
%671 = call double @llvm.fmuladd.f64(double %669, double %670, double 0xBEF803700919CC3E)
%672 = load double, double* %32
%673 = call double @llvm.fmuladd.f64(double %671, double %672, double 0x3F240235B1C0EA5B)
%674 = load double, double* %32
%675 = call double @llvm.fmuladd.f64(double %673, double %674, double 0xBF4CE64F9170F27F)
%676 = load double, double* %32
%677 = call double @llvm.fmuladd.f64(double %675, double %676, double 0x3F71BE83BC15CF63)
%678 = load double, double* %32
%679 = call double @llvm.fmuladd.f64(double %677, double %678, double 0xBF91F24754E3EB97)
%680 = load double, double* %32
%681 = call double @llvm.fmuladd.f64(double %679, double %680, double 0x3FAB0DED65356EFD)
store double %681, double* %24
%682 = load double, double* %6
%683 = load double, double* %6
%684 = fadd double %682, %683
%685 = load double, double* %24
%686 = load double, double* %6
%687 = fneg double %686
%688 = call double @exp(double %687)
%689 = call double @llvm.fmuladd.f64(double %684, double %685, double %688)
store double %689, double* %21
%690 = load double, double* %32
%691 = call double @llvm.fmuladd.f64(double 0xBD9219C1465450E5, double %690, double 0x3DD38A9601FC4DA1)
%692 = load double, double* %32
%693 = call double @llvm.fmuladd.f64(double %691, double %692, double 0xBE1DCF001EB95E12)
%694 = load double, double* %32
%695 = call double @llvm.fmuladd.f64(double %693, double %694, double 0x3E6FD70C7EA1467B)
%696 = load double, double* %32
%697 = call double @llvm.fmuladd.f64(double %695, double %696, double 0xBEB0604170FB22A2)
%698 = load double, double* %32
%699 = call double @llvm.fmuladd.f64(double %697, double %698, double 0x3EE6C036069AF8EA)
%700 = load double, double* %32
%701 = call double @llvm.fmuladd.f64(double %699, double %700, double 0xBF1D84FECB6EF280)
%702 = load double, double* %32
%703 = call double @llvm.fmuladd.f64(double %701, double %702, double 0x3F530A3D1E993E4B)
%704 = load double, double* %32
%705 = call double @llvm.fmuladd.f64(double %703, double %704, double 0xBF844435DAD9D723)
%706 = load double, double* %32
%707 = call double @llvm.fmuladd.f64(double %705, double %706, double 0x3FAF5D55F26810E2)
store double %707, double* %18
%708 = load double, double* %32
%709 = call double @llvm.fmuladd.f64(double 0xBDE8D0BC7E3C759F, double %708, double 0x3E02B1B64CD1B45E)
%710 = load double, double* %32
%711 = call double @llvm.fmuladd.f64(double %709, double %710, double 0x3E5137A96FF616ED)
%712 = load double, double* %32
%713 = call double @llvm.fmuladd.f64(double %711, double %712, double 0xBE841B0AAB4DF8C8)
%714 = load double, double* %32
%715 = call double @llvm.fmuladd.f64(double %713, double %714, double 0xBEA78B8F2CDC5241)
%716 = load double, double* %32
%717 = call double @llvm.fmuladd.f64(double %715, double %716, double 0x3EF37DBFDD8361DD)
%718 = load double, double* %32
%719 = call double @llvm.fmuladd.f64(double %717, double %718, double 0xBEF5767B7F2FEEBA)
%720 = load double, double* %32
%721 = call double @llvm.fmuladd.f64(double %719, double %720, double 0xBF646CC80CF66AF5)
%722 = load double, double* %32
%723 = call double @llvm.fmuladd.f64(double %721, double %722, double 0x3FA24161972BC943)
%724 = load double, double* %32
%725 = call double @llvm.fmuladd.f64(double %723, double %724, double 0xBFD0AAADD1130A9B)
%726 = load double, double* %32
%727 = call double @llvm.fmuladd.f64(double %725, double %726, double 0x3FF1F1E161A3CBAC)
store double %727, double* %19
%728 = load double, double* %24
%729 = load double, double* %21
%730 = fsub double %728, %729
%731 = load double, double* %18
%732 = load double, double* %24
%733 = call double @llvm.fmuladd.f64(double %730, double %731, double %732)
%734 = load double, double* %19
%735 = fadd double 1.000000e+00, %734
%736 = fmul double %733, %735
%737 = load double, double* %19
%738 = load double, double* %18
%739 = fsub double %737, %738
%740 = fdiv double %736, %739
store double %740, double* %22
%741 = load double, double* %21
%742 = load double, double* %22
%743 = fsub double %741, %742
store double %743, double* %21
br label %892
744: ; preds = %656
%745 = load i32, i32* %5
%746 = icmp eq i32 %745, 3
br i1 %746, label %747, label %891
747: ; preds = %744
%748 = load double, double* %32
%749 = call double @llvm.fmuladd.f64(double 0x3DAFB96FFB34E0D3, double %748, double 0xBE00087368302304)
%750 = load double, double* %32
%751 = call double @llvm.fmuladd.f64(double %749, double %750, double 0x3E406D2AFAD6A4DE)
%752 = load double, double* %32
%753 = call double @llvm.fmuladd.f64(double %751, double %752, double 0xBE80820AAE32011A)
%754 = load double, double* %32
%755 = call double @llvm.fmuladd.f64(double %753, double %754, double 0x3EC0FECE74EE91C2)
%756 = load double, double* %32
%757 = call double @llvm.fmuladd.f64(double %755, double %756, double 0xBEFE1967735238D8)
%758 = load double, double* %32
%759 = call double @llvm.fmuladd.f64(double %757, double %758, double 0x3F38450E1683FB1E)
%760 = load double, double* %32
%761 = call double @llvm.fmuladd.f64(double %759, double %760, double 0xBF713E924E40D91F)
%762 = load double, double* %32
%763 = call double @llvm.fmuladd.f64(double %761, double %762, double 0x3FA1F74BE333147E)
store double %763, double* %18
%764 = load double, double* %32
%765 = call double @llvm.fmuladd.f64(double 0xBDBD31E4C0EBC727, double %764, double 0x3DEB26A394184E10)
%766 = load double, double* %32
%767 = call double @llvm.fmuladd.f64(double %765, double %766, double 0x3E228D4162360679)
%768 = load double, double* %32
%769 = call double @llvm.fmuladd.f64(double %767, double %768, double 0xBE7557832720ACBD)
%770 = load double, double* %32
%771 = call double @llvm.fmuladd.f64(double %769, double %770, double 0x3EA148012AA8AAA2)
%772 = load double, double* %32
%773 = call double @llvm.fmuladd.f64(double %771, double %772, double 0x3EE7719C6E3CB6B6)
%774 = load double, double* %32
%775 = call double @llvm.fmuladd.f64(double %773, double %774, double 0xBF35DF376EDA89A4)
%776 = load double, double* %32
%777 = call double @llvm.fmuladd.f64(double %775, double %776, double 0x3F75BBC25D04BE24)
%778 = load double, double* %32
%779 = call double @llvm.fmuladd.f64(double %777, double %778, double 0xBFAE62E764BA8ADA)
%780 = load double, double* %32
%781 = call double @llvm.fmuladd.f64(double %779, double %780, double 0x3FDB98763184CB0F)
store double %781, double* %19
%782 = load double, double* %32
%783 = call double @llvm.fmuladd.f64(double 0xBDFAFECDEEC8A0C9, double %782, double 0xBE31E29F306569A3)
%784 = load double, double* %32
%785 = call double @llvm.fmuladd.f64(double %783, double %784, double 0x3E67C07A8008685D)
%786 = load double, double* %32
%787 = call double @llvm.fmuladd.f64(double %785, double %786, double 0x3EA57E7E52D3E3E0)
%788 = load double, double* %32
%789 = call double @llvm.fmuladd.f64(double %787, double %788, double 0xBEC9A0D47DFF9DC9)
%790 = load double, double* %32
%791 = call double @llvm.fmuladd.f64(double %789, double %790, double 0xBF1B9A532016F87C)
%792 = load double, double* %32
%793 = call double @llvm.fmuladd.f64(double %791, double %792, double 0xBF441F9EBD4FD1C4)
%794 = load double, double* %32
%795 = call double @llvm.fmuladd.f64(double %793, double %794, double 0x3FA91225C9C5517B)
%796 = load double, double* %32
%797 = call double @llvm.fmuladd.f64(double %795, double %796, double 0xBFE3FBE40759FDA0)
%798 = load double, double* %32
%799 = call double @llvm.fmuladd.f64(double %797, double %798, double 0x400AE9B96234AECC)
store double %799, double* %20
%800 = load double, double* %32
%801 = call double @llvm.fmuladd.f64(double 0xBDBA0902ECC42BC2, double %800, double 0x3DF3DEBC779CCC18)
%802 = load double, double* %32
%803 = call double @llvm.fmuladd.f64(double %801, double %802, double 0xBE2B53578A6F9CBE)
%804 = load double, double* %32
%805 = call double @llvm.fmuladd.f64(double %803, double %804, double 0x3E617765292B0B5E)
%806 = load double, double* %32
%807 = call double @llvm.fmuladd.f64(double %805, double %806, double 0xBE9430F90F90EE24)
%808 = load double, double* %32
%809 = call double @llvm.fmuladd.f64(double %807, double %808, double 0x3EC4DDD8F951D32B)
%810 = load double, double* %32
%811 = call double @llvm.fmuladd.f64(double %809, double %810, double 0xBEF304298FDE1FA3)
%812 = load double, double* %32
%813 = call double @llvm.fmuladd.f64(double %811, double %812, double 0x3F1E044C0A4C1501)
%814 = load double, double* %32
%815 = call double @llvm.fmuladd.f64(double %813, double %814, double 0xBF440235B3888CC2)
%816 = load double, double* %32
%817 = call double @llvm.fmuladd.f64(double %815, double %816, double 0x3F65ACBBAD15A29C)
%818 = load double, double* %32
%819 = call double @llvm.fmuladd.f64(double %817, double %818, double 0xBF81BE83BC1496FF)
%820 = load double, double* %32
%821 = call double @llvm.fmuladd.f64(double %819, double %820, double 0x3F91F24754E3EB24)
store double %821, double* %25
%822 = load double, double* %6
%823 = fneg double %822
%824 = call double @exp(double %823)
store double %824, double* %26
%825 = load double, double* %6
%826 = load double, double* %6
%827 = fadd double %825, %826
%828 = load double, double* %25
%829 = load double, double* %26
%830 = call double @llvm.fmuladd.f64(double %827, double %828, double %829)
%831 = fdiv double %830, 3.000000e+00
store double %831, double* %24
%832 = load double, double* %6
%833 = load double, double* %6
%834 = fadd double %832, %833
%835 = load double, double* %24
%836 = load double, double* %26
%837 = call double @llvm.fmuladd.f64(double %834, double %835, double %836)
store double %837, double* %21
%838 = load double, double* %18
%839 = load double, double* %18
%840 = fadd double %839, 1.000000e+00
%841 = fdiv double %838, %840
store double %841, double* %27
%842 = load double, double* %19
%843 = load double, double* %19
%844 = fadd double %843, 1.000000e+00
%845 = fdiv double %842, %844
store double %845, double* %28
%846 = load double, double* %20
%847 = load double, double* %20
%848 = fadd double %847, 1.000000e+00
%849 = fdiv double %846, %848
store double %849, double* %29
%850 = load double, double* %25
%851 = load double, double* %27
%852 = load double, double* %24
%853 = fneg double %851
%854 = call double @llvm.fmuladd.f64(double %853, double %852, double %850)
store double %854, double* %31
%855 = load double, double* %24
%856 = load double, double* %27
%857 = load double, double* %21
%858 = fneg double %856
%859 = call double @llvm.fmuladd.f64(double %858, double %857, double %855)
store double %859, double* %30
%860 = load double, double* %31
%861 = load double, double* %28
%862 = load double, double* %30
%863 = fneg double %861
%864 = call double @llvm.fmuladd.f64(double %863, double %862, double %860)
%865 = load double, double* %29
%866 = load double, double* %28
%867 = fsub double %865, %866
%868 = load double, double* %29
%869 = load double, double* %27
%870 = fsub double %868, %869
%871 = fmul double %867, %870
%872 = fdiv double %864, %871
store double %872, double* %23
%873 = load double, double* %29
%874 = load double, double* %30
%875 = load double, double* %31
%876 = fneg double %875
%877 = call double @llvm.fmuladd.f64(double %873, double %874, double %876)
%878 = load double, double* %29
%879 = load double, double* %28
%880 = fsub double %878, %879
%881 = load double, double* %28
%882 = load double, double* %27
%883 = fsub double %881, %882
%884 = fmul double %880, %883
%885 = fdiv double %877, %884
store double %885, double* %22
%886 = load double, double* %21
%887 = load double, double* %22
%888 = fsub double %886, %887
%889 = load double, double* %23
%890 = fsub double %888, %889
store double %890, double* %21
br label %891
891: ; preds = %747, %744
br label %892
892: ; preds = %891, %659
br label %893
893: ; preds = %892, %620
br label %1889
894: ; preds = %612
%895 = load double, double* %6
%896 = fcmp olt double %895, 1.000000e+01
br i1 %896, label %897, label %1163
897: ; preds = %894
%898 = load double, double* %6
%899 = fneg double %898
%900 = call double @exp(double %899)
store double %900, double* %26
%901 = load double, double* %6
%902 = fdiv double 0x3FDE03B0320C7C1B, %901
%903 = fsub double %902, 0x3FE662C3500EC265
%904 = load double, double* %6
%905 = fdiv double %903, %904
%906 = fadd double %905, 0x3FE12E39E0BF7FC2
%907 = load double, double* %6
%908 = fdiv double %906, %907
%909 = fsub double %908, 0x3FD50B8E4299D9ED
%910 = load double, double* %6
%911 = fdiv double %909, %910
%912 = fadd double %911, 0x3FCF8BDE84950663
%913 = load double, double* %6
%914 = fdiv double %912, %913
%915 = fsub double %914, 0x3FDFFD63F7832524
%916 = load double, double* %6
%917 = fdiv double %915, %916
%918 = fsub double %917, 0x3ECA6CCE1EB6FD83
%919 = load double, double* %26
%920 = load double, double* %10
%921 = load double, double* %6
%922 = fdiv double %920, %921
%923 = call double @sqrt(double %922)
%924 = call double @llvm.fmuladd.f64(double %918, double %919, double %923)
store double %924, double* %21
%925 = load double, double* %21
%926 = load double, double* %26
%927 = fsub double %925, %926
%928 = load double, double* %6
%929 = load double, double* %6
%930 = fadd double %928, %929
%931 = fdiv double %927, %930
store double %931, double* %24
%932 = load i32, i32* %5
%933 = icmp eq i32 %932, 1
br i1 %933, label %934, label %940
934: ; preds = %897
%935 = load double, double* %24
%936 = load double, double* %21
%937 = load double, double* %24
%938 = fsub double %936, %937
%939 = fdiv double %935, %938
store double %939, double* %18
br label %1162
940: ; preds = %897
%941 = load i32, i32* %5
%942 = icmp eq i32 %941, 2
br i1 %942, label %943, label %1016
943: ; preds = %940
%944 = load double, double* %6
%945 = fsub double %944, 7.500000e+00
store double %945, double* %32
%946 = load double, double* %32
%947 = call double @llvm.fmuladd.f64(double 0xBCA4B31CC8096513, double %946, double 0x3CB129FE9BB322B7)
%948 = load double, double* %32
%949 = call double @llvm.fmuladd.f64(double %947, double %948, double 0x3D0E962DF344837F)
%950 = load double, double* %32
%951 = call double @llvm.fmuladd.f64(double %949, double %950, double 0xBD33E286704323A2)
%952 = load double, double* %32
%953 = call double @llvm.fmuladd.f64(double %951, double %952, double 0xBD6B28ED7172D8D3)
%954 = load double, double* %32
%955 = call double @llvm.fmuladd.f64(double %953, double %954, double 0x3DA1287135BABDF5)
%956 = load double, double* %32
%957 = call double @llvm.fmuladd.f64(double %955, double %956, double 0x3DD2388C3C24AB21)
%958 = load double, double* %32
%959 = call double @llvm.fmuladd.f64(double %957, double %958, double 0xBE1E810385A4EBCB)
%960 = load double, double* %32
%961 = call double @llvm.fmuladd.f64(double %959, double %960, double 0x3E5266EFD21FB9B1)
%962 = load double, double* %32
%963 = call double @llvm.fmuladd.f64(double %961, double %962, double 0xBE84195F18384F19)
%964 = load double, double* %32
%965 = call double @llvm.fmuladd.f64(double %963, double %964, double 0x3EC327BF37AE2F10)
%966 = load double, double* %32
%967 = call double @llvm.fmuladd.f64(double %965, double %966, double 0xBF03C363A238A201)
%968 = load double, double* %32
%969 = call double @llvm.fmuladd.f64(double %967, double %968, double 0x3F3F1DACB247B105)
%970 = load double, double* %32
%971 = call double @llvm.fmuladd.f64(double %969, double %970, double 0xBF72DC28448CE91E)
%972 = load double, double* %32
%973 = call double @llvm.fmuladd.f64(double %971, double %972, double 0x3FA311E3A2C66AB2)
store double %973, double* %18
%974 = load double, double* %32
%975 = call double @llvm.fmuladd.f64(double 0x3D1C02EE284A2A61, double %974, double 0xBD4328018B28E7D9)
%976 = load double, double* %32
%977 = call double @llvm.fmuladd.f64(double %975, double %976, double 0xBD8390C173E17DD6)
%978 = load double, double* %32
%979 = call double @llvm.fmuladd.f64(double %977, double %978, double 0x3DC709B02901FB87)
%980 = load double, double* %32
%981 = call double @llvm.fmuladd.f64(double %979, double %980, double 0xBDEE8C82843BE20F)
%982 = load double, double* %32
%983 = call double @llvm.fmuladd.f64(double %981, double %982, double 0xBE268AA3F57FE207)
%984 = load double, double* %32
%985 = call double @llvm.fmuladd.f64(double %983, double %984, double 0x3E70733C27F24E0A)
%986 = load double, double* %32
%987 = call double @llvm.fmuladd.f64(double %985, double %986, double 0xBE9D6A9528A42DFE)
%988 = load double, double* %32
%989 = call double @llvm.fmuladd.f64(double %987, double %988, double 0xBEC4F7AEC0B2597B)
%990 = load double, double* %32
%991 = call double @llvm.fmuladd.f64(double %989, double %990, double 0x3F1B10181B10344B)
%992 = load double, double* %32
%993 = call double @llvm.fmuladd.f64(double %991, double %992, double 0xBF57B19424147395)
%994 = load double, double* %32
%995 = call double @llvm.fmuladd.f64(double %993, double %994, double 0x3F8BAAD4EED6267F)
%996 = load double, double* %32
%997 = call double @llvm.fmuladd.f64(double %995, double %996, double 0xBFB868B77DFBDBE2)
%998 = load double, double* %32
%999 = call double @llvm.fmuladd.f64(double %997, double %998, double 0x3FE16EB786471C00)
store double %999, double* %19
%1000 = load double, double* %24
%1001 = load double, double* %21
%1002 = fsub double %1000, %1001
%1003 = load double, double* %18
%1004 = load double, double* %24
%1005 = call double @llvm.fmuladd.f64(double %1002, double %1003, double %1004)
%1006 = load double, double* %19
%1007 = fadd double 1.000000e+00, %1006
%1008 = fmul double %1005, %1007
%1009 = load double, double* %19
%1010 = load double, double* %18
%1011 = fsub double %1009, %1010
%1012 = fdiv double %1008, %1011
store double %1012, double* %22
%1013 = load double, double* %21
%1014 = load double, double* %22
%1015 = fsub double %1013, %1014
store double %1015, double* %21
br label %1161
1016: ; preds = %940
%1017 = load i32, i32* %5
%1018 = icmp eq i32 %1017, 3
br i1 %1018, label %1019, label %1160
1019: ; preds = %1016
%1020 = load double, double* %24
%1021 = load double, double* %24
%1022 = fadd double %1020, %1021
%1023 = load double, double* %24
%1024 = fadd double %1022, %1023
%1025 = load double, double* %26
%1026 = fsub double %1024, %1025
%1027 = load double, double* %6
%1028 = load double, double* %6
%1029 = fadd double %1027, %1028
%1030 = fdiv double %1026, %1029
store double %1030, double* %25
%1031 = load double, double* %6
%1032 = fsub double %1031, 7.500000e+00
store double %1032, double* %32
%1033 = load double, double* %32
%1034 = call double @llvm.fmuladd.f64(double 0x3CC4B22D136CCD62, double %1033, double 0x3CC9A5F90D44F4E0)
%1035 = load double, double* %32
%1036 = call double @llvm.fmuladd.f64(double %1034, double %1035, double 0xBD32F64E13514CB1)
%1037 = load double, double* %32
%1038 = call double @llvm.fmuladd.f64(double %1036, double %1037, double 0xBD660AA99C556712)
%1039 = load double, double* %32
%1040 = call double @llvm.fmuladd.f64(double %1038, double %1039, double 0x3DACED2675EFB890)
%1041 = load double, double* %32
%1042 = call double @llvm.fmuladd.f64(double %1040, double %1041, double 0xBDC74D9355CF02C0)
%1043 = load double, double* %32
%1044 = call double @llvm.fmuladd.f64(double %1042, double %1043, double 0x3E17E2B56F2EA6B6)
%1045 = load double, double* %32
%1046 = call double @llvm.fmuladd.f64(double %1044, double %1045, double 0xBE68FD17068FA980)
%1047 = load double, double* %32
%1048 = call double @llvm.fmuladd.f64(double %1046, double %1047, double 0x3EA8A64041157EA1)
%1049 = load double, double* %32
%1050 = call double @llvm.fmuladd.f64(double %1048, double %1049, double 0xBEE6C96CD0855B78)
%1051 = load double, double* %32
%1052 = call double @llvm.fmuladd.f64(double %1050, double %1051, double 0x3F27525A56E5C846)
%1053 = load double, double* %32
%1054 = call double @llvm.fmuladd.f64(double %1052, double %1053, double 0xBF63A654F0463AFC)
%1055 = load double, double* %32
%1056 = call double @llvm.fmuladd.f64(double %1054, double %1055, double 0x3F987C2F24A6A762)
store double %1056, double* %18
%1057 = load double, double* %32
%1058 = call double @llvm.fmuladd.f64(double 0x3D098CC283F527A3, double %1057, double 0x3CFF7F3F96A2973A)
%1059 = load double, double* %32
%1060 = call double @llvm.fmuladd.f64(double %1058, double %1059, double 0xBD6E3E3E9914DC55)
%1061 = load double, double* %32
%1062 = call double @llvm.fmuladd.f64(double %1060, double %1061, double 0xBD974816339D6523)
%1063 = load double, double* %32
%1064 = call double @llvm.fmuladd.f64(double %1062, double %1063, double 0xBDBB66D97F28A30B)
%1065 = load double, double* %32
%1066 = call double @llvm.fmuladd.f64(double %1064, double %1065, double 0x3E2782524C5F0791)
%1067 = load double, double* %32
%1068 = call double @llvm.fmuladd.f64(double %1066, double %1067, double 0xBE46E787A083A647)
%1069 = load double, double* %32
%1070 = call double @llvm.fmuladd.f64(double %1068, double %1069, double 0xBE9D8B7B1A1E33AA)
%1071 = load double, double* %32
%1072 = call double @llvm.fmuladd.f64(double %1070, double %1071, double 0x3EE44D73C51CAC82)
%1073 = load double, double* %32
%1074 = call double @llvm.fmuladd.f64(double %1072, double %1073, double 0xBF260C3A469C9C00)
%1075 = load double, double* %32
%1076 = call double @llvm.fmuladd.f64(double %1074, double %1075, double 0x3F6612A45F884A87)
%1077 = load double, double* %32
%1078 = call double @llvm.fmuladd.f64(double %1076, double %1077, double 0xBFA094B39F05949E)
%1079 = load double, double* %32
%1080 = call double @llvm.fmuladd.f64(double %1078, double %1079, double 0x3FD1A97BC1E010C6)
store double %1080, double* %19
%1081 = load double, double* %32
%1082 = call double @llvm.fmuladd.f64(double 0x3CFE025ED4A5627C, double %1081, double 0x3D4A07BAAE0D0BF3)
%1083 = load double, double* %32
%1084 = call double @llvm.fmuladd.f64(double %1082, double %1083, double 0xBD817623EF3B2539)
%1085 = load double, double* %32
%1086 = call double @llvm.fmuladd.f64(double %1084, double %1085, double 0xBDB964157FD755CA)
%1087 = load double, double* %32
%1088 = call double @llvm.fmuladd.f64(double %1086, double %1087, double 0x3DFAEC975D066201)
%1089 = load double, double* %32
%1090 = call double @llvm.fmuladd.f64(double %1088, double %1089, double 0x3E1C92ADA2389BBE)
%1091 = load double, double* %32
%1092 = call double @llvm.fmuladd.f64(double %1090, double %1091, double 0xBE70A87349EA195E)
%1093 = load double, double* %32
%1094 = call double @llvm.fmuladd.f64(double %1092, double %1093, double 0x3E42D520E433A605)
%1095 = load double, double* %32
%1096 = call double @llvm.fmuladd.f64(double %1094, double %1095, double 0x3EE2D0EFD2E1DBC1)
%1097 = load double, double* %32
%1098 = call double @llvm.fmuladd.f64(double %1096, double %1097, double 0xBF00798F3839B8C2)
%1099 = load double, double* %32
%1100 = call double @llvm.fmuladd.f64(double %1098, double %1099, double 0xBF5E220D5ABDAA77)
%1101 = load double, double* %32
%1102 = call double @llvm.fmuladd.f64(double %1100, double %1101, double 0x3FA1FBDCCAF8B1BA)
%1103 = load double, double* %32
%1104 = call double @llvm.fmuladd.f64(double %1102, double %1103, double 0xBFD4A12331E4055B)
%1105 = load double, double* %32
%1106 = call double @llvm.fmuladd.f64(double %1104, double %1105, double 0x3FFBC5F3E9F5DCDC)
store double %1106, double* %20
%1107 = load double, double* %18
%1108 = load double, double* %18
%1109 = fadd double %1108, 1.000000e+00
%1110 = fdiv double %1107, %1109
store double %1110, double* %27
%1111 = load double, double* %19
%1112 = load double, double* %19
%1113 = fadd double %1112, 1.000000e+00
%1114 = fdiv double %1111, %1113
store double %1114, double* %28
%1115 = load double, double* %20
%1116 = load double, double* %20
%1117 = fadd double %1116, 1.000000e+00
%1118 = fdiv double %1115, %1117
store double %1118, double* %29
%1119 = load double, double* %25
%1120 = load double, double* %27
%1121 = load double, double* %24
%1122 = fneg double %1120
%1123 = call double @llvm.fmuladd.f64(double %1122, double %1121, double %1119)
store double %1123, double* %31
%1124 = load double, double* %24
%1125 = load double, double* %27
%1126 = load double, double* %21
%1127 = fneg double %1125
%1128 = call double @llvm.fmuladd.f64(double %1127, double %1126, double %1124)
store double %1128, double* %30
%1129 = load double, double* %31
%1130 = load double, double* %28
%1131 = load double, double* %30
%1132 = fneg double %1130
%1133 = call double @llvm.fmuladd.f64(double %1132, double %1131, double %1129)
%1134 = load double, double* %29
%1135 = load double, double* %28
%1136 = fsub double %1134, %1135
%1137 = load double, double* %29
%1138 = load double, double* %27
%1139 = fsub double %1137, %1138
%1140 = fmul double %1136, %1139
%1141 = fdiv double %1133, %1140
store double %1141, double* %23
%1142 = load double, double* %29
%1143 = load double, double* %30
%1144 = load double, double* %31
%1145 = fneg double %1144
%1146 = call double @llvm.fmuladd.f64(double %1142, double %1143, double %1145)
%1147 = load double, double* %29
%1148 = load double, double* %28
%1149 = fsub double %1147, %1148
%1150 = load double, double* %28
%1151 = load double, double* %27
%1152 = fsub double %1150, %1151
%1153 = fmul double %1149, %1152
%1154 = fdiv double %1146, %1153
store double %1154, double* %22
%1155 = load double, double* %21
%1156 = load double, double* %22
%1157 = fsub double %1155, %1156
%1158 = load double, double* %23
%1159 = fsub double %1157, %1158
store double %1159, double* %21
br label %1160
1160: ; preds = %1019, %1016
br label %1161
1161: ; preds = %1160, %943
br label %1162
1162: ; preds = %1161, %934
br label %1888
1163: ; preds = %894
%1164 = load double, double* %6
%1165 = fcmp olt double %1164, 1.500000e+01
br i1 %1165, label %1166, label %1419
1166: ; preds = %1163
%1167 = load double, double* %6
%1168 = fneg double %1167
%1169 = call double @exp(double %1168)
store double %1169, double* %26
%1170 = load double, double* %6
%1171 = fdiv double 0xBFC80B5DB621CA13, %1170
%1172 = fadd double %1171, 0x3FCD6DF81930DD58
%1173 = load double, double* %6
%1174 = fdiv double %1172, %1173
%1175 = fsub double %1174, 0x3FDFEE97A84E6E89
%1176 = load double, double* %6
%1177 = fdiv double %1175, %1176
%1178 = fsub double %1177, 0x3EF6FB2B3EDD2A8F
%1179 = load double, double* %26
%1180 = load double, double* %10
%1181 = load double, double* %6
%1182 = fdiv double %1180, %1181
%1183 = call double @sqrt(double %1182)
%1184 = call double @llvm.fmuladd.f64(double %1178, double %1179, double %1183)
store double %1184, double* %21
%1185 = load double, double* %21
%1186 = load double, double* %26
%1187 = fsub double %1185, %1186
%1188 = load double, double* %6
%1189 = load double, double* %6
%1190 = fadd double %1188, %1189
%1191 = fdiv double %1187, %1190
store double %1191, double* %24
%1192 = load i32, i32* %5
%1193 = icmp eq i32 %1192, 1
br i1 %1193, label %1194, label %1200
1194: ; preds = %1166
%1195 = load double, double* %24
%1196 = load double, double* %21
%1197 = load double, double* %24
%1198 = fsub double %1196, %1197
%1199 = fdiv double %1195, %1198
store double %1199, double* %18
br label %1418
1200: ; preds = %1166
%1201 = load i32, i32* %5
%1202 = icmp eq i32 %1201, 2
br i1 %1202, label %1203, label %1272
1203: ; preds = %1200
%1204 = load double, double* %6
%1205 = call double @llvm.fmuladd.f64(double 0xBEE5309B16A4B4D6, double %1204, double 0x3F53937B864DF747)
%1206 = load double, double* %6
%1207 = call double @llvm.fmuladd.f64(double %1205, double %1206, double 0xBFB13F8E181A5CBE)
%1208 = load double, double* %6
%1209 = call double @llvm.fmuladd.f64(double %1207, double %1208, double 0x3FF41CE672EB3B81)
%1210 = load double, double* %6
%1211 = load double, double* %6
%1212 = fdiv double 0xC0C0C00C0FB97540, %1211
%1213 = fadd double %1212, 0x40B7160F34922721
%1214 = load double, double* %6
%1215 = fdiv double %1213, %1214
%1216 = fsub double %1215, 0x409AB04E9D14EC54
%1217 = load double, double* %6
%1218 = fdiv double %1216, %1217
%1219 = fadd double %1218, 0x4070889648360283
%1220 = load double, double* %6
%1221 = fdiv double %1219, %1220
%1222 = call double @llvm.fmuladd.f64(double %1209, double %1210, double %1221)
%1223 = fsub double %1222, 0x4037DB679B15DDDC
%1224 = load double, double* %26
%1225 = load double, double* %9
%1226 = load double, double* %6
%1227 = load double, double* %9
%1228 = fsub double %1226, %1227
%1229 = fdiv double %1225, %1228
%1230 = call double @llvm.fmuladd.f64(double %1223, double %1224, double %1229)
store double %1230, double* %18
%1231 = load double, double* %6
%1232 = call double @llvm.fmuladd.f64(double 0x3F3637E1F5A2D1E4, double %1231, double 0xBFB7EF7629A9A022)
%1233 = load double, double* %6
%1234 = call double @llvm.fmuladd.f64(double %1232, double %1233, double 0xC010E37F2D914F9C)
%1235 = load double, double* %6
%1236 = load double, double* %6
%1237 = fdiv double 0xC0A0492419DE963F, %1236
%1238 = fsub double %1237, 0x409067F67F0E6F2C
%1239 = load double, double* %6
%1240 = fdiv double %1238, %1239
%1241 = fadd double %1240, 0x40753E439EEEF91A
%1242 = load double, double* %6
%1243 = fdiv double %1241, %1242
%1244 = fsub double %1243, 0x406385E9E25F0DF2
%1245 = load double, double* %6
%1246 = fdiv double %1244, %1245
%1247 = call double @llvm.fmuladd.f64(double %1234, double %1235, double %1246)
%1248 = fadd double %1247, 0x4020044BBCDB75DF
%1249 = load double, double* %26
%1250 = load double, double* %11
%1251 = load double, double* %6
%1252 = load double, double* %11
%1253 = fsub double %1251, %1252
%1254 = fdiv double %1250, %1253
%1255 = call double @llvm.fmuladd.f64(double %1248, double %1249, double %1254)
store double %1255, double* %19
%1256 = load double, double* %24
%1257 = load double, double* %21
%1258 = fsub double %1256, %1257
%1259 = load double, double* %18
%1260 = load double, double* %24
%1261 = call double @llvm.fmuladd.f64(double %1258, double %1259, double %1260)
%1262 = load double, double* %19
%1263 = fadd double 1.000000e+00, %1262
%1264 = fmul double %1261, %1263
%1265 = load double, double* %19
%1266 = load double, double* %18
%1267 = fsub double %1265, %1266
%1268 = fdiv double %1264, %1267
store double %1268, double* %22
%1269 = load double, double* %21
%1270 = load double, double* %22
%1271 = fsub double %1269, %1270
store double %1271, double* %21
br label %1417
1272: ; preds = %1200
%1273 = load i32, i32* %5
%1274 = icmp eq i32 %1273, 3
br i1 %1274, label %1275, label %1416
1275: ; preds = %1272
%1276 = load double, double* %24
%1277 = load double, double* %24
%1278 = fadd double %1276, %1277
%1279 = load double, double* %24
%1280 = fadd double %1278, %1279
%1281 = load double, double* %26
%1282 = fsub double %1280, %1281
%1283 = load double, double* %6
%1284 = load double, double* %6
%1285 = fadd double %1283, %1284
%1286 = fdiv double %1282, %1285
store double %1286, double* %25
%1287 = load double, double* %6
%1288 = fsub double %1287, 1.250000e+01
store double %1288, double* %32
%1289 = load double, double* %32
%1290 = call double @llvm.fmuladd.f64(double 0x3CBFDBEA10F47019, double %1289, double 0xBCE8F78F94EE36F9)
%1291 = load double, double* %32
%1292 = call double @llvm.fmuladd.f64(double %1290, double %1291, double 0xBD26FDB3AE4086C1)
%1293 = load double, double* %32
%1294 = call double @llvm.fmuladd.f64(double %1292, double %1293, double 0x3D62EDC50CBE87F6)
%1295 = load double, double* %32
%1296 = call double @llvm.fmuladd.f64(double %1294, double %1295, double 0x3D808E18C8FEADCF)
%1297 = load double, double* %32
%1298 = call double @llvm.fmuladd.f64(double %1296, double %1297, double 0xBDD7D6FBF5692AE4)
%1299 = load double, double* %32
%1300 = call double @llvm.fmuladd.f64(double %1298, double %1299, double 0x3E08714C1899D23F)
%1301 = load double, double* %32
%1302 = call double @llvm.fmuladd.f64(double %1300, double %1301, double 0xBE2E8B3E566D096C)
%1303 = load double, double* %32
%1304 = call double @llvm.fmuladd.f64(double %1302, double %1303, double 0x3E8160079BC33E40)
%1305 = load double, double* %32
%1306 = call double @llvm.fmuladd.f64(double %1304, double %1305, double 0xBED15FAD52359A81)
%1307 = load double, double* %32
%1308 = call double @llvm.fmuladd.f64(double %1306, double %1307, double 0x3F15166C2B226361)
%1309 = load double, double* %32
%1310 = call double @llvm.fmuladd.f64(double %1308, double %1309, double 0xBF536DEE9F8DD06F)
%1311 = load double, double* %32
%1312 = call double @llvm.fmuladd.f64(double %1310, double %1311, double 0x3F8F6C71746C625F)
store double %1312, double* %18
%1313 = load double, double* %32
%1314 = call double @llvm.fmuladd.f64(double 0x3CFEDB3441BBAB7C, double %1313, double 0xBD0860A0FEF600C8)
%1315 = load double, double* %32
%1316 = call double @llvm.fmuladd.f64(double %1314, double %1315, double 0xBD6E2F6CFC8F075B)
%1317 = load double, double* %32
%1318 = call double @llvm.fmuladd.f64(double %1316, double %1317, double 0x3D9D36BC941BA9C7)
%1319 = load double, double* %32
%1320 = call double @llvm.fmuladd.f64(double %1318, double %1319, double 0x3DCA61B85F24A935)
%1321 = load double, double* %32
%1322 = call double @llvm.fmuladd.f64(double %1320, double %1321, double 0xBE137BFF161BE543)
%1323 = load double, double* %32
%1324 = call double @llvm.fmuladd.f64(double %1322, double %1323, double 0x3E3E6EAEC0992080)
%1325 = load double, double* %32
%1326 = call double @llvm.fmuladd.f64(double %1324, double %1325, double 0xBE6E0C29ED50399B)
%1327 = load double, double* %32
%1328 = call double @llvm.fmuladd.f64(double %1326, double %1327, double 0x3EC50E9F2FFB9BA8)
%1329 = load double, double* %32
%1330 = call double @llvm.fmuladd.f64(double %1328, double %1329, double 0xBF1165DFB17D21FE)
%1331 = load double, double* %32
%1332 = call double @llvm.fmuladd.f64(double %1330, double %1331, double 0x3F5254EFB89FADD3)
%1333 = load double, double* %32
%1334 = call double @llvm.fmuladd.f64(double %1332, double %1333, double 0xBF8DC522DB89E000)
%1335 = load double, double* %32
%1336 = call double @llvm.fmuladd.f64(double %1334, double %1335, double 0x3FC521459A7AD92A)
store double %1336, double* %19
%1337 = load double, double* %32
%1338 = call double @llvm.fmuladd.f64(double 0x3CECE10C870DD484, double %1337, double 0xBD1EC9E9D5D0B913)
%1339 = load double, double* %32
%1340 = call double @llvm.fmuladd.f64(double %1338, double %1339, double 0xBD5637633978E7DE)
%1341 = load double, double* %32
%1342 = call double @llvm.fmuladd.f64(double %1340, double %1341, double 0x3DA307D77793C71A)
%1343 = load double, double* %32
%1344 = call double @llvm.fmuladd.f64(double %1342, double %1343, double 0xBDCEECD0D1193BE7)
%1345 = load double, double* %32
%1346 = call double @llvm.fmuladd.f64(double %1344, double %1345, double 0xBE0A84E539ED5332)
%1347 = load double, double* %32
%1348 = call double @llvm.fmuladd.f64(double %1346, double %1347, double 0x3E562B4E44B8526E)
%1349 = load double, double* %32
%1350 = call double @llvm.fmuladd.f64(double %1348, double %1349, double 0xBE850AA98009E131)
%1351 = load double, double* %32
%1352 = call double @llvm.fmuladd.f64(double %1350, double %1351, double 0xBEBA7F64EB400534)
%1353 = load double, double* %32
%1354 = call double @llvm.fmuladd.f64(double %1352, double %1353, double 0x3F1072A75E0EA301)
%1355 = load double, double* %32
%1356 = call double @llvm.fmuladd.f64(double %1354, double %1355, double 0xBF5099322300A0E7)
%1357 = load double, double* %32
%1358 = call double @llvm.fmuladd.f64(double %1356, double %1357, double 0x3F8753BD2C8EE445)
%1359 = load double, double* %32
%1360 = call double @llvm.fmuladd.f64(double %1358, double %1359, double 0xBFB9F89ABD64C8D3)
%1361 = load double, double* %32
%1362 = call double @llvm.fmuladd.f64(double %1360, double %1361, double 0x3FE8DEDACAA59ABA)
store double %1362, double* %20
%1363 = load double, double* %18
%1364 = load double, double* %18
%1365 = fadd double %1364, 1.000000e+00
%1366 = fdiv double %1363, %1365
store double %1366, double* %27
%1367 = load double, double* %19
%1368 = load double, double* %19
%1369 = fadd double %1368, 1.000000e+00
%1370 = fdiv double %1367, %1369
store double %1370, double* %28
%1371 = load double, double* %20
%1372 = load double, double* %20
%1373 = fadd double %1372, 1.000000e+00
%1374 = fdiv double %1371, %1373
store double %1374, double* %29
%1375 = load double, double* %25
%1376 = load double, double* %27
%1377 = load double, double* %24
%1378 = fneg double %1376
%1379 = call double @llvm.fmuladd.f64(double %1378, double %1377, double %1375)
store double %1379, double* %31
%1380 = load double, double* %24
%1381 = load double, double* %27
%1382 = load double, double* %21
%1383 = fneg double %1381
%1384 = call double @llvm.fmuladd.f64(double %1383, double %1382, double %1380)
store double %1384, double* %30
%1385 = load double, double* %31
%1386 = load double, double* %28
%1387 = load double, double* %30
%1388 = fneg double %1386
%1389 = call double @llvm.fmuladd.f64(double %1388, double %1387, double %1385)
%1390 = load double, double* %29
%1391 = load double, double* %28
%1392 = fsub double %1390, %1391
%1393 = load double, double* %29
%1394 = load double, double* %27
%1395 = fsub double %1393, %1394
%1396 = fmul double %1392, %1395
%1397 = fdiv double %1389, %1396
store double %1397, double* %23
%1398 = load double, double* %29
%1399 = load double, double* %30
%1400 = load double, double* %31
%1401 = fneg double %1400
%1402 = call double @llvm.fmuladd.f64(double %1398, double %1399, double %1401)
%1403 = load double, double* %29
%1404 = load double, double* %28
%1405 = fsub double %1403, %1404
%1406 = load double, double* %28
%1407 = load double, double* %27
%1408 = fsub double %1406, %1407
%1409 = fmul double %1405, %1408
%1410 = fdiv double %1402, %1409
store double %1410, double* %22
%1411 = load double, double* %21
%1412 = load double, double* %22
%1413 = fsub double %1411, %1412
%1414 = load double, double* %23
%1415 = fsub double %1413, %1414
store double %1415, double* %21
br label %1416
1416: ; preds = %1275, %1272
br label %1417
1417: ; preds = %1416, %1203
br label %1418
1418: ; preds = %1417, %1194
br label %1887
1419: ; preds = %1163
%1420 = load double, double* %6
%1421 = fcmp olt double %1420, 3.300000e+01
br i1 %1421, label %1422, label %1720
1422: ; preds = %1419
%1423 = load double, double* %6
%1424 = fneg double %1423
%1425 = call double @exp(double %1424)
store double %1425, double* %26
%1426 = load double, double* %6
%1427 = fdiv double 0x3FC91E26B4D0174D, %1426
%1428 = fsub double %1427, 0x3FDFCE1180245B5F
%1429 = load double, double* %6
%1430 = fdiv double %1428, %1429
%1431 = fsub double %1430, 0x3F0F8A146403A8CF
%1432 = load double, double* %26
%1433 = load double, double* %10
%1434 = load double, double* %6
%1435 = fdiv double %1433, %1434
%1436 = call double @sqrt(double %1435)
%1437 = call double @llvm.fmuladd.f64(double %1431, double %1432, double %1436)
store double %1437, double* %21
%1438 = load double, double* %21
%1439 = load double, double* %26
%1440 = fsub double %1438, %1439
%1441 = load double, double* %6
%1442 = load double, double* %6
%1443 = fadd double %1441, %1442
%1444 = fdiv double %1440, %1443
store double %1444, double* %24
%1445 = load i32, i32* %5
%1446 = icmp eq i32 %1445, 1
br i1 %1446, label %1447, label %1453
1447: ; preds = %1422
%1448 = load double, double* %24
%1449 = load double, double* %21
%1450 = load double, double* %24
%1451 = fsub double %1449, %1450
%1452 = fdiv double %1448, %1451
store double %1452, double* %18
br label %1719
1453: ; preds = %1422
%1454 = load i32, i32* %5
%1455 = icmp eq i32 %1454, 2
br i1 %1455, label %1456, label %1513
1456: ; preds = %1453
%1457 = load double, double* %6
%1458 = call double @llvm.fmuladd.f64(double 0xBEB347312E1A6850, double %1457, double 0x3F2711B1C7014C2F)
%1459 = load double, double* %6
%1460 = call double @llvm.fmuladd.f64(double %1458, double %1459, double 0xBF919C753ECBB5B5)
%1461 = load double, double* %6
%1462 = call double @llvm.fmuladd.f64(double %1460, double %1461, double 0xBFC192CE2C4D6E04)
%1463 = load double, double* %6
%1464 = load double, double* %6
%1465 = fdiv double 0xC047C97F98A19A3B, %1464
%1466 = fadd double %1465, 0x40226B8BEB08F581
%1467 = load double, double* %6
%1468 = fdiv double %1466, %1467
%1469 = call double @llvm.fmuladd.f64(double %1462, double %1463, double %1468)
%1470 = fsub double %1469, 0x3F97A9A57E7368C2
%1471 = load double, double* %26
%1472 = load double, double* %9
%1473 = load double, double* %6
%1474 = load double, double* %9
%1475 = fsub double %1473, %1474
%1476 = fdiv double %1472, %1475
%1477 = call double @llvm.fmuladd.f64(double %1470, double %1471, double %1476)
store double %1477, double* %18
%1478 = load double, double* %6
%1479 = call double @llvm.fmuladd.f64(double 0x3F37EA5E7B27A661, double %1478, double 0xBFB8E11F5EEB529D)
%1480 = load double, double* %6
%1481 = call double @llvm.fmuladd.f64(double %1479, double %1480, double 0xC0101D8DEF27B1DF)
%1482 = load double, double* %6
%1483 = load double, double* %6
%1484 = fdiv double 0xC060FA9791CC54EE, %1483
%1485 = fsub double %1484, 0x4055AC1B66ACBF03
%1486 = load double, double* %6
%1487 = fdiv double %1485, %1486
%1488 = call double @llvm.fmuladd.f64(double %1481, double %1482, double %1487)
%1489 = fadd double %1488, 0x4007D7455E33DC4B
%1490 = load double, double* %26
%1491 = load double, double* %11
%1492 = load double, double* %6
%1493 = load double, double* %11
%1494 = fsub double %1492, %1493
%1495 = fdiv double %1491, %1494
%1496 = call double @llvm.fmuladd.f64(double %1489, double %1490, double %1495)
store double %1496, double* %19
%1497 = load double, double* %24
%1498 = load double, double* %21
%1499 = fsub double %1497, %1498
%1500 = load double, double* %18
%1501 = load double, double* %24
%1502 = call double @llvm.fmuladd.f64(double %1499, double %1500, double %1501)
%1503 = load double, double* %19
%1504 = fadd double 1.000000e+00, %1503
%1505 = fmul double %1502, %1504
%1506 = load double, double* %19
%1507 = load double, double* %18
%1508 = fsub double %1506, %1507
%1509 = fdiv double %1505, %1508
store double %1509, double* %22
%1510 = load double, double* %21
%1511 = load double, double* %22
%1512 = fsub double %1510, %1511
store double %1512, double* %21
br label %1718
1513: ; preds = %1453
%1514 = load i32, i32* %5
%1515 = icmp eq i32 %1514, 3
br i1 %1515, label %1516, label %1717
1516: ; preds = %1513
%1517 = load double, double* %24
%1518 = load double, double* %24
%1519 = fadd double %1517, %1518
%1520 = load double, double* %24
%1521 = fadd double %1519, %1520
%1522 = load double, double* %26
%1523 = fsub double %1521, %1522
%1524 = load double, double* %6
%1525 = load double, double* %6
%1526 = fadd double %1524, %1525
%1527 = fdiv double %1523, %1526
store double %1527, double* %25
%1528 = load double, double* %6
%1529 = fcmp olt double %1528, 2.000000e+01
br i1 %1529, label %1530, label %1605
1530: ; preds = %1516
%1531 = load double, double* %6
%1532 = call double @llvm.fmuladd.f64(double 0xBEC468346916718B, double %1531, double 0x3F377496CDC8F5A5)
%1533 = load double, double* %6
%1534 = call double @llvm.fmuladd.f64(double %1532, double %1533, double 0xBF97F91DD417330E)
%1535 = load double, double* %6
%1536 = call double @llvm.fmuladd.f64(double %1534, double %1535, double 0x3FE9016F4E35AEC3)
%1537 = load double, double* %6
%1538 = call double @llvm.fmuladd.f64(double %1536, double %1537, double 0xC0315227EEB9B55A)
%1539 = load double, double* %6
%1540 = call double @llvm.fmuladd.f64(double %1538, double %1539, double 0x406E708ED54B015D)
%1541 = load double, double* %6
%1542 = load double, double* %6
%1543 = fdiv double 0xC0D34C49DDB8407A, %1542
%1544 = fadd double %1543, 0x40C33034F1FAD81F
%1545 = load double, double* %6
%1546 = fdiv double %1544, %1545
%1547 = call double @llvm.fmuladd.f64(double %1540, double %1541, double %1546)
%1548 = fsub double %1547, 0x40A03F69EBF84C5C
%1549 = load double, double* %26
%1550 = load double, double* %13
%1551 = load double, double* %6
%1552 = load double, double* %13
%1553 = fsub double %1551, %1552
%1554 = fdiv double %1550, %1553
%1555 = call double @llvm.fmuladd.f64(double %1548, double %1549, double %1554)
store double %1555, double* %18
%1556 = load double, double* %6
%1557 = call double @llvm.fmuladd.f64(double 0xBF3136266C5315C4, double %1556, double 0x3FA1E0E03FF9717C)
%1558 = load double, double* %6
%1559 = call double @llvm.fmuladd.f64(double %1557, double %1558, double 0xC008BF3C03B61349)
%1560 = load double, double* %6
%1561 = call double @llvm.fmuladd.f64(double %1559, double %1560, double 0x405AC26084B0A871)
%1562 = load double, double* %6
%1563 = call double @llvm.fmuladd.f64(double %1561, double %1562, double 0xC0A27D3157BB853E)
%1564 = load double, double* %6
%1565 = load double, double* %6
%1566 = fdiv double 0xC14640A99182FF23, %1565
%1567 = fadd double %1566, 0x413588DF0D790047
%1568 = load double, double* %6
%1569 = fdiv double %1567, %1568
%1570 = fsub double %1569, 0x4111CB31577BF3DB
%1571 = load double, double* %6
%1572 = fdiv double %1570, %1571
%1573 = call double @llvm.fmuladd.f64(double %1563, double %1564, double %1572)
%1574 = fadd double %1573, 0x40E05E09316D409B
%1575 = load double, double* %26
%1576 = load double, double* %14
%1577 = load double, double* %6
%1578 = load double, double* %14
%1579 = fsub double %1577, %1578
%1580 = fdiv double %1576, %1579
%1581 = call double @llvm.fmuladd.f64(double %1574, double %1575, double %1580)
store double %1581, double* %19
%1582 = load double, double* %6
%1583 = call double @llvm.fmuladd.f64(double 0x3F186D951CF896DF, double %1582, double 0xBF9D644DB3B37CD8)
%1584 = load double, double* %6
%1585 = call double @llvm.fmuladd.f64(double %1583, double %1584, double 0xBFE9127658DB5ABF)
%1586 = load double, double* %6
%1587 = call double @llvm.fmuladd.f64(double %1585, double %1586, double 0xC0326F136458880D)
%1588 = load double, double* %6
%1589 = call double @llvm.fmuladd.f64(double %1587, double %1588, double 0x40794FF288F6D09A)
%1590 = load double, double* %6
%1591 = load double, double* %6
%1592 = fdiv double 0xC1072C2C1313D2CE, %1591
%1593 = fadd double %1592, 0x40E8F9BAD9C89BFE
%1594 = load double, double* %6
%1595 = fdiv double %1593, %1594
%1596 = call double @llvm.fmuladd.f64(double %1589, double %1590, double %1595)
%1597 = fsub double %1596, 0x40BAE1754DC4AD02
%1598 = load double, double* %26
%1599 = load double, double* %16
%1600 = load double, double* %6
%1601 = load double, double* %16
%1602 = fsub double %1600, %1601
%1603 = fdiv double %1599, %1602
%1604 = call double @llvm.fmuladd.f64(double %1597, double %1598, double %1603)
store double %1604, double* %20
br label %1663
1605: ; preds = %1516
%1606 = load double, double* %6
%1607 = call double @llvm.fmuladd.f64(double 0xBF404DD943C565E2, double %1606, double 0xBFA9A5C8D1A1D69C)
%1608 = load double, double* %6
%1609 = call double @llvm.fmuladd.f64(double %1607, double %1608, double 0x3FF4F9D2244805BC)
%1610 = load double, double* %6
%1611 = call double @llvm.fmuladd.f64(double %1609, double %1610, double 0xC032D5697DD2F38C)
%1612 = load double, double* %6
%1613 = load double, double* %6
%1614 = fdiv double 0x4084A2C20EA14DE2, %1613
%1615 = fneg double %1614
%1616 = call double @llvm.fmuladd.f64(double %1611, double %1612, double %1615)
%1617 = fadd double %1616, 0x40649DCE8A43A1C2
%1618 = load double, double* %26
%1619 = load double, double* %13
%1620 = load double, double* %6
%1621 = load double, double* %13
%1622 = fsub double %1620, %1621
%1623 = fdiv double %1619, %1622
%1624 = call double @llvm.fmuladd.f64(double %1617, double %1618, double %1623)
store double %1624, double* %18
%1625 = load double, double* %6
%1626 = call double @llvm.fmuladd.f64(double 0xBF725BEA71A9F002, double %1625, double 0xBFE08E5243D051E1)
%1627 = load double, double* %6
%1628 = call double @llvm.fmuladd.f64(double %1626, double %1627, double 0x4026BCFB71F2E80A)
%1629 = load double, double* %6
%1630 = call double @llvm.fmuladd.f64(double %1628, double %1629, double 0xC064ADA502B1324D)
%1631 = load double, double* %6
%1632 = load double, double* %6
%1633 = fdiv double 0x40B8A5175C9C2CA2, %1632
%1634 = fneg double %1633
%1635 = call double @llvm.fmuladd.f64(double %1630, double %1631, double %1634)
%1636 = fadd double %1635, 0x4097C94532EDE694
%1637 = load double, double* %26
%1638 = load double, double* %14
%1639 = load double, double* %6
%1640 = load double, double* %14
%1641 = fsub double %1639, %1640
%1642 = fdiv double %1638, %1641
%1643 = call double @llvm.fmuladd.f64(double %1636, double %1637, double %1642)
store double %1643, double* %19
%1644 = load double, double* %6
%1645 = call double @llvm.fmuladd.f64(double 0xBF8C567FF1A94FB7, double %1644, double 0xBFFC5DF05839F8B4)
%1646 = load double, double* %6
%1647 = call double @llvm.fmuladd.f64(double %1645, double %1646, double 0x40315D28E792FA1F)
%1648 = load double, double* %6
%1649 = call double @llvm.fmuladd.f64(double %1647, double %1648, double 0xC07659D78A41E8B7)
%1650 = load double, double* %6
%1651 = load double, double* %6
%1652 = fdiv double 0x40CC76BC2C8D13DF, %1651
%1653 = fneg double %1652
%1654 = call double @llvm.fmuladd.f64(double %1649, double %1650, double %1653)
%1655 = fadd double %1654, 0x40A514A2E32ED6F6
%1656 = load double, double* %26
%1657 = load double, double* %16
%1658 = load double, double* %6
%1659 = load double, double* %16
%1660 = fsub double %1658, %1659
%1661 = fdiv double %1657, %1660
%1662 = call double @llvm.fmuladd.f64(double %1655, double %1656, double %1661)
store double %1662, double* %20
br label %1663
1663: ; preds = %1605, %1530
%1664 = load double, double* %18
%1665 = load double, double* %18
%1666 = fadd double %1665, 1.000000e+00
%1667 = fdiv double %1664, %1666
store double %1667, double* %27
%1668 = load double, double* %19
%1669 = load double, double* %19
%1670 = fadd double %1669, 1.000000e+00
%1671 = fdiv double %1668, %1670
store double %1671, double* %28
%1672 = load double, double* %20
%1673 = load double, double* %20
%1674 = fadd double %1673, 1.000000e+00
%1675 = fdiv double %1672, %1674
store double %1675, double* %29
%1676 = load double, double* %25
%1677 = load double, double* %27
%1678 = load double, double* %24
%1679 = fneg double %1677
%1680 = call double @llvm.fmuladd.f64(double %1679, double %1678, double %1676)
store double %1680, double* %31
%1681 = load double, double* %24
%1682 = load double, double* %27
%1683 = load double, double* %21
%1684 = fneg double %1682
%1685 = call double @llvm.fmuladd.f64(double %1684, double %1683, double %1681)
store double %1685, double* %30
%1686 = load double, double* %31
%1687 = load double, double* %28
%1688 = load double, double* %30
%1689 = fneg double %1687
%1690 = call double @llvm.fmuladd.f64(double %1689, double %1688, double %1686)
%1691 = load double, double* %29
%1692 = load double, double* %28
%1693 = fsub double %1691, %1692
%1694 = load double, double* %29
%1695 = load double, double* %27
%1696 = fsub double %1694, %1695
%1697 = fmul double %1693, %1696
%1698 = fdiv double %1690, %1697
store double %1698, double* %23
%1699 = load double, double* %29
%1700 = load double, double* %30
%1701 = load double, double* %31
%1702 = fneg double %1701
%1703 = call double @llvm.fmuladd.f64(double %1699, double %1700, double %1702)
%1704 = load double, double* %29
%1705 = load double, double* %28
%1706 = fsub double %1704, %1705
%1707 = load double, double* %28
%1708 = load double, double* %27
%1709 = fsub double %1707, %1708
%1710 = fmul double %1706, %1709
%1711 = fdiv double %1703, %1710
store double %1711, double* %22
%1712 = load double, double* %21
%1713 = load double, double* %22
%1714 = fsub double %1712, %1713
%1715 = load double, double* %23
%1716 = fsub double %1714, %1715
store double %1716, double* %21
br label %1717
1717: ; preds = %1663, %1513
br label %1718
1718: ; preds = %1717, %1456
br label %1719
1719: ; preds = %1718, %1447
br label %1886
1720: ; preds = %1419
%1721 = load double, double* %10
%1722 = load double, double* %6
%1723 = fdiv double %1721, %1722
%1724 = call double @sqrt(double %1723)
store double %1724, double* %21
%1725 = load i32, i32* %5
%1726 = icmp eq i32 %1725, 1
br i1 %1726, label %1727, label %1731
1727: ; preds = %1720
%1728 = load double, double* %6
%1729 = fsub double %1728, 5.000000e-01
%1730 = fdiv double 5.000000e-01, %1729
store double %1730, double* %18
br label %1885
1731: ; preds = %1720
%1732 = load i32, i32* %5
%1733 = icmp eq i32 %1732, 2
br i1 %1733, label %1734, label %1787
1734: ; preds = %1731
%1735 = load double, double* %6
%1736 = fcmp olt double %1735, 4.000000e+01
br i1 %1736, label %1737, label %1769
1737: ; preds = %1734
%1738 = load double, double* %6
%1739 = fneg double %1738
%1740 = call double @exp(double %1739)
store double %1740, double* %26
%1741 = load double, double* %6
%1742 = call double @llvm.fmuladd.f64(double 0xBFEC20561A93ADA1, double %1741, double 0x4025D9470E207C6A)
%1743 = load double, double* %26
%1744 = load double, double* %9
%1745 = load double, double* %6
%1746 = load double, double* %9
%1747 = fsub double %1745, %1746
%1748 = fdiv double %1744, %1747
%1749 = call double @llvm.fmuladd.f64(double %1742, double %1743, double %1748)
store double %1749, double* %18
%1750 = load double, double* %6
%1751 = call double @llvm.fmuladd.f64(double 0xC02293FCF39DD3E0, double %1750, double 0x4054441C749A077D)
%1752 = load double, double* %26
%1753 = load double, double* %11
%1754 = load double, double* %6
%1755 = load double, double* %11
%1756 = fsub double %1754, %1755
%1757 = fdiv double %1753, %1756
%1758 = call double @llvm.fmuladd.f64(double %1751, double %1752, double %1757)
store double %1758, double* %19
%1759 = load double, double* %6
%1760 = call double @llvm.fmuladd.f64(double 0x4011DFD1D5AA3881, double %1759, double 0xC0537B3445480BA2)
%1761 = load double, double* %26
%1762 = load double, double* %12
%1763 = load double, double* %21
%1764 = fmul double %1762, %1763
%1765 = call double @llvm.fmuladd.f64(double %1760, double %1761, double %1764)
store double %1765, double* %22
%1766 = load double, double* %21
%1767 = load double, double* %22
%1768 = fsub double %1766, %1767
store double %1768, double* %21
br label %1786
1769: ; preds = %1734
%1770 = load double, double* %9
%1771 = load double, double* %6
%1772 = load double, double* %9
%1773 = fsub double %1771, %1772
%1774 = fdiv double %1770, %1773
store double %1774, double* %18
%1775 = load double, double* %11
%1776 = load double, double* %6
%1777 = load double, double* %11
%1778 = fsub double %1776, %1777
%1779 = fdiv double %1775, %1778
store double %1779, double* %19
%1780 = load double, double* %12
%1781 = load double, double* %21
%1782 = fmul double %1780, %1781
store double %1782, double* %22
%1783 = load double, double* %21
%1784 = load double, double* %22
%1785 = fsub double %1783, %1784
store double %1785, double* %21
br label %1786
1786: ; preds = %1769, %1737
br label %1884
1787: ; preds = %1731
%1788 = load i32, i32* %5
%1789 = icmp eq i32 %1788, 3
br i1 %1789, label %1790, label %1883
1790: ; preds = %1787
%1791 = load double, double* %6
%1792 = fcmp olt double %1791, 4.700000e+01
br i1 %1792, label %1793, label %1855
1793: ; preds = %1790
%1794 = load double, double* %6
%1795 = fneg double %1794
%1796 = call double @exp(double %1795)
store double %1796, double* %26
%1797 = load double, double* %6
%1798 = call double @llvm.fmuladd.f64(double 0xC01D8FF56E2ADCDD, double %1797, double 0x40741517F8D19143)
%1799 = load double, double* %6
%1800 = call double @llvm.fmuladd.f64(double %1798, double %1799, double 0xC0AF34AC86A45708)
%1801 = load double, double* %26
%1802 = load double, double* %13
%1803 = load double, double* %6
%1804 = load double, double* %13
%1805 = fsub double %1803, %1804
%1806 = fdiv double %1802, %1805
%1807 = call double @llvm.fmuladd.f64(double %1800, double %1801, double %1806)
store double %1807, double* %18
%1808 = load double, double* %6
%1809 = call double @llvm.fmuladd.f64(double 0xC05277D913F8E283, double %1808, double 0x40A87F663A45EC1C)
%1810 = load double, double* %6
%1811 = call double @llvm.fmuladd.f64(double %1809, double %1810, double 0xC0E2E3C92CE6C464)
%1812 = load double, double* %26
%1813 = load double, double* %14
%1814 = load double, double* %6
%1815 = load double, double* %14
%1816 = fsub double %1814, %1815
%1817 = fdiv double %1813, %1816
%1818 = call double @llvm.fmuladd.f64(double %1811, double %1812, double %1817)
store double %1818, double* %19
%1819 = load double, double* %6
%1820 = call double @llvm.fmuladd.f64(double 0xC0707C0250EDDF20, double %1819, double 0x40C4649BC25F0059)
%1821 = load double, double* %6
%1822 = call double @llvm.fmuladd.f64(double %1820, double %1821, double 0xC0FF45E93F243651)
%1823 = load double, double* %26
%1824 = load double, double* %16
%1825 = load double, double* %6
%1826 = load double, double* %16
%1827 = fsub double %1825, %1826
%1828 = fdiv double %1824, %1827
%1829 = call double @llvm.fmuladd.f64(double %1822, double %1823, double %1828)
store double %1829, double* %20
%1830 = load double, double* %6
%1831 = call double @llvm.fmuladd.f64(double 0x3FC37D389F6D40B0, double %1830, double 0xC0209CFD2A665401)
%1832 = load double, double* %6
%1833 = call double @llvm.fmuladd.f64(double %1831, double %1832, double 0x40681F46993054C7)
%1834 = load double, double* %6
%1835 = call double @llvm.fmuladd.f64(double %1833, double %1834, double 0xC09A37845CBF58D1)
%1836 = load double, double* %26
%1837 = load double, double* %17
%1838 = load double, double* %21
%1839 = fmul double %1837, %1838
%1840 = call double @llvm.fmuladd.f64(double %1835, double %1836, double %1839)
store double %1840, double* %23
%1841 = load double, double* %6
%1842 = call double @llvm.fmuladd.f64(double 0x404EC0EDF24B69FF, double %1841, double 0xC0A6CF9CEA39DC39)
%1843 = load double, double* %6
%1844 = call double @llvm.fmuladd.f64(double %1842, double %1843, double 0x40E297EDC516D25B)
%1845 = load double, double* %26
%1846 = load double, double* %15
%1847 = load double, double* %21
%1848 = fmul double %1846, %1847
%1849 = call double @llvm.fmuladd.f64(double %1844, double %1845, double %1848)
store double %1849, double* %22
%1850 = load double, double* %21
%1851 = load double, double* %22
%1852 = fsub double %1850, %1851
%1853 = load double, double* %23
%1854 = fsub double %1852, %1853
store double %1854, double* %21
br label %1882
1855: ; preds = %1790
%1856 = load double, double* %13
%1857 = load double, double* %6
%1858 = load double, double* %13
%1859 = fsub double %1857, %1858
%1860 = fdiv double %1856, %1859
store double %1860, double* %18
%1861 = load double, double* %14
%1862 = load double, double* %6
%1863 = load double, double* %14
%1864 = fsub double %1862, %1863
%1865 = fdiv double %1861, %1864
store double %1865, double* %19
%1866 = load double, double* %16
%1867 = load double, double* %6
%1868 = load double, double* %16
%1869 = fsub double %1867, %1868
%1870 = fdiv double %1866, %1869
store double %1870, double* %20
%1871 = load double, double* %15
%1872 = load double, double* %21
%1873 = fmul double %1871, %1872
store double %1873, double* %22
%1874 = load double, double* %17
%1875 = load double, double* %21
%1876 = fmul double %1874, %1875
store double %1876, double* %23
%1877 = load double, double* %21
%1878 = load double, double* %22
%1879 = fsub double %1877, %1878
%1880 = load double, double* %23
%1881 = fsub double %1879, %1880
store double %1881, double* %21
br label %1882
1882: ; preds = %1855, %1793
br label %1883
1883: ; preds = %1882, %1787
br label %1884
1884: ; preds = %1883, %1786
br label %1885
1885: ; preds = %1884, %1727
br label %1886
1886: ; preds = %1885, %1719
br label %1887
1887: ; preds = %1886, %1418
br label %1888
1888: ; preds = %1887, %1162
br label %1889
1889: ; preds = %1888, %893
br label %1890
1890: ; preds = %1889, %611
br label %1891
1891: ; preds = %1890, %327
br label %1892
1892: ; preds = %1891, %75
%1893 = load double, double* %18
%1894 = load double*, double** %7
%1895 = getelementptr inbounds double, double* %1894, i64 0
store double %1893, double* %1895
%1896 = load double, double* %21
%1897 = load double*, double** %8
%1898 = getelementptr inbounds double, double* %1897, i64 0
store double %1896, double* %1898
%1899 = load i32, i32* %5
%1900 = icmp sgt i32 %1899, 1
br i1 %1900, label %1901, label %1908
1901: ; preds = %1892
%1902 = load double, double* %19
%1903 = load double*, double** %7
%1904 = getelementptr inbounds double, double* %1903, i64 1
store double %1902, double* %1904
%1905 = load double, double* %22
%1906 = load double*, double** %8
%1907 = getelementptr inbounds double, double* %1906, i64 1
store double %1905, double* %1907
br label %1908
1908: ; preds = %1901, %1892
%1909 = load i32, i32* %5
%1910 = icmp sgt i32 %1909, 2
br i1 %1910, label %1911, label %1918
1911: ; preds = %1908
%1912 = load double, double* %20
%1913 = load double*, double** %7
%1914 = getelementptr inbounds double, double* %1913, i64 2
store double %1912, double* %1914
%1915 = load double, double* %23
%1916 = load double*, double** %8
%1917 = getelementptr inbounds double, double* %1916, i64 2
store double %1915, double* %1917
br label %1918
1918: ; preds = %1911, %1908
ret void
}

LLVM IR (-O2):
define void @Root123(i32 %0, double %1, double* nocapture writeonly %2, double* nocapture writeonly %3) {
%5 = fcmp olt double %1, 3.000000e-07
br i1 %5, label %6, label %25
6: ; preds = %4
switch i32 %0, label %874 [
i32 1, label %7
i32 2, label %12
i32 3, label %18
]
7: ; preds = %6
%8 = fdiv double %1, 5.000000e+00
%9 = fsub double 5.000000e-01, %8
%10 = fdiv double %1, 3.000000e+00
%11 = fsub double 1.000000e+00, %10
br label %871
12: ; preds = %6
%13 = insertelement <2 x double> poison, double %1, i64 0
%14 = shufflevector <2 x double> %13, <2 x double> poison, <2 x i32> zeroinitializer
%15 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %14, <2 x double> <double 0xBF9DBD74524BF7A9, double 0xBFE46769B2C2E8DD>, <2 x double> <double 0x3FC0BA916E4AD393, double 0x4006F456E91B52BC>)
%16 = tail call double @llvm.fmuladd.f64(double %1, double 0xBFBF6A28F0F3516E, double 0x3FE4DE5F840C24C0)
%17 = tail call double @llvm.fmuladd.f64(double %1, double 0xBFCAF59632302907, double 0x3FD64340F7E7B65C)
br label %882
18: ; preds = %6
%19 = tail call double @llvm.fmuladd.f64(double %1, double 0xBF8305FBF2659EA3, double 0x3FAEE9B969E53E5F)
%20 = insertelement <2 x double> poison, double %1, i64 0
%21 = shufflevector <2 x double> %20, <2 x double> poison, <2 x i32> zeroinitializer
%22 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %21, <2 x double> <double 0xBFBE984AA6D85C05, double 0xBFF06696C024DBF4>, <2 x double> <double 0x3FE8DBBCA78FC4FF, double 0x401AA6B4F83A3CDB>)
%23 = tail call double @llvm.fmuladd.f64(double %1, double 0xBFACEBF46927E217, double 0x3FDDF24D499545E7)
%24 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %21, <2 x double> <double 0xBFC314F61433D0E6, double 0xBFC05AB77C2ABD28>, <2 x double> <double 0x3FD716B7B5794BFF, double 0x3FC5EDF601E2DBC7>)
br label %877
25: ; preds = %4
%26 = fcmp olt double %1, 1.000000e+00
br i1 %26, label %27, label %139
27: ; preds = %25
switch i32 %0, label %874 [
i32 1, label %28
i32 2, label %44
i32 3, label %77
]
28: ; preds = %27
%29 = tail call double @llvm.fmuladd.f64(double %1, double 0xBE76731B00F2E07F, double 0x3EB456789F017AD7)
%30 = tail call double @llvm.fmuladd.f64(double %29, double %1, double 0xBEE84196CB5ECA91)
%31 = tail call double @llvm.fmuladd.f64(double %30, double %1, double 0x3F1840E4FC817BA3)
%32 = tail call double @llvm.fmuladd.f64(double %31, double %1, double 0xBF45010C605C6322)
%33 = tail call double @llvm.fmuladd.f64(double %32, double %1, double 0x3F6F07BD7574E5B9)
%34 = tail call double @llvm.fmuladd.f64(double %33, double %1, double 0xBF92F684A7C3EC5A)
%35 = tail call double @llvm.fmuladd.f64(double %34, double %1, double 0x3FB2492491DC9122)
%36 = tail call double @llvm.fmuladd.f64(double %35, double %1, double 0xBFC999999997F6A0)
%37 = tail call double @llvm.fmuladd.f64(double %36, double %1, double 0x3FD5555555555441)
%38 = fadd double %1, %1
%39 = fneg double %1
%40 = tail call double @exp(double %39)
%41 = tail call double @llvm.fmuladd.f64(double %38, double %37, double %40)
%42 = fsub double %41, %37
%43 = fdiv double %37, %42
br label %871
44: ; preds = %27
%45 = tail call double @llvm.fmuladd.f64(double %1, double 0xBE76731B00F2E07F, double 0x3EB456789F017AD7)
%46 = tail call double @llvm.fmuladd.f64(double %45, double %1, double 0xBEE84196CB5ECA91)
%47 = tail call double @llvm.fmuladd.f64(double %46, double %1, double 0x3F1840E4FC817BA3)
%48 = tail call double @llvm.fmuladd.f64(double %47, double %1, double 0xBF45010C605C6322)
%49 = tail call double @llvm.fmuladd.f64(double %48, double %1, double 0x3F6F07BD7574E5B9)
%50 = tail call double @llvm.fmuladd.f64(double %49, double %1, double 0xBF92F684A7C3EC5A)
%51 = tail call double @llvm.fmuladd.f64(double %50, double %1, double 0x3FB2492491DC9122)
%52 = tail call double @llvm.fmuladd.f64(double %51, double %1, double 0xBFC999999997F6A0)
%53 = tail call double @llvm.fmuladd.f64(double %52, double %1, double 0x3FD5555555555441)
%54 = fadd double %1, %1
%55 = fneg double %1
%56 = tail call double @exp(double %55)
%57 = tail call double @llvm.fmuladd.f64(double %54, double %53, double %56)
%58 = insertelement <2 x double> poison, double %1, i64 0
%59 = shufflevector <2 x double> %58, <2 x double> poison, <2 x i32> zeroinitializer
%60 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %59, <2 x double> <double 0xBE2434DBB5854706, double 0xBE5A909D3A602EC4>, <2 x double> <double 0x3E5AC13BAF9E55B8, double 0x3E8FC8BA00A614B3>)
%61 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %60, <2 x double> %59, <2 x double> <double 0xBE6878E6A38C1ACD, double 0x3EBECAD82AD55635>)
%62 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %61, <2 x double> %59, <2 x double> <double 0xBEC4876F1C6C69C7, double 0xBEF5AA5463A723E3>)
%63 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %62, <2 x double> %59, <2 x double> <double 0x3F08DE570D07BBBB, double 0xBF21A365D2CF9058>)
%64 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %63, <2 x double> %59, <2 x double> <double 0xBF4178AD87E07B64, double 0xBF0ED61300B63088>)
%65 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %64, <2 x double> %59, <2 x double> <double 0x3F72368B88F072BA, double 0x3FAB46AA4F02389E>)
%66 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %65, <2 x double> %59, <2 x double> <double 0xBF9DBD74524D242A, double 0xBFE46769B2C2B91E>)
%67 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %66, <2 x double> %59, <2 x double> <double 0x3FC0BA916E4AD393, double 0x4006F456E91B528F>)
%68 = fsub double %53, %57
%69 = extractelement <2 x double> %67, i64 0
%70 = tail call double @llvm.fmuladd.f64(double %68, double %69, double %53)
%71 = extractelement <2 x double> %67, i64 1
%72 = fadd double %71, 1.000000e+00
%73 = fmul double %72, %70
%74 = fsub double %71, %69
%75 = fdiv double %73, %74
%76 = fsub double %57, %75
br label %882
77: ; preds = %27
%78 = tail call double @llvm.fmuladd.f64(double %1, double 0xBE0187A64C050A83, double 0x3E59C8C3BA084876)
%79 = tail call double @llvm.fmuladd.f64(double %78, double %1, double 0xBEA0D040E61E163F)
%80 = tail call double @llvm.fmuladd.f64(double %79, double %1, double 0x3EDFCE1736D0827F)
%81 = tail call double @llvm.fmuladd.f64(double %80, double %1, double 0xBF19097873EAAEBC)
%82 = tail call double @llvm.fmuladd.f64(double %81, double %1, double 0x3F50DBA598DCD03D)
%83 = tail call double @llvm.fmuladd.f64(double %82, double %1, double 0xBF8305FBF2671CBE)
%84 = tail call double @llvm.fmuladd.f64(double %83, double %1, double 0x3FAEE9B969E53F1A)
%85 = insertelement <2 x double> poison, double %1, i64 0
%86 = shufflevector <2 x double> %85, <2 x double> poison, <2 x i32> zeroinitializer
%87 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %86, <2 x double> <double 0xBE4BD764A133A864, double 0xBE43F0AEED1B5C22>, <2 x double> <double 0x3E74CB06C3C042FD, double 0xBE9451D42FC798C4>)
%88 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %87, <2 x double> %86, <2 x double> <double 0x3EBA2D20F35F5185, double 0xBEC5087B5D760579>)
%89 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %88, <2 x double> %86, <2 x double> <double 0xBEF092AD0270E6F4, double 0xBEDEBB9BB111E0E6>)
%90 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %89, <2 x double> %86, <2 x double> <double 0xBF35A7FE857E0A56, double 0x3F30014A18D5E0FE>)
%91 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %90, <2 x double> %86, <2 x double> <double 0x3F83F3F6E0C1E780, double 0x3FA954E5E27577C4>)
%92 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %91, <2 x double> %86, <2 x double> <double 0xBFBE984AA6D6B89F, double 0xBFF06696C022ABFE>)
%93 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %92, <2 x double> %86, <2 x double> <double 0x3FE8DBBCA78FC4A5, double 0x401AA6B4F83A3C3E>)
%94 = tail call double @llvm.fmuladd.f64(double %1, double 0xBE746CF1A4869262, double 0x3EB261428BAA42CC)
%95 = tail call double @llvm.fmuladd.f64(double %94, double %1, double 0xBEE5B2A45D5C507F)
%96 = tail call double @llvm.fmuladd.f64(double %95, double %1, double 0x3F1566436AA26142)
%97 = tail call double @llvm.fmuladd.f64(double %96, double %1, double 0xBF42341857CB7FC3)
%98 = tail call double @llvm.fmuladd.f64(double %97, double %1, double 0x3F6A419FFDCE2E7C)
%99 = tail call double @llvm.fmuladd.f64(double %98, double %1, double 0xBF8F07C1C85D43DE)
%100 = tail call double @llvm.fmuladd.f64(double %99, double %1, double 0x3FAC71C71BAA8D81)
%101 = tail call double @llvm.fmuladd.f64(double %100, double %1, double 0xBFC249249247A43D)
%102 = tail call double @llvm.fmuladd.f64(double %101, double %1, double 0x3FC99999999997A1)
%103 = fneg double %1
%104 = tail call double @exp(double %103)
%105 = fadd double %1, %1
%106 = tail call double @llvm.fmuladd.f64(double %105, double %102, double %104)
%107 = fdiv double %106, 3.000000e+00
%108 = tail call double @llvm.fmuladd.f64(double %105, double %107, double %104)
%109 = fadd double %84, 1.000000e+00
%110 = fdiv double %84, %109
%111 = fadd <2 x double> %93, <double 1.000000e+00, double 1.000000e+00>
%112 = fdiv <2 x double> %93, %111
%113 = fneg double %110
%114 = tail call double @llvm.fmuladd.f64(double %113, double %107, double %102)
%115 = tail call double @llvm.fmuladd.f64(double %113, double %108, double %107)
%116 = extractelement <2 x double> %112, i64 0
%117 = fneg double %116
%118 = extractelement <2 x double> %112, i64 1
%119 = fsub double %118, %116
%120 = fneg double %114
%121 = insertelement <2 x double> poison, double %118, i64 0
%122 = insertelement <2 x double> %121, double %117, i64 1
%123 = insertelement <2 x double> poison, double %115, i64 0
%124 = shufflevector <2 x double> %123, <2 x double> poison, <2 x i32> zeroinitializer
%125 = insertelement <2 x double> poison, double %120, i64 0
%126 = insertelement <2 x double> %125, double %114, i64 1
%127 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %122, <2 x double> %124, <2 x double> %126)
%128 = insertelement <2 x double> poison, double %110, i64 0
%129 = shufflevector <2 x double> %128, <2 x double> poison, <2 x i32> zeroinitializer
%130 = fsub <2 x double> %112, %129
%131 = insertelement <2 x double> poison, double %119, i64 0
%132 = shufflevector <2 x double> %131, <2 x double> poison, <2 x i32> zeroinitializer
%133 = fmul <2 x double> %132, %130
%134 = fdiv <2 x double> %127, %133
%135 = extractelement <2 x double> %134, i64 0
%136 = fsub double %108, %135
%137 = extractelement <2 x double> %134, i64 1
%138 = fsub double %136, %137
br label %877
139: ; preds = %25
%140 = fcmp olt double %1, 3.000000e+00
br i1 %140, label %141, label %268
141: ; preds = %139
%142 = fadd double %1, -2.000000e+00
switch i32 %0, label %874 [
i32 1, label %143
i32 2, label %161
i32 3, label %198
]
143: ; preds = %141
%144 = tail call double @llvm.fmuladd.f64(double %142, double 0xBDE639692E6D26F8, double 0x3E20DAD1A9D197FF)
%145 = tail call double @llvm.fmuladd.f64(double %144, double %142, double 0xBE5700D50C75966B)
%146 = tail call double @llvm.fmuladd.f64(double %145, double %142, double 0x3E8D278109166491)
%147 = tail call double @llvm.fmuladd.f64(double %146, double %142, double 0xBEC0AE4660B81F04)
%148 = tail call double @llvm.fmuladd.f64(double %147, double %142, double 0x3EF1082DCC2EA1D8)
%149 = tail call double @llvm.fmuladd.f64(double %148, double %142, double 0xBF1E9A4F0C7FE5E0)
%150 = tail call double @llvm.fmuladd.f64(double %149, double %142, double 0x3F47C0CEB2DE1FA1)
%151 = tail call double @llvm.fmuladd.f64(double %150, double %142, double 0xBF6F167B71A03F85)
%152 = tail call double @llvm.fmuladd.f64(double %151, double %142, double 0x3F908F7BF5EC8499)
%153 = tail call double @llvm.fmuladd.f64(double %152, double %142, double 0xBFAB1B52148817A2)
%154 = tail call double @llvm.fmuladd.f64(double %153, double %142, double 0x3FBD9EA87ADA65B7)
%155 = fadd double %1, %1
%156 = fneg double %1
%157 = tail call double @exp(double %156)
%158 = tail call double @llvm.fmuladd.f64(double %155, double %154, double %157)
%159 = fsub double %158, %154
%160 = fdiv double %154, %159
br label %871
161: ; preds = %141
%162 = tail call double @llvm.fmuladd.f64(double %142, double 0xBDE639692E6D26F8, double 0x3E20DAD1A9D197FF)
%163 = tail call double @llvm.fmuladd.f64(double %162, double %142, double 0xBE5700D50C75966B)
%164 = tail call double @llvm.fmuladd.f64(double %163, double %142, double 0x3E8D278109166491)
%165 = tail call double @llvm.fmuladd.f64(double %164, double %142, double 0xBEC0AE4660B81F04)
%166 = tail call double @llvm.fmuladd.f64(double %165, double %142, double 0x3EF1082DCC2EA1D8)
%167 = tail call double @llvm.fmuladd.f64(double %166, double %142, double 0xBF1E9A4F0C7FE5E0)
%168 = tail call double @llvm.fmuladd.f64(double %167, double %142, double 0x3F47C0CEB2DE1FA1)
%169 = tail call double @llvm.fmuladd.f64(double %168, double %142, double 0xBF6F167B71A03F85)
%170 = tail call double @llvm.fmuladd.f64(double %169, double %142, double 0x3F908F7BF5EC8499)
%171 = tail call double @llvm.fmuladd.f64(double %170, double %142, double 0xBFAB1B52148817A2)
%172 = tail call double @llvm.fmuladd.f64(double %171, double %142, double 0x3FBD9EA87ADA65B7)
%173 = fadd double %1, %1
%174 = fneg double %1
%175 = tail call double @exp(double %174)
%176 = tail call double @llvm.fmuladd.f64(double %173, double %172, double %175)
%177 = insertelement <2 x double> poison, double %142, i64 0
%178 = shufflevector <2 x double> %177, <2 x double> poison, <2 x i32> zeroinitializer
%179 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %178, <2 x double> <double 0xBD9C0266ED19FEFA, double 0x3DE3F9646E8B0AA0>, <2 x double> <double 0x3DD74B2ADEF0C7E3, double 0x3E21CA6DE5BDA7A1>)
%180 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %179, <2 x double> %178, <2 x double> <double 0xBE01B3EE1125F910, double 0xBE542CBD0DBD3A56>)
%181 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %180, <2 x double> %178, <2 x double> <double 0xBDFA6EA40000FE46, double 0xBE8729EF9CEFCDD4>)
%182 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %181, <2 x double> %178, <2 x double> <double 0x3E76BE1694076A4F, double 0x3EC2DA3B859E5A97>)
%183 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %182, <2 x double> %178, <2 x double> <double 0xBEBF16D568A5230E, double 0x3EE47C11734C6742>)
%184 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %183, <2 x double> %178, <2 x double> <double 0x3EF9EB80619BC287, double 0xBF295166579331C5>)
%185 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %184, <2 x double> %178, <2 x double> <double 0xBF3051D58C3FCBFC, double 0xBF59E5B0C9820700>)
%186 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %185, <2 x double> %178, <2 x double> <double 0x3F61F46543E2F7C7, double 0x3FA8E128638B14C6>)
%187 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %186, <2 x double> %178, <2 x double> <double 0xBF90B994A4491EDF, double 0xBFDB919909FC04E6>)
%188 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %187, <2 x double> %178, <2 x double> <double 0x3FB639161C218EC3, double 0x3FFCDD3952A11FB4>)
%189 = fsub double %172, %176
%190 = extractelement <2 x double> %188, i64 0
%191 = tail call double @llvm.fmuladd.f64(double %189, double %190, double %172)
%192 = extractelement <2 x double> %188, i64 1
%193 = fadd double %192, 1.000000e+00
%194 = fmul double %193, %191
%195 = fsub double %192, %190
%196 = fdiv double %194, %195
%197 = fsub double %176, %196
br label %882
198: ; preds = %141
%199 = tail call double @llvm.fmuladd.f64(double %142, double 0x3D79742AB73671B8, double 0x3D9557FE6E2875FE)
%200 = tail call double @llvm.fmuladd.f64(double %199, double %142, double 0xBE06824E26273604)
%201 = tail call double @llvm.fmuladd.f64(double %200, double %142, double 0x3E50D064EF7E01C8)
%202 = tail call double @llvm.fmuladd.f64(double %201, double %142, double 0xBE9174DED8933FE4)
%203 = tail call double @llvm.fmuladd.f64(double %202, double %142, double 0x3ED031EA694BE0DE)
%204 = tail call double @llvm.fmuladd.f64(double %203, double %142, double 0xBF0AEB276FF4E7DF)
%205 = tail call double @llvm.fmuladd.f64(double %204, double %142, double 0x3F43C3F660B179FA)
%206 = tail call double @llvm.fmuladd.f64(double %205, double %142, double 0xBF79091972E8B31F)
%207 = tail call double @llvm.fmuladd.f64(double %206, double %142, double 0x3FA72C08A08BA49F)
%208 = tail call double @llvm.fmuladd.f64(double %142, double 0xBDF35823EE3DD1B9, double 0x3E2F03C01423D8C5)
%209 = insertelement <2 x double> poison, double %142, i64 0
%210 = insertelement <2 x double> %209, double %208, i64 1
%211 = insertelement <2 x double> <double 0x3E07E9C42A6EC53B, double poison>, double %142, i64 1
%212 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %210, <2 x double> %211, <2 x double> <double 0xBE36FD7C690FD1E2, double 0x3E685AAAF792DE63>)
%213 = shufflevector <2 x double> %209, <2 x double> poison, <2 x i32> zeroinitializer
%214 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %212, <2 x double> %213, <2 x double> <double 0xBE721B452E3BD51F, double 0xBE82EBC1660CBE45>)
%215 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %214, <2 x double> %213, <2 x double> <double 0x3EB9349DBFAF5E9E, double 0xBED9696E9042BEDD>)
%216 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %215, <2 x double> %213, <2 x double> <double 0x3EB0A6095623F70D, double 0xBF0B0D26F3278880>)
%217 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %216, <2 x double> %213, <2 x double> <double 0xBF3980CFA75C0A4A, double 0x3F018D17F6A3E05E>)
%218 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %217, <2 x double> %213, <2 x double> <double 0x3F7EC890DF9A27A1, double 0x3FA9D971FB4F10E7>)
%219 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %218, <2 x double> %213, <2 x double> <double 0xBFB5BA8D62DA243D, double 0xBFEA6404048183C4>)
%220 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %219, <2 x double> %213, <2 x double> <double 0x3FE25D9EBC0BEF05, double 0x40133FD7CE70067F>)
%221 = tail call double @llvm.fmuladd.f64(double %142, double 0xBDE458D7E345A90D, double 0x3E1E9B6DD9876FD2)
%222 = tail call double @llvm.fmuladd.f64(double %221, double %142, double 0xBE54ABC9DCD5A1C0)
%223 = tail call double @llvm.fmuladd.f64(double %222, double %142, double 0x3E89E0B77A80AB49)
%224 = tail call double @llvm.fmuladd.f64(double %223, double %142, double 0xBEBD28EF48445F5A)
%225 = tail call double @llvm.fmuladd.f64(double %224, double %142, double 0x3EED30FBD81B5E0E)
%226 = tail call double @llvm.fmuladd.f64(double %225, double %142, double 0xBF198C42788E5623)
%227 = tail call double @llvm.fmuladd.f64(double %226, double %142, double 0x3F43207166F5603F)
%228 = tail call double @llvm.fmuladd.f64(double %227, double %142, double 0xBF67C0CEB5A64525)
%229 = tail call double @llvm.fmuladd.f64(double %228, double %142, double 0x3F8750DC9539A628)
%230 = tail call double @llvm.fmuladd.f64(double %229, double %142, double 0xBFA08F7BF5EA9C3D)
%231 = tail call double @llvm.fmuladd.f64(double %230, double %142, double 0x3FAB1B521488161D)
%232 = fneg double %1
%233 = tail call double @exp(double %232)
%234 = fadd double %1, %1
%235 = tail call double @llvm.fmuladd.f64(double %234, double %231, double %233)
%236 = fdiv double %235, 3.000000e+00
%237 = tail call double @llvm.fmuladd.f64(double %234, double %236, double %233)
%238 = fadd double %207, 1.000000e+00
%239 = fdiv double %207, %238
%240 = fadd <2 x double> %220, <double 1.000000e+00, double 1.000000e+00>
%241 = fdiv <2 x double> %220, %240
%242 = fneg double %239
%243 = tail call double @llvm.fmuladd.f64(double %242, double %236, double %231)
%244 = tail call double @llvm.fmuladd.f64(double %242, double %237, double %236)
%245 = extractelement <2 x double> %241, i64 0
%246 = fneg double %245
%247 = extractelement <2 x double> %241, i64 1
%248 = fsub double %247, %245
%249 = fneg double %243
%250 = insertelement <2 x double> poison, double %247, i64 0
%251 = insertelement <2 x double> %250, double %246, i64 1
%252 = insertelement <2 x double> poison, double %244, i64 0
%253 = shufflevector <2 x double> %252, <2 x double> poison, <2 x i32> zeroinitializer
%254 = insertelement <2 x double> poison, double %249, i64 0
%255 = insertelement <2 x double> %254, double %243, i64 1
%256 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %251, <2 x double> %253, <2 x double> %255)
%257 = insertelement <2 x double> poison, double %239, i64 0
%258 = shufflevector <2 x double> %257, <2 x double> poison, <2 x i32> zeroinitializer
%259 = fsub <2 x double> %241, %258
%260 = insertelement <2 x double> poison, double %248, i64 0
%261 = shufflevector <2 x double> %260, <2 x double> poison, <2 x i32> zeroinitializer
%262 = fmul <2 x double> %261, %259
%263 = fdiv <2 x double> %256, %262
%264 = extractelement <2 x double> %263, i64 0
%265 = fsub double %237, %264
%266 = extractelement <2 x double> %263, i64 1
%267 = fsub double %265, %266
br label %877
268: ; preds = %139
%269 = fcmp olt double %1, 5.000000e+00
br i1 %269, label %270, label %396
270: ; preds = %268
%271 = fadd double %1, -4.000000e+00
switch i32 %0, label %874 [
i32 1, label %272
i32 2, label %290
i32 3, label %329
]
272: ; preds = %270
%273 = tail call double @llvm.fmuladd.f64(double %271, double 0xBDBCDB693E0F0946, double 0x3DF6446A140C5AE4)
%274 = tail call double @llvm.fmuladd.f64(double %273, double %271, double 0xBE2F0D64BF6CFA0D)
%275 = tail call double @llvm.fmuladd.f64(double %274, double %271, double 0x3E64300EBE769D26)
%276 = tail call double @llvm.fmuladd.f64(double %275, double %271, double 0xBE97D8F77A1BB26E)
%277 = tail call double @llvm.fmuladd.f64(double %276, double %271, double 0x3EC95AE3FB25B7F4)
%278 = tail call double @llvm.fmuladd.f64(double %277, double %271, double 0xBEF803700919CC3E)
%279 = tail call double @llvm.fmuladd.f64(double %278, double %271, double 0x3F240235B1C0EA5B)
%280 = tail call double @llvm.fmuladd.f64(double %279, double %271, double 0xBF4CE64F9170F27F)
%281 = tail call double @llvm.fmuladd.f64(double %280, double %271, double 0x3F71BE83BC15CF63)
%282 = tail call double @llvm.fmuladd.f64(double %281, double %271, double 0xBF91F24754E3EB97)
%283 = tail call double @llvm.fmuladd.f64(double %282, double %271, double 0x3FAB0DED65356EFD)
%284 = fadd double %1, %1
%285 = fneg double %1
%286 = tail call double @exp(double %285)
%287 = tail call double @llvm.fmuladd.f64(double %284, double %283, double %286)
%288 = fsub double %287, %283
%289 = fdiv double %283, %288
br label %871
290: ; preds = %270
%291 = tail call double @llvm.fmuladd.f64(double %271, double 0xBDBCDB693E0F0946, double 0x3DF6446A140C5AE4)
%292 = tail call double @llvm.fmuladd.f64(double %291, double %271, double 0xBE2F0D64BF6CFA0D)
%293 = tail call double @llvm.fmuladd.f64(double %292, double %271, double 0x3E64300EBE769D26)
%294 = tail call double @llvm.fmuladd.f64(double %293, double %271, double 0xBE97D8F77A1BB26E)
%295 = tail call double @llvm.fmuladd.f64(double %294, double %271, double 0x3EC95AE3FB25B7F4)
%296 = tail call double @llvm.fmuladd.f64(double %295, double %271, double 0xBEF803700919CC3E)
%297 = tail call double @llvm.fmuladd.f64(double %296, double %271, double 0x3F240235B1C0EA5B)
%298 = tail call double @llvm.fmuladd.f64(double %297, double %271, double 0xBF4CE64F9170F27F)
%299 = tail call double @llvm.fmuladd.f64(double %298, double %271, double 0x3F71BE83BC15CF63)
%300 = tail call double @llvm.fmuladd.f64(double %299, double %271, double 0xBF91F24754E3EB97)
%301 = tail call double @llvm.fmuladd.f64(double %300, double %271, double 0x3FAB0DED65356EFD)
%302 = fadd double %1, %1
%303 = fneg double %1
%304 = tail call double @exp(double %303)
%305 = tail call double @llvm.fmuladd.f64(double %302, double %301, double %304)
%306 = tail call double @llvm.fmuladd.f64(double %271, double 0xBDE8D0BC7E3C759F, double 0x3E02B1B64CD1B45E)
%307 = insertelement <2 x double> poison, double %271, i64 0
%308 = insertelement <2 x double> %307, double %306, i64 1
%309 = insertelement <2 x double> <double 0xBD9219C1465450E5, double poison>, double %271, i64 1
%310 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %308, <2 x double> %309, <2 x double> <double 0x3DD38A9601FC4DA1, double 0x3E5137A96FF616ED>)
%311 = shufflevector <2 x double> %307, <2 x double> poison, <2 x i32> zeroinitializer
%312 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %310, <2 x double> %311, <2 x double> <double 0xBE1DCF001EB95E12, double 0xBE841B0AAB4DF8C8>)
%313 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %312, <2 x double> %311, <2 x double> <double 0x3E6FD70C7EA1467B, double 0xBEA78B8F2CDC5241>)
%314 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %313, <2 x double> %311, <2 x double> <double 0xBEB0604170FB22A2, double 0x3EF37DBFDD8361DD>)
%315 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %314, <2 x double> %311, <2 x double> <double 0x3EE6C036069AF8EA, double 0xBEF5767B7F2FEEBA>)
%316 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %315, <2 x double> %311, <2 x double> <double 0xBF1D84FECB6EF280, double 0xBF646CC80CF66AF5>)
%317 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %316, <2 x double> %311, <2 x double> <double 0x3F530A3D1E993E4B, double 0x3FA24161972BC943>)
%318 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %317, <2 x double> %311, <2 x double> <double 0xBF844435DAD9D723, double 0xBFD0AAADD1130A9B>)
%319 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %318, <2 x double> %311, <2 x double> <double 0x3FAF5D55F26810E2, double 0x3FF1F1E161A3CBAC>)
%320 = fsub double %301, %305
%321 = extractelement <2 x double> %319, i64 0
%322 = tail call double @llvm.fmuladd.f64(double %320, double %321, double %301)
%323 = extractelement <2 x double> %319, i64 1
%324 = fadd double %323, 1.000000e+00
%325 = fmul double %324, %322
%326 = fsub double %323, %321
%327 = fdiv double %325, %326
%328 = fsub double %305, %327
br label %882
329: ; preds = %270
%330 = tail call double @llvm.fmuladd.f64(double %271, double 0x3DAFB96FFB34E0D3, double 0xBE00087368302304)
%331 = tail call double @llvm.fmuladd.f64(double %330, double %271, double 0x3E406D2AFAD6A4DE)
%332 = tail call double @llvm.fmuladd.f64(double %331, double %271, double 0xBE80820AAE32011A)
%333 = tail call double @llvm.fmuladd.f64(double %332, double %271, double 0x3EC0FECE74EE91C2)
%334 = tail call double @llvm.fmuladd.f64(double %333, double %271, double 0xBEFE1967735238D8)
%335 = tail call double @llvm.fmuladd.f64(double %334, double %271, double 0x3F38450E1683FB1E)
%336 = tail call double @llvm.fmuladd.f64(double %335, double %271, double 0xBF713E924E40D91F)
%337 = tail call double @llvm.fmuladd.f64(double %336, double %271, double 0x3FA1F74BE333147E)
%338 = insertelement <2 x double> poison, double %271, i64 0
%339 = shufflevector <2 x double> %338, <2 x double> poison, <2 x i32> zeroinitializer
%340 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %339, <2 x double> <double 0xBDBD31E4C0EBC727, double 0xBDFAFECDEEC8A0C9>, <2 x double> <double 0x3DEB26A394184E10, double 0xBE31E29F306569A3>)
%341 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %340, <2 x double> %339, <2 x double> <double 0x3E228D4162360679, double 0x3E67C07A8008685D>)
%342 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %341, <2 x double> %339, <2 x double> <double 0xBE7557832720ACBD, double 0x3EA57E7E52D3E3E0>)
%343 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %342, <2 x double> %339, <2 x double> <double 0x3EA148012AA8AAA2, double 0xBEC9A0D47DFF9DC9>)
%344 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %343, <2 x double> %339, <2 x double> <double 0x3EE7719C6E3CB6B6, double 0xBF1B9A532016F87C>)
%345 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %344, <2 x double> %339, <2 x double> <double 0xBF35DF376EDA89A4, double 0xBF441F9EBD4FD1C4>)
%346 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %345, <2 x double> %339, <2 x double> <double 0x3F75BBC25D04BE24, double 0x3FA91225C9C5517B>)
%347 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %346, <2 x double> %339, <2 x double> <double 0xBFAE62E764BA8ADA, double 0xBFE3FBE40759FDA0>)
%348 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %347, <2 x double> %339, <2 x double> <double 0x3FDB98763184CB0F, double 0x400AE9B96234AECC>)
%349 = tail call double @llvm.fmuladd.f64(double %271, double 0xBDBA0902ECC42BC2, double 0x3DF3DEBC779CCC18)
%350 = tail call double @llvm.fmuladd.f64(double %349, double %271, double 0xBE2B53578A6F9CBE)
%351 = tail call double @llvm.fmuladd.f64(double %350, double %271, double 0x3E617765292B0B5E)
%352 = tail call double @llvm.fmuladd.f64(double %351, double %271, double 0xBE9430F90F90EE24)
%353 = tail call double @llvm.fmuladd.f64(double %352, double %271, double 0x3EC4DDD8F951D32B)
%354 = tail call double @llvm.fmuladd.f64(double %353, double %271, double 0xBEF304298FDE1FA3)
%355 = tail call double @llvm.fmuladd.f64(double %354, double %271, double 0x3F1E044C0A4C1501)
%356 = tail call double @llvm.fmuladd.f64(double %355, double %271, double 0xBF440235B3888CC2)
%357 = tail call double @llvm.fmuladd.f64(double %356, double %271, double 0x3F65ACBBAD15A29C)
%358 = tail call double @llvm.fmuladd.f64(double %357, double %271, double 0xBF81BE83BC1496FF)
%359 = tail call double @llvm.fmuladd.f64(double %358, double %271, double 0x3F91F24754E3EB24)
%360 = fneg double %1
%361 = tail call double @exp(double %360)
%362 = fadd double %1, %1
%363 = tail call double @llvm.fmuladd.f64(double %362, double %359, double %361)
%364 = fdiv double %363, 3.000000e+00
%365 = tail call double @llvm.fmuladd.f64(double %362, double %364, double %361)
%366 = fadd double %337, 1.000000e+00
%367 = fdiv double %337, %366
%368 = fadd <2 x double> %348, <double 1.000000e+00, double 1.000000e+00>
%369 = fdiv <2 x double> %348, %368
%370 = fneg double %367
%371 = tail call double @llvm.fmuladd.f64(double %370, double %364, double %359)
%372 = tail call double @llvm.fmuladd.f64(double %370, double %365, double %364)
%373 = extractelement <2 x double> %369, i64 0
%374 = fneg double %373
%375 = extractelement <2 x double> %369, i64 1
%376 = fsub double %375, %373
%377 = fneg double %371
%378 = insertelement <2 x double> poison, double %375, i64 0
%379 = insertelement <2 x double> %378, double %374, i64 1
%380 = insertelement <2 x double> poison, double %372, i64 0
%381 = shufflevector <2 x double> %380, <2 x double> poison, <2 x i32> zeroinitializer
%382 = insertelement <2 x double> poison, double %377, i64 0
%383 = insertelement <2 x double> %382, double %371, i64 1
%384 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %379, <2 x double> %381, <2 x double> %383)
%385 = insertelement <2 x double> poison, double %367, i64 0
%386 = shufflevector <2 x double> %385, <2 x double> poison, <2 x i32> zeroinitializer
%387 = fsub <2 x double> %369, %386
%388 = insertelement <2 x double> poison, double %376, i64 0
%389 = shufflevector <2 x double> %388, <2 x double> poison, <2 x i32> zeroinitializer
%390 = fmul <2 x double> %389, %387
%391 = fdiv <2 x double> %384, %390
%392 = extractelement <2 x double> %391, i64 0
%393 = fsub double %365, %392
%394 = extractelement <2 x double> %391, i64 1
%395 = fsub double %393, %394
br label %877
396: ; preds = %268
%397 = fcmp olt double %1, 1.000000e+01
br i1 %397, label %398, label %517
398: ; preds = %396
%399 = fneg double %1
%400 = tail call double @exp(double %399)
%401 = fdiv double 0x3FDE03B0320C7C1B, %1
%402 = fadd double %401, 0xBFE662C3500EC265
%403 = fdiv double %402, %1
%404 = fadd double %403, 0x3FE12E39E0BF7FC2
%405 = fdiv double %404, %1
%406 = fadd double %405, 0xBFD50B8E4299D9ED
%407 = fdiv double %406, %1
%408 = fadd double %407, 0x3FCF8BDE84950663
%409 = fdiv double %408, %1
%410 = fadd double %409, 0xBFDFFD63F7832524
%411 = fdiv double %410, %1
%412 = fadd double %411, 0xBECA6CCE1EB6FD83
%413 = fdiv double 0x3FE921FB54442D15, %1
%414 = tail call double @sqrt(double %413)
%415 = tail call double @llvm.fmuladd.f64(double %412, double %400, double %414)
%416 = fsub double %415, %400
%417 = fadd double %1, %1
%418 = fdiv double %416, %417
switch i32 %0, label %874 [
i32 1, label %419
i32 2, label %422
i32 3, label %452
]
419: ; preds = %398
%420 = fsub double %415, %418
%421 = fdiv double %418, %420
br label %871
422: ; preds = %398
%423 = fadd double %1, -7.500000e+00
%424 = tail call double @llvm.fmuladd.f64(double %423, double 0xBCA4B31CC8096513, double 0x3CB129FE9BB322B7)
%425 = insertelement <2 x double> poison, double %424, i64 0
%426 = insertelement <2 x double> %425, double %423, i64 1
%427 = insertelement <2 x double> <double poison, double 0x3D1C02EE284A2A61>, double %423, i64 0
%428 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %426, <2 x double> %427, <2 x double> <double 0x3D0E962DF344837F, double 0xBD4328018B28E7D9>)
%429 = insertelement <2 x double> poison, double %423, i64 0
%430 = shufflevector <2 x double> %429, <2 x double> poison, <2 x i32> zeroinitializer
%431 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %428, <2 x double> %430, <2 x double> <double 0xBD33E286704323A2, double 0xBD8390C173E17DD6>)
%432 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %431, <2 x double> %430, <2 x double> <double 0xBD6B28ED7172D8D3, double 0x3DC709B02901FB87>)
%433 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %432, <2 x double> %430, <2 x double> <double 0x3DA1287135BABDF5, double 0xBDEE8C82843BE20F>)
%434 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %433, <2 x double> %430, <2 x double> <double 0x3DD2388C3C24AB21, double 0xBE268AA3F57FE207>)
%435 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %434, <2 x double> %430, <2 x double> <double 0xBE1E810385A4EBCB, double 0x3E70733C27F24E0A>)
%436 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %435, <2 x double> %430, <2 x double> <double 0x3E5266EFD21FB9B1, double 0xBE9D6A9528A42DFE>)
%437 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %436, <2 x double> %430, <2 x double> <double 0xBE84195F18384F19, double 0xBEC4F7AEC0B2597B>)
%438 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %437, <2 x double> %430, <2 x double> <double 0x3EC327BF37AE2F10, double 0x3F1B10181B10344B>)
%439 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %438, <2 x double> %430, <2 x double> <double 0xBF03C363A238A201, double 0xBF57B19424147395>)
%440 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %439, <2 x double> %430, <2 x double> <double 0x3F3F1DACB247B105, double 0x3F8BAAD4EED6267F>)
%441 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %440, <2 x double> %430, <2 x double> <double 0xBF72DC28448CE91E, double 0xBFB868B77DFBDBE2>)
%442 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %441, <2 x double> %430, <2 x double> <double 0x3FA311E3A2C66AB2, double 0x3FE16EB786471C00>)
%443 = fsub double %418, %415
%444 = extractelement <2 x double> %442, i64 0
%445 = tail call double @llvm.fmuladd.f64(double %443, double %444, double %418)
%446 = extractelement <2 x double> %442, i64 1
%447 = fadd double %446, 1.000000e+00
%448 = fmul double %447, %445
%449 = fsub double %446, %444
%450 = fdiv double %448, %449
%451 = fsub double %415, %450
br label %882
452: ; preds = %398
%453 = fadd double %418, %418
%454 = fadd double %418, %453
%455 = fsub double %454, %400
%456 = fdiv double %455, %417
%457 = fadd double %1, -7.500000e+00
%458 = tail call double @llvm.fmuladd.f64(double %457, double 0x3CC4B22D136CCD62, double 0x3CC9A5F90D44F4E0)
%459 = tail call double @llvm.fmuladd.f64(double %458, double %457, double 0xBD32F64E13514CB1)
%460 = tail call double @llvm.fmuladd.f64(double %459, double %457, double 0xBD660AA99C556712)
%461 = tail call double @llvm.fmuladd.f64(double %460, double %457, double 0x3DACED2675EFB890)
%462 = tail call double @llvm.fmuladd.f64(double %461, double %457, double 0xBDC74D9355CF02C0)
%463 = tail call double @llvm.fmuladd.f64(double %462, double %457, double 0x3E17E2B56F2EA6B6)
%464 = tail call double @llvm.fmuladd.f64(double %463, double %457, double 0xBE68FD17068FA980)
%465 = tail call double @llvm.fmuladd.f64(double %464, double %457, double 0x3EA8A64041157EA1)
%466 = tail call double @llvm.fmuladd.f64(double %465, double %457, double 0xBEE6C96CD0855B78)
%467 = tail call double @llvm.fmuladd.f64(double %466, double %457, double 0x3F27525A56E5C846)
%468 = tail call double @llvm.fmuladd.f64(double %467, double %457, double 0xBF63A654F0463AFC)
%469 = tail call double @llvm.fmuladd.f64(double %468, double %457, double 0x3F987C2F24A6A762)
%470 = tail call double @llvm.fmuladd.f64(double %457, double 0x3CFE025ED4A5627C, double 0x3D4A07BAAE0D0BF3)
%471 = insertelement <2 x double> poison, double %457, i64 0
%472 = insertelement <2 x double> %471, double %470, i64 1
%473 = insertelement <2 x double> <double 0x3D098CC283F527A3, double poison>, double %457, i64 1
%474 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %472, <2 x double> %473, <2 x double> <double 0x3CFF7F3F96A2973A, double 0xBD817623EF3B2539>)
%475 = shufflevector <2 x double> %471, <2 x double> poison, <2 x i32> zeroinitializer
%476 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %474, <2 x double> %475, <2 x double> <double 0xBD6E3E3E9914DC55, double 0xBDB964157FD755CA>)
%477 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %476, <2 x double> %475, <2 x double> <double 0xBD974816339D6523, double 0x3DFAEC975D066201>)
%478 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %477, <2 x double> %475, <2 x double> <double 0xBDBB66D97F28A30B, double 0x3E1C92ADA2389BBE>)
%479 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %478, <2 x double> %475, <2 x double> <double 0x3E2782524C5F0791, double 0xBE70A87349EA195E>)
%480 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %479, <2 x double> %475, <2 x double> <double 0xBE46E787A083A647, double 0x3E42D520E433A605>)
%481 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %480, <2 x double> %475, <2 x double> <double 0xBE9D8B7B1A1E33AA, double 0x3EE2D0EFD2E1DBC1>)
%482 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %481, <2 x double> %475, <2 x double> <double 0x3EE44D73C51CAC82, double 0xBF00798F3839B8C2>)
%483 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %482, <2 x double> %475, <2 x double> <double 0xBF260C3A469C9C00, double 0xBF5E220D5ABDAA77>)
%484 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %483, <2 x double> %475, <2 x double> <double 0x3F6612A45F884A87, double 0x3FA1FBDCCAF8B1BA>)
%485 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %484, <2 x double> %475, <2 x double> <double 0xBFA094B39F05949E, double 0xBFD4A12331E4055B>)
%486 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %485, <2 x double> %475, <2 x double> <double 0x3FD1A97BC1E010C6, double 0x3FFBC5F3E9F5DCDC>)
%487 = fadd double %469, 1.000000e+00
%488 = fdiv double %469, %487
%489 = fadd <2 x double> %486, <double 1.000000e+00, double 1.000000e+00>
%490 = fdiv <2 x double> %486, %489
%491 = fneg double %488
%492 = tail call double @llvm.fmuladd.f64(double %491, double %418, double %456)
%493 = tail call double @llvm.fmuladd.f64(double %491, double %415, double %418)
%494 = extractelement <2 x double> %490, i64 0
%495 = fneg double %494
%496 = extractelement <2 x double> %490, i64 1
%497 = fsub double %496, %494
%498 = fneg double %492
%499 = insertelement <2 x double> poison, double %496, i64 0
%500 = insertelement <2 x double> %499, double %495, i64 1
%501 = insertelement <2 x double> poison, double %493, i64 0
%502 = shufflevector <2 x double> %501, <2 x double> poison, <2 x i32> zeroinitializer
%503 = insertelement <2 x double> poison, double %498, i64 0
%504 = insertelement <2 x double> %503, double %492, i64 1
%505 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %500, <2 x double> %502, <2 x double> %504)
%506 = insertelement <2 x double> poison, double %488, i64 0
%507 = shufflevector <2 x double> %506, <2 x double> poison, <2 x i32> zeroinitializer
%508 = fsub <2 x double> %490, %507
%509 = insertelement <2 x double> poison, double %497, i64 0
%510 = shufflevector <2 x double> %509, <2 x double> poison, <2 x i32> zeroinitializer
%511 = fmul <2 x double> %510, %508
%512 = fdiv <2 x double> %505, %511
%513 = extractelement <2 x double> %512, i64 0
%514 = fsub double %415, %513
%515 = extractelement <2 x double> %512, i64 1
%516 = fsub double %514, %515
br label %877
517: ; preds = %396
%518 = fcmp olt double %1, 1.500000e+01
br i1 %518, label %519, label %634
519: ; preds = %517
%520 = fneg double %1
%521 = tail call double @exp(double %520)
%522 = fdiv double 0x3FC80B5DB621CA13, %1
%523 = fsub double 0x3FCD6DF81930DD58, %522
%524 = fdiv double %523, %1
%525 = fadd double %524, 0xBFDFEE97A84E6E89
%526 = fdiv double %525, %1
%527 = fadd double %526, 0xBEF6FB2B3EDD2A8F
%528 = fdiv double 0x3FE921FB54442D15, %1
%529 = tail call double @sqrt(double %528)
%530 = tail call double @llvm.fmuladd.f64(double %527, double %521, double %529)
%531 = fsub double %530, %521
%532 = fadd double %1, %1
%533 = fdiv double %531, %532
switch i32 %0, label %874 [
i32 1, label %534
i32 2, label %537
i32 3, label %569
]
534: ; preds = %519
%535 = fsub double %530, %533
%536 = fdiv double %533, %535
br label %871
537: ; preds = %519
%538 = tail call double @llvm.fmuladd.f64(double %1, double 0xBEE5309B16A4B4D6, double 0x3F53937B864DF747)
%539 = insertelement <2 x double> poison, double %1, i64 1
%540 = insertelement <2 x double> %539, double %538, i64 0
%541 = insertelement <2 x double> <double poison, double 0x3F3637E1F5A2D1E4>, double %1, i64 0
%542 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %540, <2 x double> %541, <2 x double> <double 0xBFB13F8E181A5CBE, double 0xBFB7EF7629A9A022>)
%543 = insertelement <2 x double> poison, double %1, i64 0
%544 = shufflevector <2 x double> %543, <2 x double> poison, <2 x i32> zeroinitializer
%545 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %542, <2 x double> %544, <2 x double> <double 0x3FF41CE672EB3B81, double 0xC010E37F2D914F9C>)
%546 = fdiv <2 x double> <double 0x40C0C00C0FB97540, double 0x40A0492419DE963F>, %544
%547 = fsub <2 x double> <double 0x40B7160F34922721, double 0xC09067F67F0E6F2C>, %546
%548 = fdiv <2 x double> %547, %544
%549 = fadd <2 x double> %548, <double 0xC09AB04E9D14EC54, double 0x40753E439EEEF91A>
%550 = fdiv <2 x double> %549, %544
%551 = fadd <2 x double> %550, <double 0x4070889648360283, double 0xC06385E9E25F0DF2>
%552 = fdiv <2 x double> %551, %544
%553 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %545, <2 x double> %544, <2 x double> %552)
%554 = fadd <2 x double> %553, <double 0xC037DB679B15DDDC, double 0x4020044BBCDB75DF>
%555 = fadd <2 x double> %544, <double 0xBFD19DC7AFDB7B47, double 0xC005CC470A049083>
%556 = fdiv <2 x double> <double 0x3FD19DC7AFDB7B47, double 0x4005CC470A049083>, %555
%557 = insertelement <2 x double> poison, double %521, i64 0
%558 = shufflevector <2 x double> %557, <2 x double> poison, <2 x i32> zeroinitializer
%559 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %554, <2 x double> %558, <2 x double> %556)
%560 = fsub double %533, %530
%561 = extractelement <2 x double> %559, i64 0
%562 = tail call double @llvm.fmuladd.f64(double %560, double %561, double %533)
%563 = extractelement <2 x double> %559, i64 1
%564 = fadd double %563, 1.000000e+00
%565 = fmul double %564, %562
%566 = fsub double %563, %561
%567 = fdiv double %565, %566
%568 = fsub double %530, %567
br label %882
569: ; preds = %519
%570 = fadd double %533, %533
%571 = fadd double %533, %570
%572 = fsub double %571, %521
%573 = fdiv double %572, %532
%574 = fadd double %1, -1.250000e+01
%575 = tail call double @llvm.fmuladd.f64(double %574, double 0x3CBFDBEA10F47019, double 0xBCE8F78F94EE36F9)
%576 = tail call double @llvm.fmuladd.f64(double %575, double %574, double 0xBD26FDB3AE4086C1)
%577 = tail call double @llvm.fmuladd.f64(double %576, double %574, double 0x3D62EDC50CBE87F6)
%578 = tail call double @llvm.fmuladd.f64(double %577, double %574, double 0x3D808E18C8FEADCF)
%579 = tail call double @llvm.fmuladd.f64(double %578, double %574, double 0xBDD7D6FBF5692AE4)
%580 = tail call double @llvm.fmuladd.f64(double %579, double %574, double 0x3E08714C1899D23F)
%581 = tail call double @llvm.fmuladd.f64(double %580, double %574, double 0xBE2E8B3E566D096C)
%582 = tail call double @llvm.fmuladd.f64(double %581, double %574, double 0x3E8160079BC33E40)
%583 = tail call double @llvm.fmuladd.f64(double %582, double %574, double 0xBED15FAD52359A81)
%584 = tail call double @llvm.fmuladd.f64(double %583, double %574, double 0x3F15166C2B226361)
%585 = tail call double @llvm.fmuladd.f64(double %584, double %574, double 0xBF536DEE9F8DD06F)
%586 = tail call double @llvm.fmuladd.f64(double %585, double %574, double 0x3F8F6C71746C625F)
%587 = tail call double @llvm.fmuladd.f64(double %574, double 0x3CECE10C870DD484, double 0xBD1EC9E9D5D0B913)
%588 = insertelement <2 x double> poison, double %574, i64 0
%589 = insertelement <2 x double> %588, double %587, i64 1
%590 = insertelement <2 x double> <double 0x3CFEDB3441BBAB7C, double poison>, double %574, i64 1
%591 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %589, <2 x double> %590, <2 x double> <double 0xBD0860A0FEF600C8, double 0xBD5637633978E7DE>)
%592 = shufflevector <2 x double> %588, <2 x double> poison, <2 x i32> zeroinitializer
%593 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %591, <2 x double> %592, <2 x double> <double 0xBD6E2F6CFC8F075B, double 0x3DA307D77793C71A>)
%594 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %593, <2 x double> %592, <2 x double> <double 0x3D9D36BC941BA9C7, double 0xBDCEECD0D1193BE7>)
%595 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %594, <2 x double> %592, <2 x double> <double 0x3DCA61B85F24A935, double 0xBE0A84E539ED5332>)
%596 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %595, <2 x double> %592, <2 x double> <double 0xBE137BFF161BE543, double 0x3E562B4E44B8526E>)
%597 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %596, <2 x double> %592, <2 x double> <double 0x3E3E6EAEC0992080, double 0xBE850AA98009E131>)
%598 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %597, <2 x double> %592, <2 x double> <double 0xBE6E0C29ED50399B, double 0xBEBA7F64EB400534>)
%599 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %598, <2 x double> %592, <2 x double> <double 0x3EC50E9F2FFB9BA8, double 0x3F1072A75E0EA301>)
%600 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %599, <2 x double> %592, <2 x double> <double 0xBF1165DFB17D21FE, double 0xBF5099322300A0E7>)
%601 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %600, <2 x double> %592, <2 x double> <double 0x3F5254EFB89FADD3, double 0x3F8753BD2C8EE445>)
%602 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %601, <2 x double> %592, <2 x double> <double 0xBF8DC522DB89E000, double 0xBFB9F89ABD64C8D3>)
%603 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %602, <2 x double> %592, <2 x double> <double 0x3FC521459A7AD92A, double 0x3FE8DEDACAA59ABA>)
%604 = fadd double %586, 1.000000e+00
%605 = fdiv double %586, %604
%606 = fadd <2 x double> %603, <double 1.000000e+00, double 1.000000e+00>
%607 = fdiv <2 x double> %603, %606
%608 = fneg double %605
%609 = tail call double @llvm.fmuladd.f64(double %608, double %533, double %573)
%610 = tail call double @llvm.fmuladd.f64(double %608, double %530, double %533)
%611 = extractelement <2 x double> %607, i64 0
%612 = fneg double %611
%613 = extractelement <2 x double> %607, i64 1
%614 = fsub double %613, %611
%615 = fneg double %609
%616 = insertelement <2 x double> poison, double %613, i64 0
%617 = insertelement <2 x double> %616, double %612, i64 1
%618 = insertelement <2 x double> poison, double %610, i64 0
%619 = shufflevector <2 x double> %618, <2 x double> poison, <2 x i32> zeroinitializer
%620 = insertelement <2 x double> poison, double %615, i64 0
%621 = insertelement <2 x double> %620, double %609, i64 1
%622 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %617, <2 x double> %619, <2 x double> %621)
%623 = insertelement <2 x double> poison, double %605, i64 0
%624 = shufflevector <2 x double> %623, <2 x double> poison, <2 x i32> zeroinitializer
%625 = fsub <2 x double> %607, %624
%626 = insertelement <2 x double> poison, double %614, i64 0
%627 = shufflevector <2 x double> %626, <2 x double> poison, <2 x i32> zeroinitializer
%628 = fmul <2 x double> %627, %625
%629 = fdiv <2 x double> %622, %628
%630 = extractelement <2 x double> %629, i64 0
%631 = fsub double %530, %630
%632 = extractelement <2 x double> %629, i64 1
%633 = fsub double %631, %632
br label %877
634: ; preds = %517
%635 = fcmp olt double %1, 3.300000e+01
br i1 %635, label %636, label %795
636: ; preds = %634
%637 = fneg double %1
%638 = tail call double @exp(double %637)
%639 = fdiv double 0x3FC91E26B4D0174D, %1
%640 = fadd double %639, 0xBFDFCE1180245B5F
%641 = fdiv double %640, %1
%642 = fadd double %641, 0xBF0F8A146403A8CF
%643 = fdiv double 0x3FE921FB54442D15, %1
%644 = tail call double @sqrt(double %643)
%645 = tail call double @llvm.fmuladd.f64(double %642, double %638, double %644)
%646 = fsub double %645, %638
%647 = fadd double %1, %1
%648 = fdiv double %646, %647
switch i32 %0, label %874 [
i32 1, label %649
i32 2, label %652
i32 3, label %680
]
649: ; preds = %636
%650 = fsub double %645, %648
%651 = fdiv double %648, %650
br label %871
652: ; preds = %636
%653 = tail call double @llvm.fmuladd.f64(double %1, double 0xBEB347312E1A6850, double 0x3F2711B1C7014C2F)
%654 = insertelement <2 x double> poison, double %1, i64 1
%655 = insertelement <2 x double> %654, double %653, i64 0
%656 = insertelement <2 x double> <double poison, double 0x3F37EA5E7B27A661>, double %1, i64 0
%657 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %655, <2 x double> %656, <2 x double> <double 0xBF919C753ECBB5B5, double 0xBFB8E11F5EEB529D>)
%658 = insertelement <2 x double> poison, double %1, i64 0
%659 = shufflevector <2 x double> %658, <2 x double> poison, <2 x i32> zeroinitializer
%660 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %657, <2 x double> %659, <2 x double> <double 0xBFC192CE2C4D6E04, double 0xC0101D8DEF27B1DF>)
%661 = fdiv <2 x double> <double 0x4047C97F98A19A3B, double 0x4060FA9791CC54EE>, %659
%662 = fsub <2 x double> <double 0x40226B8BEB08F581, double 0xC055AC1B66ACBF03>, %661
%663 = fdiv <2 x double> %662, %659
%664 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %660, <2 x double> %659, <2 x double> %663)
%665 = fadd <2 x double> %664, <double 0xBF97A9A57E7368C2, double 0x4007D7455E33DC4B>
%666 = fadd <2 x double> %659, <double 0xBFD19DC7AFDB7B47, double 0xC005CC470A049083>
%667 = fdiv <2 x double> <double 0x3FD19DC7AFDB7B47, double 0x4005CC470A049083>, %666
%668 = insertelement <2 x double> poison, double %638, i64 0
%669 = shufflevector <2 x double> %668, <2 x double> poison, <2 x i32> zeroinitializer
%670 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %665, <2 x double> %669, <2 x double> %667)
%671 = fsub double %648, %645
%672 = extractelement <2 x double> %670, i64 0
%673 = tail call double @llvm.fmuladd.f64(double %671, double %672, double %648)
%674 = extractelement <2 x double> %670, i64 1
%675 = fadd double %674, 1.000000e+00
%676 = fmul double %675, %673
%677 = fsub double %674, %672
%678 = fdiv double %676, %677
%679 = fsub double %645, %678
br label %882
680: ; preds = %636
%681 = fadd double %648, %648
%682 = fadd double %648, %681
%683 = fsub double %682, %638
%684 = fdiv double %683, %647
%685 = fcmp olt double %1, 2.000000e+01
br i1 %685, label %686, label %724
686: ; preds = %680
%687 = tail call double @llvm.fmuladd.f64(double %1, double 0xBEC468346916718B, double 0x3F377496CDC8F5A5)
%688 = tail call double @llvm.fmuladd.f64(double %687, double %1, double 0xBF97F91DD417330E)
%689 = tail call double @llvm.fmuladd.f64(double %688, double %1, double 0x3FE9016F4E35AEC3)
%690 = tail call double @llvm.fmuladd.f64(double %689, double %1, double 0xC0315227EEB9B55A)
%691 = tail call double @llvm.fmuladd.f64(double %690, double %1, double 0x406E708ED54B015D)
%692 = fdiv double 0x40D34C49DDB8407A, %1
%693 = fsub double 0x40C33034F1FAD81F, %692
%694 = fdiv double %693, %1
%695 = tail call double @llvm.fmuladd.f64(double %691, double %1, double %694)
%696 = fadd double %695, 0xC0A03F69EBF84C5C
%697 = fadd double %1, 0xBFC85747227076B0
%698 = fdiv double 0x3FC85747227076B0, %697
%699 = tail call double @llvm.fmuladd.f64(double %1, double 0xBF3136266C5315C4, double 0x3FA1E0E03FF9717C)
%700 = tail call double @llvm.fmuladd.f64(double %699, double %1, double 0xC008BF3C03B61349)
%701 = tail call double @llvm.fmuladd.f64(double %700, double %1, double 0x405AC26084B0A871)
%702 = tail call double @llvm.fmuladd.f64(double %701, double %1, double 0xC0A27D3157BB853E)
%703 = fdiv double 0x414640A99182FF23, %1
%704 = fsub double 0x413588DF0D790047, %703
%705 = fdiv double %704, %1
%706 = fadd double %705, 0xC111CB31577BF3DB
%707 = fdiv double %706, %1
%708 = tail call double @llvm.fmuladd.f64(double %702, double %1, double %707)
%709 = fadd double %708, 0x40E05E09316D409B
%710 = fadd double %1, 0xBFFC8D4844AF141D
%711 = fdiv double 0x3FFC8D4844AF141D, %710
%712 = tail call double @llvm.fmuladd.f64(double %709, double %638, double %711)
%713 = tail call double @llvm.fmuladd.f64(double %1, double 0x3F186D951CF896DF, double 0xBF9D644DB3B37CD8)
%714 = tail call double @llvm.fmuladd.f64(double %713, double %1, double 0xBFE9127658DB5ABF)
%715 = tail call double @llvm.fmuladd.f64(double %714, double %1, double 0xC0326F136458880D)
%716 = insertelement <2 x double> poison, double %715, i64 0
%717 = insertelement <2 x double> %716, double %696, i64 1
%718 = insertelement <2 x double> poison, double %1, i64 0
%719 = insertelement <2 x double> %718, double %638, i64 1
%720 = insertelement <2 x double> <double 0x40794FF288F6D09A, double poison>, double %698, i64 1
%721 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %717, <2 x double> %719, <2 x double> %720)
%722 = fdiv double 0x41072C2C1313D2CE, %1
%723 = fsub double 0x40E8F9BAD9C89BFE, %722
br label %750
724: ; preds = %680
%725 = tail call double @llvm.fmuladd.f64(double %1, double 0xBF404DD943C565E2, double 0xBFA9A5C8D1A1D69C)
%726 = tail call double @llvm.fmuladd.f64(double %725, double %1, double 0x3FF4F9D2244805BC)
%727 = tail call double @llvm.fmuladd.f64(double %726, double %1, double 0xC032D5697DD2F38C)
%728 = fdiv double 0xC084A2C20EA14DE2, %1
%729 = tail call double @llvm.fmuladd.f64(double %727, double %1, double %728)
%730 = fadd double %729, 0x40649DCE8A43A1C2
%731 = fadd double %1, 0xBFC85747227076B0
%732 = fdiv double 0x3FC85747227076B0, %731
%733 = tail call double @llvm.fmuladd.f64(double %1, double 0xBF725BEA71A9F002, double 0xBFE08E5243D051E1)
%734 = tail call double @llvm.fmuladd.f64(double %733, double %1, double 0x4026BCFB71F2E80A)
%735 = tail call double @llvm.fmuladd.f64(double %734, double %1, double 0xC064ADA502B1324D)
%736 = fdiv double 0xC0B8A5175C9C2CA2, %1
%737 = tail call double @llvm.fmuladd.f64(double %735, double %1, double %736)
%738 = fadd double %737, 0x4097C94532EDE694
%739 = fadd double %1, 0xBFFC8D4844AF141D
%740 = fdiv double 0x3FFC8D4844AF141D, %739
%741 = tail call double @llvm.fmuladd.f64(double %738, double %638, double %740)
%742 = tail call double @llvm.fmuladd.f64(double %1, double 0xBF8C567FF1A94FB7, double 0xBFFC5DF05839F8B4)
%743 = tail call double @llvm.fmuladd.f64(double %742, double %1, double 0x40315D28E792FA1F)
%744 = insertelement <2 x double> poison, double %743, i64 0
%745 = insertelement <2 x double> %744, double %730, i64 1
%746 = insertelement <2 x double> poison, double %1, i64 0
%747 = insertelement <2 x double> %746, double %638, i64 1
%748 = insertelement <2 x double> <double 0xC07659D78A41E8B7, double poison>, double %732, i64 1
%749 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %745, <2 x double> %747, <2 x double> %748)
br label %750
750: ; preds = %724, %686
%751 = phi double [ 0xC0CC76BC2C8D13DF, %724 ], [ %723, %686 ]
%752 = phi double [ 0x40A514A2E32ED6F6, %724 ], [ 0xC0BAE1754DC4AD02, %686 ]
%753 = phi double [ %741, %724 ], [ %712, %686 ]
%754 = phi <2 x double> [ %749, %724 ], [ %721, %686 ]
%755 = fdiv double %751, %1
%756 = extractelement <2 x double> %754, i64 0
%757 = tail call double @llvm.fmuladd.f64(double %756, double %1, double %755)
%758 = fadd double %757, %752
%759 = fadd double %1, 0xC01619F3B5C0B740
%760 = fdiv double 0x401619F3B5C0B740, %759
%761 = tail call double @llvm.fmuladd.f64(double %758, double %638, double %760)
%762 = extractelement <2 x double> %754, i64 1
%763 = fadd double %762, 1.000000e+00
%764 = fdiv double %762, %763
%765 = insertelement <2 x double> poison, double %753, i64 0
%766 = insertelement <2 x double> %765, double %761, i64 1
%767 = fadd <2 x double> %766, <double 1.000000e+00, double 1.000000e+00>
%768 = fdiv <2 x double> %766, %767
%769 = fneg double %764
%770 = tail call double @llvm.fmuladd.f64(double %769, double %648, double %684)
%771 = tail call double @llvm.fmuladd.f64(double %769, double %645, double %648)
%772 = extractelement <2 x double> %768, i64 0
%773 = fneg double %772
%774 = extractelement <2 x double> %768, i64 1
%775 = fsub double %774, %772
%776 = fneg double %770
%777 = insertelement <2 x double> poison, double %774, i64 0
%778 = insertelement <2 x double> %777, double %773, i64 1
%779 = insertelement <2 x double> poison, double %771, i64 0
%780 = shufflevector <2 x double> %779, <2 x double> poison, <2 x i32> zeroinitializer
%781 = insertelement <2 x double> poison, double %776, i64 0
%782 = insertelement <2 x double> %781, double %770, i64 1
%783 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %778, <2 x double> %780, <2 x double> %782)
%784 = insertelement <2 x double> poison, double %764, i64 0
%785 = shufflevector <2 x double> %784, <2 x double> poison, <2 x i32> zeroinitializer
%786 = fsub <2 x double> %768, %785
%787 = insertelement <2 x double> poison, double %775, i64 0
%788 = shufflevector <2 x double> %787, <2 x double> poison, <2 x i32> zeroinitializer
%789 = fmul <2 x double> %788, %786
%790 = fdiv <2 x double> %783, %789
%791 = extractelement <2 x double> %790, i64 0
%792 = fsub double %645, %791
%793 = extractelement <2 x double> %790, i64 1
%794 = fsub double %792, %793
br label %877
795: ; preds = %634
%796 = fdiv double 0x3FE921FB54442D15, %1
%797 = tail call double @sqrt(double %796)
switch i32 %0, label %874 [
i32 1, label %798
i32 2, label %801
i32 3, label %825
]
798: ; preds = %795
%799 = fadd double %1, -5.000000e-01
%800 = fdiv double 5.000000e-01, %799
br label %871
801: ; preds = %795
%802 = fcmp olt double %1, 4.000000e+01
br i1 %802, label %803, label %818
803: ; preds = %801
%804 = fneg double %1
%805 = tail call double @exp(double %804)
%806 = insertelement <2 x double> poison, double %1, i64 0
%807 = shufflevector <2 x double> %806, <2 x double> poison, <2 x i32> zeroinitializer
%808 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %807, <2 x double> <double 0xBFEC20561A93ADA1, double 0xC02293FCF39DD3E0>, <2 x double> <double 0x4025D9470E207C6A, double 0x4054441C749A077D>)
%809 = fadd <2 x double> %807, <double 0xBFD19DC7AFDB7B47, double 0xC005CC470A049083>
%810 = fdiv <2 x double> <double 0x3FD19DC7AFDB7B47, double 0x4005CC470A049083>, %809
%811 = insertelement <2 x double> poison, double %805, i64 0
%812 = shufflevector <2 x double> %811, <2 x double> poison, <2 x i32> zeroinitializer
%813 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %808, <2 x double> %812, <2 x double> %810)
%814 = tail call double @llvm.fmuladd.f64(double %1, double 0x4011DFD1D5AA3881, double 0xC0537B3445480BA2)
%815 = fmul double %797, 0x3FB77D0A3FCF4F02
%816 = tail call double @llvm.fmuladd.f64(double %814, double %805, double %815)
%817 = fsub double %797, %816
br label %882
818: ; preds = %801
%819 = insertelement <2 x double> poison, double %1, i64 0
%820 = shufflevector <2 x double> %819, <2 x double> poison, <2 x i32> zeroinitializer
%821 = fadd <2 x double> %820, <double 0xBFD19DC7AFDB7B47, double 0xC005CC470A049083>
%822 = fdiv <2 x double> <double 0x3FD19DC7AFDB7B47, double 0x4005CC470A049083>, %821
%823 = fmul double %797, 0x3FB77D0A3FCF4F02
%824 = fsub double %797, %823
br label %882
825: ; preds = %795
%826 = fcmp olt double %1, 4.700000e+01
br i1 %826, label %827, label %857
827: ; preds = %825
%828 = fneg double %1
%829 = tail call double @exp(double %828)
%830 = tail call double @llvm.fmuladd.f64(double %1, double 0xC01D8FF56E2ADCDD, double 0x40741517F8D19143)
%831 = tail call double @llvm.fmuladd.f64(double %830, double %1, double 0xC0AF34AC86A45708)
%832 = fadd double %1, 0xBFC85747227076B0
%833 = fdiv double 0x3FC85747227076B0, %832
%834 = tail call double @llvm.fmuladd.f64(double %831, double %829, double %833)
%835 = insertelement <2 x double> poison, double %1, i64 0
%836 = shufflevector <2 x double> %835, <2 x double> poison, <2 x i32> zeroinitializer
%837 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %836, <2 x double> <double 0xC05277D913F8E283, double 0xC0707C0250EDDF20>, <2 x double> <double 0x40A87F663A45EC1C, double 0x40C4649BC25F0059>)
%838 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %837, <2 x double> %836, <2 x double> <double 0xC0E2E3C92CE6C464, double 0xC0FF45E93F243651>)
%839 = fadd <2 x double> %836, <double 0xBFFC8D4844AF141D, double 0xC01619F3B5C0B740>
%840 = fdiv <2 x double> <double 0x3FFC8D4844AF141D, double 0x401619F3B5C0B740>, %839
%841 = insertelement <2 x double> poison, double %829, i64 0
%842 = shufflevector <2 x double> %841, <2 x double> poison, <2 x i32> zeroinitializer
%843 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %838, <2 x double> %842, <2 x double> %840)
%844 = tail call double @llvm.fmuladd.f64(double %1, double 0x3FC37D389F6D40B0, double 0xC0209CFD2A665401)
%845 = insertelement <2 x double> %835, double %844, i64 1
%846 = insertelement <2 x double> <double 0x404EC0EDF24B69FF, double poison>, double %1, i64 1
%847 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %845, <2 x double> %846, <2 x double> <double 0xC0A6CF9CEA39DC39, double 0x40681F46993054C7>)
%848 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %847, <2 x double> %836, <2 x double> <double 0x40E297EDC516D25B, double 0xC09A37845CBF58D1>)
%849 = insertelement <2 x double> poison, double %797, i64 0
%850 = shufflevector <2 x double> %849, <2 x double> poison, <2 x i32> zeroinitializer
%851 = fmul <2 x double> %850, <double 0x3FC6AF858329214A, double 0x3F74EFDE4D84C79E>
%852 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %848, <2 x double> %842, <2 x double> %851)
%853 = extractelement <2 x double> %852, i64 0
%854 = fsub double %797, %853
%855 = extractelement <2 x double> %852, i64 1
%856 = fsub double %854, %855
br label %877
857: ; preds = %825
%858 = fadd double %1, 0xBFC85747227076B0
%859 = fdiv double 0x3FC85747227076B0, %858
%860 = insertelement <2 x double> poison, double %1, i64 0
%861 = shufflevector <2 x double> %860, <2 x double> poison, <2 x i32> zeroinitializer
%862 = fadd <2 x double> %861, <double 0xBFFC8D4844AF141D, double 0xC01619F3B5C0B740>
%863 = fdiv <2 x double> <double 0x3FFC8D4844AF141D, double 0x401619F3B5C0B740>, %862
%864 = insertelement <2 x double> poison, double %797, i64 0
%865 = shufflevector <2 x double> %864, <2 x double> poison, <2 x i32> zeroinitializer
%866 = fmul <2 x double> %865, <double 0x3FC6AF858329214A, double 0x3F74EFDE4D84C79E>
%867 = extractelement <2 x double> %866, i64 0
%868 = fsub double %797, %867
%869 = extractelement <2 x double> %866, i64 1
%870 = fsub double %868, %869
br label %877
871: ; preds = %28, %272, %534, %798, %649, %419, %143, %7
%872 = phi double [ %800, %798 ], [ %651, %649 ], [ %536, %534 ], [ %421, %419 ], [ %289, %272 ], [ %160, %143 ], [ %43, %28 ], [ %9, %7 ]
%873 = phi double [ %797, %798 ], [ %645, %649 ], [ %530, %534 ], [ %415, %419 ], [ %287, %272 ], [ %158, %143 ], [ %41, %28 ], [ %11, %7 ]
store double %872, double* %2
store double %873, double* %3
br label %901
874: ; preds = %795, %636, %519, %398, %270, %141, %27, %6
%875 = phi double [ 0.000000e+00, %6 ], [ 0.000000e+00, %27 ], [ 0.000000e+00, %141 ], [ 0.000000e+00, %270 ], [ %415, %398 ], [ %530, %519 ], [ %645, %636 ], [ %797, %795 ]
store double 0.000000e+00, double* %2
store double %875, double* %3
%876 = icmp sgt i32 %0, 1
br i1 %876, label %890, label %901
877: ; preds = %77, %329, %569, %857, %827, %750, %452, %198, %18
%878 = phi double [ %19, %18 ], [ %84, %77 ], [ %207, %198 ], [ %337, %329 ], [ %469, %452 ], [ %586, %569 ], [ %762, %750 ], [ %834, %827 ], [ %859, %857 ]
%879 = phi double [ %23, %18 ], [ %138, %77 ], [ %267, %198 ], [ %395, %329 ], [ %516, %452 ], [ %633, %569 ], [ %794, %750 ], [ %856, %827 ], [ %870, %857 ]
%880 = phi <2 x double> [ %24, %18 ], [ %134, %77 ], [ %263, %198 ], [ %391, %329 ], [ %512, %452 ], [ %629, %569 ], [ %790, %750 ], [ %852, %827 ], [ %866, %857 ]
%881 = phi <2 x double> [ %22, %18 ], [ %93, %77 ], [ %220, %198 ], [ %348, %329 ], [ %486, %452 ], [ %603, %569 ], [ %766, %750 ], [ %843, %827 ], [ %863, %857 ]
store double %878, double* %2
store double %879, double* %3
br label %890
882: ; preds = %44, %290, %537, %803, %818, %652, %422, %161, %12
%883 = phi double [ %824, %818 ], [ %817, %803 ], [ %679, %652 ], [ %568, %537 ], [ %451, %422 ], [ %328, %290 ], [ %197, %161 ], [ %76, %44 ], [ %16, %12 ]
%884 = phi double [ %823, %818 ], [ %816, %803 ], [ %678, %652 ], [ %567, %537 ], [ %450, %422 ], [ %327, %290 ], [ %196, %161 ], [ %75, %44 ], [ %17, %12 ]
%885 = phi <2 x double> [ %822, %818 ], [ %813, %803 ], [ %670, %652 ], [ %559, %537 ], [ %442, %422 ], [ %319, %290 ], [ %188, %161 ], [ %67, %44 ], [ %15, %12 ]
%886 = extractelement <2 x double> %885, i64 0
store double %886, double* %2
store double %883, double* %3
%887 = getelementptr inbounds double, double* %2, i64 1
%888 = extractelement <2 x double> %885, i64 1
store double %888, double* %887
%889 = getelementptr inbounds double, double* %3, i64 1
store double %884, double* %889
br label %901
890: ; preds = %874, %877
%891 = phi <2 x double> [ %880, %877 ], [ zeroinitializer, %874 ]
%892 = phi <2 x double> [ %881, %877 ], [ zeroinitializer, %874 ]
%893 = getelementptr inbounds double, double* %2, i64 1
%894 = extractelement <2 x double> %892, i64 0
store double %894, double* %893
%895 = getelementptr inbounds double, double* %3, i64 1
%896 = extractelement <2 x double> %891, i64 0
store double %896, double* %895
%897 = getelementptr inbounds double, double* %2, i64 2
%898 = extractelement <2 x double> %892, i64 1
store double %898, double* %897
%899 = getelementptr inbounds double, double* %3, i64 2
%900 = extractelement <2 x double> %891, i64 1
store double %900, double* %899
br label %901
901: ; preds = %874, %871, %882, %890
ret void
}