1
+ main = nsoln 8;
2
+
3
+ nsoln v_0 = let
4
+ v_245 = gen_D1 v_0 v_0
5
+ in
6
+ (par (fix nsolnLL_0 v_245) (length v_245));
7
+
8
+ nsolnLL_1 v_1 v_2 = case v_2 of
9
+ {
10
+ <0> v_246 v_247 ->
11
+ seq (v_1 v_247) Pack{0,0};
12
+ <1> -> Pack{0,0}
13
+ };
14
+
15
+ nsolnLL_0 v_3 = nsolnLL_1 v_3;
16
+
17
+ length v_4 = case v_4 of {
18
+ <1> -> 0;
19
+ <0> v_248 v_249 -> let
20
+ v_252 = length v_249
21
+ in
22
+ (par (lengthLL_0 v_252) ((1 + v_252)))
23
+ };
24
+
25
+ lengthLL_0 v_5
26
+ = seq v_5 Pack{0,0};
27
+
28
+ gen_D1 v_6 v_7 = case
29
+ ((v_7 == 0)) of {
30
+ <1> ->
31
+ Pack{0,2} Pack{1,0} Pack{1,0};
32
+ <0> -> let
33
+ v_258 = gen_D2 v_6 ((v_7 - 1))
34
+ in
35
+ (par (fix gen_D1LL_0 v_258) (concatMapDefgen1_D1 v_6 v_258))
36
+ };
37
+
38
+ gen_D1LL_1 v_8 v_9 = case v_9 of
39
+ {
40
+ <0> v_262 v_263 ->
41
+ seq (v_8 v_263) Pack{0,0};
42
+ <1> -> Pack{0,0}
43
+ };
44
+
45
+ gen_D1LL_0 v_10
46
+ = gen_D1LL_1 v_10;
47
+
48
+ gen_D2 v_11 v_12 = case
49
+ ((v_12 == 0)) of {
50
+ <1> ->
51
+ Pack{0,2} Pack{1,0} Pack{1,0};
52
+ <0> -> let
53
+ v_269 = gen_D2 v_11 ((v_12 - 1))
54
+ in
55
+ (par (fix gen_D2LL_0 v_269) (concatMapDefgen1_D2 v_11 v_269))
56
+ };
57
+
58
+ gen_D2LL_1 v_13 v_14 = case v_14
59
+ of {
60
+ <0> v_273 v_274 ->
61
+ seq (v_13 v_274) Pack{0,0};
62
+ <1> -> Pack{0,0}
63
+ };
64
+
65
+ gen_D2LL_0 v_15
66
+ = gen_D2LL_1 v_15;
67
+
68
+ concatMapDefgen1_D1 v_16 v_17
69
+ = case v_17 of {
70
+ <1> -> Pack{1,0};
71
+ <0> v_275 v_276 -> let
72
+ v_281 = gen1_D1 v_16 v_275;
73
+ v_282 = concatMapDefgen1_D1 v_16 v_276
74
+ in
75
+ (par (fix concatMapDefgen1_D1LL_0 v_281) (seq (fix concatMapDefgen1_D1LL_2 v_282) (append v_281 v_282)))
76
+ };
77
+
78
+ concatMapDefgen1_D1LL_1 v_18 v_19
79
+ = case v_19 of {
80
+ <0> v_283 v_284 ->
81
+ seq (v_18 v_284) Pack{0,0};
82
+ <1> -> Pack{0,0}
83
+ };
84
+
85
+ concatMapDefgen1_D1LL_0 v_20
86
+ = concatMapDefgen1_D1LL_1 v_20;
87
+
88
+ concatMapDefgen1_D1LL_3 v_21 v_22
89
+ = case v_22 of {
90
+ <0> v_285 v_286 ->
91
+ seq (v_21 v_286) Pack{0,0};
92
+ <1> -> Pack{0,0}
93
+ };
94
+
95
+ concatMapDefgen1_D1LL_2 v_23
96
+ = concatMapDefgen1_D1LL_3 v_23;
97
+
98
+ concatMapDefgen1_D2 v_24 v_25
99
+ = case v_25 of {
100
+ <1> -> Pack{1,0};
101
+ <0> v_287 v_288 -> let
102
+ v_293 = gen1_D2 v_24 v_287;
103
+ v_294 = concatMapDefgen1_D2 v_24 v_288
104
+ in
105
+ (par (fix concatMapDefgen1_D2LL_0 v_293) (seq (fix concatMapDefgen1_D2LL_2 v_294) (append v_293 v_294)))
106
+ };
107
+
108
+ concatMapDefgen1_D2LL_1 v_26 v_27
109
+ = case v_27 of {
110
+ <0> v_295 v_296 ->
111
+ seq (v_26 v_296) Pack{0,0};
112
+ <1> -> Pack{0,0}
113
+ };
114
+
115
+ concatMapDefgen1_D2LL_0 v_28
116
+ = concatMapDefgen1_D2LL_1 v_28;
117
+
118
+ concatMapDefgen1_D2LL_3 v_29 v_30
119
+ = case v_30 of {
120
+ <0> v_297 v_298 ->
121
+ seq (v_29 v_298) Pack{0,0};
122
+ <1> -> Pack{0,0}
123
+ };
124
+
125
+ concatMapDefgen1_D2LL_2 v_31
126
+ = concatMapDefgen1_D2LL_3 v_31;
127
+
128
+ append v_32 v_33 = case v_32 of
129
+ {
130
+ <1> -> v_33;
131
+ <0> v_299 v_300 ->
132
+ Pack{0,2} v_299 (append v_300 v_33)
133
+ };
134
+
135
+ gen1_D1 v_34 v_35 = let
136
+ v_305 = toOne v_34
137
+ in
138
+ (par (fix gen1_D1LL_0 v_305) (concatMapDefgen2_D1 v_35 v_305));
139
+
140
+ gen1_D1LL_1 v_36 v_37 = case
141
+ v_37 of {
142
+ <0> v_306 v_307 ->
143
+ seq (v_36 v_307) Pack{0,0};
144
+ <1> -> Pack{0,0}
145
+ };
146
+
147
+ gen1_D1LL_0 v_38
148
+ = gen1_D1LL_1 v_38;
149
+
150
+ gen1_D2 v_39 v_40 = let
151
+ v_310 = toOne v_39
152
+ in
153
+ (par (fix gen1_D2LL_0 v_310) (concatMapDefgen2_D2 v_40 v_310));
154
+
155
+ gen1_D2LL_1 v_41 v_42 = case
156
+ v_42 of {
157
+ <0> v_311 v_312 ->
158
+ seq (v_41 v_312) Pack{0,0};
159
+ <1> -> Pack{0,0}
160
+ };
161
+
162
+ gen1_D2LL_0 v_43
163
+ = gen1_D2LL_1 v_43;
164
+
165
+ concatMapDefgen2_D1 v_44 v_45
166
+ = case v_45 of {
167
+ <1> -> Pack{1,0};
168
+ <0> v_313 v_314 -> let
169
+ v_319 = gen2_D1 v_44 v_313;
170
+ v_320 = concatMapDefgen2_D1 v_44 v_314
171
+ in
172
+ (par (fix concatMapDefgen2_D1LL_0 v_319) (seq (fix concatMapDefgen2_D1LL_2 v_320) (append v_319 v_320)))
173
+ };
174
+
175
+ concatMapDefgen2_D1LL_1 v_46 v_47
176
+ = case v_47 of {
177
+ <0> v_321 v_322 ->
178
+ seq (v_46 v_322) Pack{0,0};
179
+ <1> -> Pack{0,0}
180
+ };
181
+
182
+ concatMapDefgen2_D1LL_0 v_48
183
+ = concatMapDefgen2_D1LL_1 v_48;
184
+
185
+ concatMapDefgen2_D1LL_3 v_49 v_50
186
+ = case v_50 of {
187
+ <0> v_323 v_324 ->
188
+ seq (v_49 v_324) Pack{0,0};
189
+ <1> -> Pack{0,0}
190
+ };
191
+
192
+ concatMapDefgen2_D1LL_2 v_51
193
+ = concatMapDefgen2_D1LL_3 v_51;
194
+
195
+ concatMapDefgen2_D2 v_52 v_53
196
+ = case v_53 of {
197
+ <1> -> Pack{1,0};
198
+ <0> v_325 v_326 -> let
199
+ v_331 = gen2_D2 v_52 v_325;
200
+ v_332 = concatMapDefgen2_D2 v_52 v_326
201
+ in
202
+ (par (fix concatMapDefgen2_D2LL_0 v_331) (seq (fix concatMapDefgen2_D2LL_2 v_332) (append v_331 v_332)))
203
+ };
204
+
205
+ concatMapDefgen2_D2LL_1 v_54 v_55
206
+ = case v_55 of {
207
+ <0> v_333 v_334 ->
208
+ seq (v_54 v_334) Pack{0,0};
209
+ <1> -> Pack{0,0}
210
+ };
211
+
212
+ concatMapDefgen2_D2LL_0 v_56
213
+ = concatMapDefgen2_D2LL_1 v_56;
214
+
215
+ concatMapDefgen2_D2LL_3 v_57 v_58
216
+ = case v_58 of {
217
+ <0> v_335 v_336 ->
218
+ seq (v_57 v_336) Pack{0,0};
219
+ <1> -> Pack{0,0}
220
+ };
221
+
222
+ concatMapDefgen2_D2LL_2 v_59
223
+ = concatMapDefgen2_D2LL_3 v_59;
224
+
225
+ toOne v_60 = case ((v_60 == 1))
226
+ of {
227
+ <1> -> Pack{0,2} 1 Pack{1,0};
228
+ <0> ->
229
+ Pack{0,2} v_60 (toOne ((v_60 - 1)))
230
+ };
231
+
232
+ gen2_D1 v_61 v_62 = case
233
+ (safe v_62 1 v_61) of {
234
+ <1> ->
235
+ Pack{0,2} (Pack{0,2} v_62 v_61) Pack{1,0};
236
+ <0> -> Pack{1,0}
237
+ };
238
+
239
+ gen2_D2 v_63 v_64 = case
240
+ (safe v_64 1 v_63) of {
241
+ <1> ->
242
+ Pack{0,2} (Pack{0,2} v_64 v_63) Pack{1,0};
243
+ <0> -> Pack{1,0}
244
+ };
245
+
246
+ safe v_65 v_66 v_67 = case v_67
247
+ of {
248
+ <1> -> Pack{1,0};
249
+ <0> v_351 v_352 ->
250
+ and ((v_65 /= v_351)) (and ((v_65 /= (v_351 + v_66))) (and ((v_65 /= (v_351 - v_66))) (safe v_65 ((v_66 + 1)) v_352)))
251
+ };
252
+
253
+ and v_68 v_69 = case v_68 of {
254
+ <0> -> Pack{0,0};
255
+ <1> -> v_69
256
+ }
0 commit comments