[GHC] #10555: RULE left-hand side too complicated to desugar

GHC ghc-devs at haskell.org
Sun Jun 21 12:06:12 UTC 2015


#10555: RULE left-hand side too complicated to desugar
-------------------------------------+-------------------------------------
              Reporter:  yongqli     |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  normal      |         Milestone:
             Component:  Compiler    |           Version:  7.10.2-rc1
              Keywords:              |  Operating System:  Unknown/Multiple
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |        Blocked By:
             Test Case:  yes         |   Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
 GHC version 7.10.1.20150612 breaks the `fast-math` package, which compiled
 fine on GHC 7.10.1. To reproduce, run `cabal install fast-math`.

 {{{

 Numeric/FastMath/Approximation.hs:60:1: Warning:
     RULE left-hand side too complicated to desugar
       Optimised lhs: case /## y2 x of wild_00 { __DEFAULT ->
                      (case /## y1 x of wild_X2 { __DEFAULT -> +## wild_X2
 }) wild_00
                      }
       Orig lhs: case /## y2 x of wild_00 { __DEFAULT ->
                 (case /## y1 x of wild_00 { __DEFAULT -> +## wild_00 })
 wild_00
                 }

 Numeric/FastMath/Approximation.hs:63:1: Warning:
     RULE left-hand side too complicated to desugar
       Optimised lhs: case /## y2 x of wild_00 { __DEFAULT ->
                      (case /## y1 x of wild_X2 { __DEFAULT -> -## wild_X2
 }) wild_00
                      }
       Orig lhs: case /## y2 x of wild_00 { __DEFAULT ->
                 (case /## y1 x of wild_00 { __DEFAULT -> -## wild_00 })
 wild_00
                 }

 Numeric/FastMath/Approximation.hs:103:1: Warning:
     RULE left-hand side too complicated to desugar
       Optimised lhs: case divideFloat# y2 x of wild_00 { __DEFAULT ->
                      (case divideFloat# y1 x of wild_X2 { __DEFAULT ->
                       minusFloat# wild_X2
                       })
                        wild_00
                      }
       Orig lhs: case divideFloat# y2 x of wild_00 { __DEFAULT ->
                 (case divideFloat# y1 x of wild_00 { __DEFAULT ->
                  minusFloat# wild_00
                  })
                   wild_00
                 }
 ghc: panic! (the 'impossible' happened)
   (GHC version 7.10.1.20150612 for x86_64-unknown-linux):
         Simplifier ticks exhausted
   When trying RuleFired float commute left *
   To increase the limit, use -fsimpl-tick-factor=N (default 100)
   If you need to do this, let GHC HQ know, and what factor you needed
   To see detailed counts use -ddump-simpl-stats
   Total ticks: 4004

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10555>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list