A ja polecam wybierać dobre źródła wiedzy
Bo ten program oczywiście zwraca złe wyniki dla myślę nie tak znowu wielkich n (Uwaga! zabrałem kod i przetestowałem dla wybranych n! Nie wykluczam, że w którejś minucie autor uzasadnia, że napisał błędny program w jakimś celu, np. zademonstrowania nieprawidłowego podejścia do problemu)
Nie wnikam, czy są wymijające. Natomiast long double dodaje się do siebie tak: a + b.
Nie wystarczyło, bo to bzdura. Abstrahując już od sytuacji, gdy bajt nie ma 8 bitów - long double na pewnych architekturach może mieć np 12 bajtów i nawet nie musi mieć nic wspólnego z IEEE 754.
Raczej byś przypomniał sobie matematykę z trzeciej czy drugiej klasy szkoły podstawowej 
Formalnie to nawet w C++ się da, ale oczywiście nie czystym a np boostowanym.
Słusznie myślałeś, bo rzeczywiście w pewnej szczególnej logice takie postępowanie działa. Logika ta doczekała się nawet swojej nazwy - zelentym
Podstawowe cechy zelentyzmu to: 1) logiczne rozumowanie oparte na solidnych podstawach naukowych (rachunek wariacyjny albo chociaż dobra literatura typu botanika Szweykowskich), co doczekać się może nawet naukowej analizy (http://platyna.org/blog/2014/01/04/ciag-fibonacciego-i-zlota-proporcja-w-naturze/) 2) stawianie na samorozwój metodami wszelakimi, np. “Tia jest to możliwe ale nie tylko ja siedzę przed kompem w niedzielę zamiast z rodziną. Różnica jest taka że ja się uczę :).” (żeby nie było - głęboko wierzę, że ta diagnoza jest przesadzona i specem od slight edgu czy czegoś tam nie jesteś) 3) pozostawianie wszystkiego co ważne w danej chwili na później, bo wiedzę należy budować od podstaw, a kod / film / odcinek / wykład / … / już bardzo się rozrosnął 