diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for fp-ieee
 
+## Version 0.1.0.5 (2024-12-15)
+
+* Support GHC 9.10/9.12.
+
 ## Version 0.1.0.4 (2024-02-18)
 
 * Documentation chanegs.
diff --git a/fp-ieee.cabal b/fp-ieee.cabal
--- a/fp-ieee.cabal
+++ b/fp-ieee.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 
 name:           fp-ieee
-version:        0.1.0.4
+version:        0.1.0.5
 synopsis:       IEEE 754-2019 compliant operations
 description:    Please see the README on GitHub at <https://github.com/minoki/haskell-floating-point/tree/master/fp-ieee#readme>
 category:       Numeric, Math
@@ -72,7 +72,7 @@
       -- We use a post-GHC 8.6 language extension: NumericUnderscores
       -- cast{Word32,Word64}To{Float,Double}, cast{Float,Double}To{Word32,Word64} are since base-4.10.0.0 (GHC 8.2)
       -- Semigroup((<>)) is exported from Prelude since base-4.11.0.0 (GHC 8.4)
-      base >=4.12 && <4.20
+      base >=4.12 && <4.22
   if !flag(pure-hs)
     cpp-options: -DUSE_FFI
   if !flag(pure-hs) && os(windows)
@@ -204,9 +204,9 @@
   main-is: doctests.hs
   build-depends:
       doctest ^>=0.22.2
-    , QuickCheck ^>=2.14.3
+    , QuickCheck >=2.14.3 && <2.16
   default-language: Haskell2010
-  if impl(ghc >= 9.8)
+  if impl(ghc >= 9.12)
     buildable: False
 
 test-suite fp-ieee-test
@@ -229,7 +229,7 @@
       test
   ghc-options: -threaded -rtsopts -with-rtsopts=-N -fno-ignore-asserts
   build-depends:
-      QuickCheck ^>=2.14.3
+      QuickCheck >=2.14.3 && <2.16
     , fp-ieee
     , hspec ^>=2.11.7
     , hspec-core ^>=2.11.7
diff --git a/src/Numeric/Floating/IEEE/Internal/FMA.hs b/src/Numeric/Floating/IEEE/Internal/FMA.hs
--- a/src/Numeric/Floating/IEEE/Internal/FMA.hs
+++ b/src/Numeric/Floating/IEEE/Internal/FMA.hs
@@ -159,8 +159,9 @@
 twoProductFloat :: Float -> Float -> (Float, Float)
 twoProductDouble :: Double -> Double -> (Double, Double)
 
-#if defined(HAS_FMA_PRIM) && 0
--- Disabled for now: https://gitlab.haskell.org/ghc/ghc/-/issues/24160
+#if defined(HAS_FMA_PRIM) && MIN_VERSION_GLASGOW_HASKELL(9, 8, 3, 0)
+-- GHC 9.8.1 is buggy: https://gitlab.haskell.org/ghc/ghc/-/issues/24160
+-- GHC 9.8.2 is also buggy: https://gitlab.haskell.org/ghc/ghc/-/issues/24496
 
 twoProductFloat# :: Float# -> Float# -> (# Float#, Float# #)
 twoProductFloat# x y = let !r = x `timesFloat#` y
