Würde Python dann z.B. \(1/\sqrt{2} ^2\) rechnen, um 1/2 "auszurechnen"?
Nein - rationale Zahl mit Zweierpotenz im Nenner heißt: jede Zahl \(x\) wird im Prinzip dargestellt als $$x = \pm m \cdot 2^e, \quad m \in \mathbb N, \space e \in \mathbb Z$$wobei natürlich \(m\) und \(e\) auf den Darstellungsbereich der Zahl beschränkt sind - will sagen: das geht nicht bis \(\infty\)!
Somit ist $$\frac 12 = 0,1_2 = + 1 \cdot 2^{-1}$$das kann exakt dargestellt werden. Aber $$\frac 13 = 0,\overline{01}_2 \approx + 6004799503160661 \cdot 2^{-54} \lt \frac 13$$ (wenn ich mich nicht verrechnet habe) der Unterschied macht sich erst bei der 17.Dezimalstelle hinter dem Komma bemerkbar.
D.h. die Zahl im Rechner, die für 1/3 steht, ist etwas zu klein, genauso 1/6, was sich gegenüber 1/3 nur in dem Wert für \(e\) äußert. Damit ist in dem von Dir angegebenen Bruch der Zähler etwas zu groß und der Nenner etwas kleiner als der exakte Wert. Nach der Division der Werte gibt es dann den von Dir gefundenen Fehler.