Pike v7.6 release 13 running Hilfe v3.5 (Incremental Pike Frontend)
float a = Math.pi/2, b = 1.570796; a;
(1) Result: 1.570796
b;
(2) Result: 1.570796
(a-b)*1000000;
(3) Result: 0.357628
sprintf("%.7f", a);
(4) Result: "1.5707964"
sprintf("%.7f", b);
(5) Result: "1.5707960"
As you can see, a is larger than b, but the difference is in the seventh decimal so you can't see it in the default print format. More precisely, b < Pi/2 < a. (Pi/2 = 1.5707963..., which can't be represented exactly with any floating point representation.)