Vznik tohoto programu je mimořádně komplikovaný a strastiplný. Ale od začátku. Program počítá pí dle Chudnovskyho vzorce, což je v současné době vůbec ten nejefektivnější algoritmus pro výpočet pí. Nutno ovšem dodat, že tento algoritmus ukazuje svou sílu až s použitím pokročilých programátorských technik, jako je binary splitting a jiné, které eliminují jeho nedostatky, jako jsou obrovská čísla způsobená hlavně velkými faktoriály. Chudnovsky vzorec je výsedkem bádání bratrů Chudnovských, ale pokud se nepletu, jejich práce původně vycházela ze vzorce, na který přišel ind jménem Srinivasa Ramanujan. Chudnovsky vzorec spatřil světlo světa v roce 1988 a v současné době je stále považován za to nejlepší, co ve světě výpočtu pí existuje. Při dobré optimalizaci Chudnovsky vzorec poráží staletími osvědčené Machin-like vzorce s Gregoryho řadou, velice komplikované rekurzivní algoritmy typu Gauss–Legendre a ještě složitější Borwein's vzorce, stejně jako některé další mimořádně efektivní a krásné vzorce a řetězové zlomky. Když jsem zprvu zkoušel přimět AI, aby mi napsala kód, který by počítal pí právě dle Chudnovskyho vzorce, výsledky byly tristní a program byl mnohem pomalejší než jiné algoritmy. Háček byl v tom, že Chudnovsky algoritmus potřebuje pro svůj rychlý výpočet techniku zvanou binary splitting (ne, nechápu, jak to funguje) a AI se nedařilo tuto techniku do kódu implementovat. Nakonec jsem na anglické wikipedii našel v článku o Chudnovsky vzorci ukázkový kód v Pythonu, který binary splitting implementovat. Kupodivu tam už nyní ten kód není. Když se AI tímto kódem inspirovala a přepsala ho do JavaScriptu, program fungoval jen částečně. Pro některé zadané hodnoty desetinných míst program počítal pí správně a pro jiné ne. AI se opakovaně nedařilo kód opravit a nedokázala odhalit, kde je chyba. Zkoušel jsem tímto zapeklitým problémem obtěžovat mnohé AI, ale ani jedna to nezvládla. Nakonec na chybu po mnoha neúspěšných pokusech přišla AI Gemini 2.5 Pro, když jsem jí poskytl velice detailní empirické informace, jak přesně se program chová. Tedy že špatné hodnoty pí se počítají asi 3x rychleji než dobré a tak podobně. Opravený program máte nyní možnost si vyzkoušet. Co se týče rychlosti tohoto programu, extrémně záleží na tom, v jakém prohlížeči ho spouštíte, protože v prohlížeči Edge mi beží mnohem rychleji než ve Firefoxu. Výpočet na 50'000 desetinných míst trvá ve Firefoxu (139.0.4) 1'320 ms a v prohlížeči Edge (137.0.3296.68) pouhých 57 ms. Což je značný rozdíl. Navíc Firefox při výpočtu na více jak 78'100 desetinných míst vypisuje chybu: BigInt is too large to allocate. Ovšem Edge bez mrknutí oka spočítá pí i na jeden milion desetinných míst za 2'893 ms. Můj laický a dost dobře mylný odhad je, že Firefox používá u datového typu BigInt nějaký méně efektivní algoritmus pro násobení hodně velkých čísel a zřejmě zde má i omezení na maximální velikost tohoto datového typu. Nicméně v budoucích verzích Firefoxu se to pochopitelně může změnit. Program napsala AI Gemini 2.5 pro od firmy Google dle mých instrukcí 12. června 2025