diff options
Diffstat (limited to 'testsuite/tests/perf/compiler/T5837.hs')
-rw-r--r-- | testsuite/tests/perf/compiler/T5837.hs | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/testsuite/tests/perf/compiler/T5837.hs b/testsuite/tests/perf/compiler/T5837.hs index 1dc3c33cd9..6ebbd65bd5 100644 --- a/testsuite/tests/perf/compiler/T5837.hs +++ b/testsuite/tests/perf/compiler/T5837.hs @@ -10,14 +10,44 @@ t = undefined {- - [G] a ~ TF (a,Int) + [G] a ~ TF (a,Int) -- a = a_am1 --> - TF (a,Int) ~ fsk - fsk ~ a + [G] TF (a,Int) ~ fsk -- fsk = fsk_am8 +inert [G] fsk ~ a + ---> - fsk ~ (TF a, TF Int) - fsk ~ a + [G] fsk ~ (TF a, TF Int) +inert [G] fsk ~ a + ---> a ~ (TF a, TF Int) +inert [G] fsk ~ a + +---> (attempting to flatten (TF a) so that it does not mention a + TF a ~ fsk2 +inert a ~ (fsk2, TF Int) +inert fsk ~ (fsk2, TF Int) + +---> (substitute for a) + TF (fsk2, TF Int) ~ fsk2 +inert a ~ (fsk2, TF Int) +inert fsk ~ (fsk2, TF Int) + +---> (top-level reduction, re-orient) + fsk2 ~ (TF fsk2, TF Int) +inert a ~ (fsk2, TF Int) +inert fsk ~ (fsk2, TF Int) + +---> (attempt to flatten (TF fsk2) to get rid of fsk2 + TF fsk2 ~ fsk3 + fsk2 ~ (fsk3, TF Int) +inert a ~ (fsk2, TF Int) +inert fsk ~ (fsk2, TF Int) + +---> + TF fsk2 ~ fsk3 +inert fsk2 ~ (fsk3, TF Int) +inert a ~ ((fsk3, TF Int), TF Int) +inert fsk ~ ((fsk3, TF Int), TF Int) -}
\ No newline at end of file |