#include <stdio.h>
struct Arr2 { int data[2]; };
struct Arr2 foo(double x) {
struct Arr2 r;
r.data[0] = x;
r.data[1] = (x - r.data[0]) * 1000000;
return r;
}
int main(void) {
struct Arr2 split;
split = foo(3.14159);
printf("%d + 0.%06d\n", split.
data[0], split.
data[1]); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgQXJyMiB7IGludCBkYXRhWzJdOyB9OwoKc3RydWN0IEFycjIgZm9vKGRvdWJsZSB4KSB7CiAgICBzdHJ1Y3QgQXJyMiByOwogICAgci5kYXRhWzBdID0geDsKICAgIHIuZGF0YVsxXSA9ICh4IC0gci5kYXRhWzBdKSAqIDEwMDAwMDA7CiAgICByZXR1cm4gcjsKfQoKaW50IG1haW4odm9pZCkgewogICAgc3RydWN0IEFycjIgc3BsaXQ7CiAgICBzcGxpdCA9IGZvbygzLjE0MTU5KTsKICAgIHByaW50ZigiJWQgKyAwLiUwNmRcbiIsIHNwbGl0LmRhdGFbMF0sIHNwbGl0LmRhdGFbMV0pOwogICAgcmV0dXJuIDA7Cn0=