( persicsb | 2021. 04. 14., sze – 17:37 )

if (p==0) return 1.0;

Ez kurva nagy bug. Mi van, ha p 0 és b is 0? Akkor 1-gyel tér vissza, pedig az értéke NaN kellene, hogy legyen.

Ahogy ezt az amúgy minden esetet helyesn lekezelő sima pow() meg is old. Tök felesleges ez a körítés a pow() köré.