#include <iostream>
using namespace std;

union F2U {
	float fl;
	unsigned ui;
};

void printFloat(const char* name, float x) {
	F2U f;
	f.fl = x;
	printf("%s = %f \t 0x%x\n", name, f.fl, f.ui);
}

float fromUint( uint i) {
	F2U f;
	f.ui = i;
	return f.fl;
}

int main() {
	
	float a = 0.1f;

	float b = fromUint(0x36400497);
	
	printFloat("a", a);
	printFloat("b", b);
	
	const float split = 8193.0;

    float ca = split * a;
    float cb = split * b;

    float v1a = ca - (ca - a);
    float v1b = cb - (cb - b);

	printFloat("v1a", v1a);
	printFloat("v1b", v1b);
	
	return 0;
}