+ print (xbits, type(xbits))
+ s, e, m = decode_fp32(xbits)
+ print("x decode", s, e, m, hex(m))
+
+ m |= 1<<23 # set top bit (the missing "1" from mantissa)
+ m <<= 27
+
+ sm, sr, se = main(m, e)
+ lowbits = sm & 0x3
+ sm >>= 2
+ sm = get_mantissa(sm)
+ #sm += 2
+
+ s, sm, se = normalise(s, sm, se, lowbits)
+
+ print("our sqrt", s, se, sm, hex(sm), bin(sm), "lowbits", lowbits,
+ "rem", hex(sr))
+ if lowbits >= 2:
+ print ("probably needs rounding (+1 on mantissa)")
+
+ sq_xbits = sq_test.bits
+ s, e, m = decode_fp32(sq_xbits)
+ print ("sf32 sqrt", s, e, m, hex(m), bin(m))
+ print ()