Umm, you've just proved my point.
Yes, var is typedef'd as double, but that's not the issue.
Your output shows that, in Zorro, var/double is behaving just like a 32-bit float:float representation of 0.123456789012345678901234567890
That's called an MRE, not production code. Which branch do you think should execute?