let chck = "5.5626902089526504e-303 :: Double"
v' <- compileExpr chck
liftIO $ print (unsafeCoerce v' :: Double))
results in
7.416887269295208e-303
being printed.
The float 3.8147010803222656
works correctly (3.8147010803222656
is also printed.)