module Constants (
uNFOLDING_USE_THRESHOLD,
uNFOLDING_CREATION_THRESHOLD,
--- uNFOLDING_OVERRIDE_THRESHOLD,
iNTERFACE_UNFOLD_THRESHOLD,
lIBERATE_CASE_THRESHOLD,
uNFOLDING_CHEAP_OP_COST,
uNFOLDING_DEAR_OP_COST,
uNFOLDING_NOREP_LIT_COST,
uNFOLDING_CON_DISCOUNT_WEIGHT,
+ uNFOLDING_KEENESS_FACTOR,
mAX_SPEC_ALL_PTRS,
mAX_SPEC_ALL_NONPTRS,
All pretty arbitrary:
\begin{code}
-uNFOLDING_USE_THRESHOLD = ( 8 :: Int)
-uNFOLDING_CREATION_THRESHOLD = (30 :: Int)
+uNFOLDING_USE_THRESHOLD = ( 3 :: Int)
+uNFOLDING_CREATION_THRESHOLD = (30 :: Int) -- Discounts can be big
iNTERFACE_UNFOLD_THRESHOLD = (30 :: Int)
lIBERATE_CASE_THRESHOLD = (10 :: Int)
--- uNFOLDING_OVERRIDE_THRESHOLD = ( 8 :: Int)
uNFOLDING_CHEAP_OP_COST = ( 1 :: Int)
uNFOLDING_DEAR_OP_COST = ( 4 :: Int)
uNFOLDING_NOREP_LIT_COST = ( 20 :: Int) -- Strings can be pretty big
uNFOLDING_CON_DISCOUNT_WEIGHT = ( 1 :: Int)
+uNFOLDING_KEENESS_FACTOR = ( 2.0 :: Float)
\end{code}
\begin{code}