gg[a_, n_, p_] := 
      Module[{x, dx, s}, x = SetPrecision[1/2, p]; dx = 0; 
        Do[s = SetPrecision[x (1 - x), p]; 
          dx = SetPrecision[a (1 - 2  x) dx + s, p]; 
          x = SetPrecision[a s, p], {n}]; (x - 1/2)/dx]

gg[a_, n_, p_] := 
      Module[{x, dx, s}, x = SetPrecision[Pi/2, p]; dx = 0; 
        Do[s = SetPrecision[Exp[I x], p]; 
          dx = SetPrecision[a Re[s] dx + Im[s], p]; 
          x = SetPrecision[a Im[s], p], {n}]; (x - Pi/2)/dx]

sup[a0_, n_, p_] := 
      Timing[Module[{a, a2}, a = SetPrecision[a0, 2  p]; a2 = a + 1; 
            While[Abs[a - a2] > 10^(-p), a2 = a; 
              a = SetPrecision[a2 - gg[a2, n, 2  p], 2  p]]; 
            SetPrecision[a, p]]] // (Print[#]; #[[2]]) &

sval = {2, 1 + Sqrt[5]}

sval = {Pi/2, 2.44}

delta[n_, p_] := 
      Module[{tab, strm}, strm = OpenWrite["F:\\test.txt"]; 
        tab = {sup[sval[[1]], 1, p], sup[sval[[2]], 2, p]}; 
        Do[tab = 
            Append[tab, 
              sup[tab[[-1]] + (tab[[-1]] - 
                        tab[[-2]])/4.7, 2^(Length[tab]), p]]; 
          WriteString[strm, "Nr. ", Length[tab], ": a = ", 
            tab[[-1]], ", delta = ", (tab[[-2]] - 
                  tab[[-3]])/(tab[[-1]] - 
                  tab[[-2]]), "\n"], {n}]; Close[strm]; 
        tab]

delta[16, 30]

Close[Streams[][[3]]]

2.71929747201470936209405862323054016698912`30 + (2.71929747201470936209405862323054016698912`30 - 
            2.71929747199435485203280417252590772027802`30) 
        4.669201609102547`20/(4.669201609102547`20 - 1)

Close[Streams[][[3]]]

N[Pi/2, 20]

FindRoot[Pi/2 == a Im[Exp[I a]], {a, 2.4, 2.5}]

N[InverseFunction[(# Sin[#]) &][Pi/2]]

delta2 := 
      Module[{del = {4.7}, tab, strm, p = 15}, 
        tab = {sup[sval[[1]], 1, p], sup[sval[[2]], 2, p]}; 
        strm = OpenWrite["F:\\test.txt"]; 
        WriteString[strm, "Feigenbaum Constant ", Date[], "\n"]; 
        Close[strm]; 
        While[Length[del] < 15, 
          tab = Append[tab, 
              sup[tab[[-1]] + (tab[[-1]] - 
                        tab[[-2]])/4.7, 2^(Length[tab]), p]]; 
          del = Append[
              del, (tab[[-2]] - 
                    tab[[-3]])/(tab[[-1]] - 
                    tab[[-2]])]; 
          p = 15 + 
              IntegerPart[-Log[10, 
                      tab[[-1]] - tab[[-2]]] - 
                  Log[10, Abs[del[[-1]] - del[[-2]]]]]; 
          AbortProtect[strm = OpenAppend["F:\\test.txt"]; 
            WriteString[strm, "Nr. ", Length[tab], ": a = ", 
              tab[[-1]], ", delta = ", 
              del[[-1]], "\n"]; Close[strm]]; 
          Print[{del[[-1]], p, Date[]}]]; {tab, del}]

delta2