The bug is in fact in lgammal, as tgammal(x) simply takes expl(lgammal(x)); namely, lgammal(6.0) produces 4.78749174278204581157 on armel, while it should be closer to 4.7874917427820459942477, i.e. armel gives relative error of about 3.8e-17
The bug is in fact in lgammal, as tgammal(x) simply takes expl(lgammal(x)); 4581157 on armel, 459942477, i.e. armel gives relative error of about 3.8e-17
namely, lgammal(6.0) produces 4.7874917427820
while it should be closer to 4.7874917427820