Doubling cascade
APL (Dyalog Unicode), 79 bytes
⊃⊃{⌽u,a,c÷u←b-⍨a←⍺{⍵-÷/⍵{(⍺-×⍨⊃⍵),1-2××/⍵}⍣⍺⊢0}⍣≡b+c÷⊃e b c←⍵}/(⌽2*1+⍳17),⊂*3↑1
Try it online!
Outputs 4.669201609074452565738237725929176 (10 digits). You can increase the number 17 near the end to get more correct digits; the largest number that fits within 1 minute of TIO is 22, which gives 4.669201609102976931847851885076037 (14 digits).
Dyalog APL has 128-bit floating point numbers, which gives more precision needed to get closer to the constant. Otherwise, the number simply diverges after certain number of iterations.
The algorithm itself is the same as this Python sample code, which was already referenced in Thomas W's JS answer and others.
Ungolfed with comments
func←{
i←⍺ ⍝ Input: ⍺ ← iterations of inner-inner loop
e b c←⍵ ⍝ Input: ⍵ ← d, a_1, a_1-a_2
a←b+c÷e ⍝ Initial value of a ← a_1+(a_1-a_2)÷d
g←{ ⍝ One iteration of a:
x y←0 ⍝ Initialize x, y to 0
h←{ ⍝ One iteration of x,y:
x y←⍵ ⍝ Extract x,y
y←1-2×x×y ⍝ Next value of y
x←⍺-x×x ⍝ Next value of x (here ⍺ is outer a)
x,y ⍝ Return x,y
}
x y←⍵ h⍣⍺⊢x y ⍝ Iterate h ⍺ times (here ⍺ is outer i)
⍵-x÷y ⍝ Return next value of a
}
a←i g⍣≡ a ⍝ Iterate g until a does not significantly change
(c÷a-b),a,a-b ⍝ Return next value of d, a_1, a_1-a_2
}
⍝ Reduce from right over iteration counts starting with (2.7,1,1) and
⍝ extract the value of d
⊃⊃ func/ (⌽2*1+⍳17),⊂*3↑1
Javascript, 141 138 135 131 bytes, 8 digits
It's something I guess. It should be improveable quite a bit. If anyone needs a start: how to calculate Feigenbaum. And if you rather want to know how to do it code-wise, check out this.
Copy paste the following code in your console. Calculates 4.669201668823243 (so not really precise).
b=1;c=0;e=3.2;for(i=2;i<13;i++){z=b-c;a=b+z/e;j=4;while(j--){x=y=0;k=2**i;while(k--){y=1-2*y*x;x=a-x*x;}a-=x/y}e=z/(a-b);c=b;b=a;e}
b=1;c=0;e=3.2;for(i=2;i<13;i++){z=b-c;a=b+z/e;j=4;while(j--){x=y=0;k=2**i;while(k--){y=1-2*y*x;x=a-x*x;}a-=x/y}e=z/(a-b);c=b;b=a;e}
console.log(e)
Python, 127 bytes
c,b,e=0,1,2
for i in range(2,13):a=b+(b-c)/e;exec(("x=y=0;"+"y,x=1-2*y*x,a-x*x;"*2**i+"a=a-x/y;")*17);d,c,b=(b-c)/(a-b),b,a;e=d
Credit goes for @ThomasW with his javascript answer.
Add print(d)
to output 4.669201673141983. Takes a few seconds, due to the long strings being calculated before execution.