Emil, on my computer I get: tarte% ./a.out sq = 31622776594463450651183593747237878962937483618477537227255869596154160416819231357 s1 = 31622776594463450651183593747237878962937483618477537227255869596154160416819231357 which seems correct. What results do you get? Did you try with a more recent version of gcc? Paul Zimmermann