40 namespace Test {
namespace FlatZinc {
49 (void)
new FlatZincTest(
"sat_arith1",
204 array [1..8] of var bool: a :: output_array([1..8]) =\n\ 205 [v_8, v_7, v_6, v_5, v_4, v_3, v_2, v_1];\n\ 206 array [1..8] of var bool: b :: output_array([1..8]) =\n\ 207 [v_28, v_27, v_26, v_25, v_24, v_23, v_22, v_21];\n\ 208 constraint bool_eq(false, v_4);\n\ 209 constraint bool_eq(false, v_5);\n\ 210 constraint bool_eq(false, v_6);\n\ 211 constraint bool_eq(false, v_7);\n\ 212 constraint bool_eq(false, v_8);\n\ 213 constraint bool_eq(false, v_4);\n\ 214 constraint bool_eq(v_4, v_9);\n\ 215 constraint bool_not(v_4, v_10);\n\ 216 constraint bool_eq(v_11, false);\n\ 217 constraint bool_not(v_3, v_12);\n\ 218 constraint bool_not(v_2, v_13);\n\ 219 constraint bool_eq(v_2, v_14);\n\ 220 constraint bool_not(v_1, v_15);\n\ 221 constraint bool_or(v_9, v_16, true);\n\ 222 constraint bool_and(v_10, v_17, v_16);\n\ 223 constraint bool_or(v_11, v_18, v_17);\n\ 224 constraint bool_and(v_12, v_19, v_18);\n\ 225 constraint bool_or(v_13, v_20, v_19);\n\ 226 constraint bool_and(v_14, v_15, v_20);\n\ 227 constraint bool_eq(false, v_24);\n\ 228 constraint bool_eq(false, v_25);\n\ 229 constraint bool_eq(false, v_26);\n\ 230 constraint bool_eq(false, v_27);\n\ 231 constraint bool_eq(false, v_28);\n\ 232 constraint bool_eq(false, v_24);\n\ 233 constraint bool_eq(v_24, v_29);\n\ 234 constraint bool_not(v_24, v_30);\n\ 235 constraint bool_eq(v_31, false);\n\ 236 constraint bool_not(v_23, v_32);\n\ 237 constraint bool_not(v_22, v_33);\n\ 238 constraint bool_eq(v_22, v_34);\n\ 239 constraint bool_not(v_21, v_35);\n\ 240 constraint bool_or(v_29, v_36, true);\n\ 241 constraint bool_and(v_30, v_37, v_36);\n\ 242 constraint bool_or(v_31, v_38, v_37);\n\ 243 constraint bool_and(v_32, v_39, v_38);\n\ 244 constraint bool_or(v_33, v_40, v_39);\n\ 245 constraint bool_and(v_34, v_35, v_40);\n\ 246 constraint bool_eq(v_28, v_41);\n\ 247 constraint bool_not(v_28, v_42);\n\ 248 constraint bool_eq(v_43, false);\n\ 249 constraint bool_not(v_27, v_44);\n\ 250 constraint bool_eq(v_45, false);\n\ 251 constraint bool_not(v_26, v_46);\n\ 252 constraint bool_eq(v_47, false);\n\ 253 constraint bool_not(v_25, v_48);\n\ 254 constraint bool_eq(v_49, false);\n\ 255 constraint bool_not(v_24, v_50);\n\ 256 constraint bool_eq(v_51, false);\n\ 257 constraint bool_not(v_23, v_52);\n\ 258 constraint bool_eq(v_53, false);\n\ 259 constraint bool_not(v_22, v_54);\n\ 260 constraint bool_not(v_21, v_55);\n\ 261 constraint bool_or(v_41, v_56, false);\n\ 262 constraint bool_and(v_42, v_57, v_56);\n\ 263 constraint bool_or(v_43, v_58, v_57);\n\ 264 constraint bool_and(v_44, v_59, v_58);\n\ 265 constraint bool_or(v_45, v_60, v_59);\n\ 266 constraint bool_and(v_46, v_61, v_60);\n\ 267 constraint bool_or(v_47, v_62, v_61);\n\ 268 constraint bool_and(v_48, v_63, v_62);\n\ 269 constraint bool_or(v_49, v_64, v_63);\n\ 270 constraint bool_and(v_50, v_65, v_64);\n\ 271 constraint bool_or(v_51, v_66, v_65);\n\ 272 constraint bool_and(v_52, v_67, v_66);\n\ 273 constraint bool_or(v_53, v_68, v_67);\n\ 274 constraint bool_and(v_54, v_55, v_68);\n\ 275 constraint bool_eq(v_8, v_69);\n\ 276 constraint bool_not(v_8, v_70);\n\ 277 constraint bool_eq(v_71, false);\n\ 278 constraint bool_not(v_7, v_72);\n\ 279 constraint bool_eq(v_73, false);\n\ 280 constraint bool_not(v_6, v_74);\n\ 281 constraint bool_eq(v_75, false);\n\ 282 constraint bool_not(v_5, v_76);\n\ 283 constraint bool_eq(v_77, false);\n\ 284 constraint bool_not(v_4, v_78);\n\ 285 constraint bool_eq(v_79, false);\n\ 286 constraint bool_not(v_3, v_80);\n\ 287 constraint bool_eq(v_81, false);\n\ 288 constraint bool_not(v_2, v_82);\n\ 289 constraint bool_not(v_1, v_83);\n\ 290 constraint bool_or(v_69, v_84, false);\n\ 291 constraint bool_and(v_70, v_85, v_84);\n\ 292 constraint bool_or(v_71, v_86, v_85);\n\ 293 constraint bool_and(v_72, v_87, v_86);\n\ 294 constraint bool_or(v_73, v_88, v_87);\n\ 295 constraint bool_and(v_74, v_89, v_88);\n\ 296 constraint bool_or(v_75, v_90, v_89);\n\ 297 constraint bool_and(v_76, v_91, v_90);\n\ 298 constraint bool_or(v_77, v_92, v_91);\n\ 299 constraint bool_and(v_78, v_93, v_92);\n\ 300 constraint bool_or(v_79, v_94, v_93);\n\ 301 constraint bool_and(v_80, v_95, v_94);\n\ 302 constraint bool_or(v_81, v_96, v_95);\n\ 303 constraint bool_and(v_82, v_83, v_96);\n\ 304 constraint bool_eq(v_113, false);\n\ 305 constraint bool_xor(v_1, v_21, v_105);\n\ 306 constraint bool_xor(v_105, v_113, v_97);\n\ 307 constraint array_bool_or([v_122, v_130, v_138], v_114);\n\ 308 constraint bool_and(v_1, v_21, v_122);\n\ 309 constraint bool_and(v_1, v_113, v_130);\n\ 310 constraint bool_and(v_21, v_113, v_138);\n\ 311 constraint bool_xor(v_2, v_22, v_106);\n\ 312 constraint bool_xor(v_106, v_114, v_98);\n\ 313 constraint array_bool_or([v_123, v_131, v_139], v_115);\n\ 314 constraint bool_and(v_2, v_22, v_123);\n\ 315 constraint bool_and(v_2, v_114, v_131);\n\ 316 constraint bool_and(v_22, v_114, v_139);\n\ 317 constraint bool_xor(v_3, v_23, v_107);\n\ 318 constraint bool_xor(v_107, v_115, v_99);\n\ 319 constraint array_bool_or([v_124, v_132, v_140], v_116);\n\ 320 constraint bool_and(v_3, v_23, v_124);\n\ 321 constraint bool_and(v_3, v_115, v_132);\n\ 322 constraint bool_and(v_23, v_115, v_140);\n\ 323 constraint bool_xor(v_4, v_24, v_108);\n\ 324 constraint bool_xor(v_108, v_116, v_100);\n\ 325 constraint array_bool_or([v_125, v_133, v_141], v_117);\n\ 326 constraint bool_and(v_4, v_24, v_125);\n\ 327 constraint bool_and(v_4, v_116, v_133);\n\ 328 constraint bool_and(v_24, v_116, v_141);\n\ 329 constraint bool_xor(v_5, v_25, v_109);\n\ 330 constraint bool_xor(v_109, v_117, v_101);\n\ 331 constraint array_bool_or([v_126, v_134, v_142], v_118);\n\ 332 constraint bool_and(v_5, v_25, v_126);\n\ 333 constraint bool_and(v_5, v_117, v_134);\n\ 334 constraint bool_and(v_25, v_117, v_142);\n\ 335 constraint bool_xor(v_6, v_26, v_110);\n\ 336 constraint bool_xor(v_110, v_118, v_102);\n\ 337 constraint array_bool_or([v_127, v_135, v_143], v_119);\n\ 338 constraint bool_and(v_6, v_26, v_127);\n\ 339 constraint bool_and(v_6, v_118, v_135);\n\ 340 constraint bool_and(v_26, v_118, v_143);\n\ 341 constraint bool_xor(v_7, v_27, v_111);\n\ 342 constraint bool_xor(v_111, v_119, v_103);\n\ 343 constraint array_bool_or([v_128, v_136, v_144], v_120);\n\ 344 constraint bool_and(v_7, v_27, v_128);\n\ 345 constraint bool_and(v_7, v_119, v_136);\n\ 346 constraint bool_and(v_27, v_119, v_144);\n\ 347 constraint bool_xor(v_8, v_28, v_112);\n\ 348 constraint bool_xor(v_112, v_120, v_104);\n\ 349 constraint array_bool_or([v_129, v_137, v_145], v_121);\n\ 350 constraint bool_and(v_8, v_28, v_129);\n\ 351 constraint bool_and(v_8, v_120, v_137);\n\ 352 constraint bool_and(v_28, v_120, v_145);\n\ 353 constraint bool_eq(v_120, v_121);\n\ 354 constraint bool_not(v_97, v_146);\n\ 355 constraint bool_eq(v_98, v_147);\n\ 356 constraint bool_not(v_99, v_148);\n\ 357 constraint bool_not(v_100, v_149);\n\ 358 constraint bool_not(v_101, v_150);\n\ 359 constraint bool_not(v_102, v_151);\n\ 360 constraint bool_not(v_103, v_152);\n\ 361 constraint bool_not(v_104, v_153);\n\ 362 constraint array_bool_and([v_146, v_147, v_148, v_149, v_150, v_151, v_152, v_153], true);\n\ 365 "a = array1d(1..8, [false, false, false, false, false, false, false, true]);\n\ 366 b = array1d(1..8, [false, false, false, false, false, false, false, true]);\n\ Gecode::FloatVal c(-8, 8)