#include <iostream>
bool floatcmp(float a, float b) {
//check NaN
return !(a < b) && !(b < a);
}
int main() {
using namespace std;
float a = 0.1;
float b = 0.1;
// Just to be sure change is not inlined
b += 1;
cout << "B after increase = " << b << endl;
b -= 1;
cout << "B after decrease = " << b << endl;
cout << "A " << (floatcmp(a, b) ? "equals" : "is not equal to") << "B" << endl;
cout.precision(10);
cout << "A = " << a << endl;
cout << "B = " << b << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKYm9vbCBmbG9hdGNtcChmbG9hdCBhLCBmbG9hdCBiKSB7CiAgICAvL2NoZWNrIE5hTgogICAgcmV0dXJuICEoYSA8IGIpICYmICEoYiA8IGEpOwp9CgppbnQgbWFpbigpIHsKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAKICAgIGZsb2F0IGEgPSAwLjE7CiAgICBmbG9hdCBiID0gMC4xOwoKICAgIC8vIEp1c3QgdG8gYmUgc3VyZSBjaGFuZ2UgaXMgbm90IGlubGluZWQKICAgIGIgKz0gMTsKICAgIGNvdXQgPDwgIkIgYWZ0ZXIgaW5jcmVhc2UgPSAiIDw8IGIgPDwgZW5kbDsKICAgIGIgLT0gMTsKICAgIGNvdXQgPDwgIkIgYWZ0ZXIgZGVjcmVhc2UgPSAiIDw8IGIgPDwgZW5kbDsKCiAgICBjb3V0IDw8ICJBICIgPDwgKGZsb2F0Y21wKGEsIGIpID8gImVxdWFscyIgOiAiaXMgbm90IGVxdWFsIHRvIikgPDwgIkIiIDw8IGVuZGw7CiAgICAKICAgIGNvdXQucHJlY2lzaW9uKDEwKTsKICAgIGNvdXQgPDwgIkEgPSAiIDw8IGEgPDwgZW5kbDsKICAgIGNvdXQgPDwgIkIgPSAiIDw8IGIgPDwgZW5kbDsKfQo=