diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,9 +1,13 @@
 * Hackage: <http://hackage.haskell.org/package/crackNum>
 * GitHub:  <http://github.com/LeventErkok/crackNum/>
 
-* Latest Hackage released version: 3.7, 2024-02-15
+* Latest Hackage released version: 3.9, 2024-02-23
 
-### Version 3.8, Not yet released
+### Version 3.9, 2024-02-23
+  
+  * Fix verilog input format parsing
+
+### Version 3.8, 2024-02-21
 
   * Add support for FP8 formats, as decribed in: https://arxiv.org/pdf/2209.05433.pdf
       - E5M2: Which is essentially a synonym for f5+3
diff --git a/crackNum.cabal b/crackNum.cabal
--- a/crackNum.cabal
+++ b/crackNum.cabal
@@ -1,6 +1,6 @@
 Cabal-version      : 2.2
 Name               : crackNum
-Version            : 3.8
+Version            : 3.9
 Synopsis           : Crack various integer and floating-point data formats
 Description        : Crack IEEE-754 float formats and arbitrary sized words and integers, showing the layout.
                      .
diff --git a/src/CrackNum/Main.hs b/src/CrackNum/Main.hs
--- a/src/CrackNum/Main.hs
+++ b/src/CrackNum/Main.hs
@@ -349,14 +349,16 @@
 parseToBits inp = do
      let isSkippable c = c `elem` "_-" || isSpace c
 
-     (mbPadTo, isHex, stream) <- case map toLower (filter (not . isSkippable) inp) of
+         cleanInput = map toLower (filter (not . isSkippable) inp)
+
+     (mbPadTo, isHex, stream) <- case cleanInput of
                                    '0':'x':rest -> pure (Nothing, True,  rest)
                                    '0':'b':rest -> pure (Nothing, False, rest)
                                    _            ->
-                                     case break (`elem` "'h") inp of
+                                     case break (`elem` "'h") cleanInput of
                                        (pre@(_:_), '\'' : 'h' : rest) | all isDigit pre -> pure (Just (read pre), True, rest)
                                        _  -> die [ "Input string must start with 0b, 0x, or N'h for decoding."
-                                                 , "Received prefix: " ++ show (take 2 inp)
+                                                 , "Received prefix: " ++ show (take 2 cleanInput)
                                                  ]
 
      let cvtBin '1' = pure [True]
