85.67/31.56 YES 85.80/31.59 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 85.80/31.59 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 85.80/31.59 85.80/31.59 85.80/31.59 Termination of the given C Problem could be proven: 85.80/31.59 85.80/31.59 (0) C Problem 85.80/31.59 (1) CToLLVMProof [EQUIVALENT, 172 ms] 85.80/31.59 (2) LLVM problem 85.80/31.59 (3) LLVMToTerminationGraphProof [EQUIVALENT, 18.5 s] 85.80/31.59 (4) LLVM Symbolic Execution Graph 85.80/31.59 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 85.80/31.59 (6) AND 85.80/31.59 (7) LLVM Symbolic Execution SCC 85.80/31.59 (8) SCC2IRS [SOUND, 411 ms] 85.80/31.59 (9) IntTRS 85.80/31.59 (10) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (11) T2IntSys 85.80/31.59 (12) T2 [EQUIVALENT, 3184 ms] 85.80/31.59 (13) YES 85.80/31.59 (14) LLVM Symbolic Execution SCC 85.80/31.59 (15) SCC2IRS [SOUND, 41 ms] 85.80/31.59 (16) IntTRS 85.80/31.59 (17) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (18) T2IntSys 85.80/31.59 (19) T2 [EQUIVALENT, 572 ms] 85.80/31.59 (20) YES 85.80/31.59 (21) LLVM Symbolic Execution SCC 85.80/31.59 (22) SCC2IRS [SOUND, 79 ms] 85.80/31.59 (23) IntTRS 85.80/31.59 (24) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (25) T2IntSys 85.80/31.59 (26) T2 [EQUIVALENT, 2 ms] 85.80/31.59 (27) YES 85.80/31.59 (28) LLVM Symbolic Execution SCC 85.80/31.59 (29) SCC2IRS [SOUND, 56 ms] 85.80/31.59 (30) IntTRS 85.80/31.59 (31) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (32) T2IntSys 85.80/31.59 (33) T2 [EQUIVALENT, 2 ms] 85.80/31.59 (34) YES 85.80/31.59 (35) LLVM Symbolic Execution SCC 85.80/31.59 (36) SCC2IRS [SOUND, 51 ms] 85.80/31.59 (37) IntTRS 85.80/31.59 (38) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (39) T2IntSys 85.80/31.59 (40) T2 [EQUIVALENT, 1013 ms] 85.80/31.59 (41) YES 85.80/31.59 (42) LLVM Symbolic Execution SCC 85.80/31.59 (43) SCC2IRS [SOUND, 68 ms] 85.80/31.59 (44) IntTRS 85.80/31.59 (45) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (46) T2IntSys 85.80/31.59 (47) T2 [EQUIVALENT, 532 ms] 85.80/31.59 (48) YES 85.80/31.59 (49) LLVM Symbolic Execution SCC 85.80/31.59 (50) SCC2IRS [SOUND, 60 ms] 85.80/31.59 (51) IntTRS 85.80/31.59 (52) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (53) T2IntSys 85.80/31.59 (54) T2 [EQUIVALENT, 862 ms] 85.80/31.59 (55) YES 85.80/31.59 (56) LLVM Symbolic Execution SCC 85.80/31.59 (57) SCC2IRS [SOUND, 64 ms] 85.80/31.59 (58) IntTRS 85.80/31.59 (59) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (60) T2IntSys 85.80/31.59 (61) T2 [EQUIVALENT, 972 ms] 85.80/31.59 (62) YES 85.80/31.59 (63) LLVM Symbolic Execution SCC 85.80/31.59 (64) SCC2IRS [SOUND, 54 ms] 85.80/31.59 (65) IntTRS 85.80/31.59 (66) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (67) T2IntSys 85.80/31.59 (68) T2 [EQUIVALENT, 933 ms] 85.80/31.59 (69) YES 85.80/31.59 (70) LLVM Symbolic Execution SCC 85.80/31.59 (71) SCC2IRS [SOUND, 61 ms] 85.80/31.59 (72) IntTRS 85.80/31.59 (73) IntTRSCompressionProof [EQUIVALENT, 0 ms] 85.80/31.59 (74) IntTRS 85.80/31.59 (75) PolynomialOrderProcessor [EQUIVALENT, 3 ms] 85.80/31.59 (76) YES 85.80/31.59 (77) LLVM Symbolic Execution SCC 85.80/31.59 (78) SCC2IRS [SOUND, 50 ms] 85.80/31.59 (79) IntTRS 85.80/31.59 (80) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (81) T2IntSys 85.80/31.59 (82) T2 [EQUIVALENT, 864 ms] 85.80/31.59 (83) YES 85.80/31.59 (84) LLVM Symbolic Execution SCC 85.80/31.59 (85) SCC2IRS [SOUND, 56 ms] 85.80/31.59 (86) IntTRS 85.80/31.59 (87) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (88) T2IntSys 85.80/31.59 (89) T2 [EQUIVALENT, 4 ms] 85.80/31.59 (90) YES 85.80/31.59 (91) LLVM Symbolic Execution SCC 85.80/31.59 (92) SCC2IRS [SOUND, 46 ms] 85.80/31.59 (93) IntTRS 85.80/31.59 (94) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (95) T2IntSys 85.80/31.59 (96) T2 [EQUIVALENT, 833 ms] 85.80/31.59 (97) YES 85.80/31.59 (98) LLVM Symbolic Execution SCC 85.80/31.59 (99) SCC2IRS [SOUND, 84 ms] 85.80/31.59 (100) IntTRS 85.80/31.59 (101) IRS2T2 [EQUIVALENT, 0 ms] 85.80/31.59 (102) T2IntSys 85.80/31.59 (103) T2 [EQUIVALENT, 2 ms] 85.80/31.59 (104) YES 85.80/31.59 85.80/31.59 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (0) 85.80/31.59 Obligation: 85.80/31.59 c file /export/starexec/sandbox/benchmark/theBenchmark.c 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (1) CToLLVMProof (EQUIVALENT) 85.80/31.59 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (2) 85.80/31.59 Obligation: 85.80/31.59 LLVM Problem 85.80/31.59 85.80/31.59 Aliases: 85.80/31.59 85.80/31.59 Data layout: 85.80/31.59 85.80/31.59 "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" 85.80/31.59 85.80/31.59 Machine: 85.80/31.59 85.80/31.59 "x86_64-pc-linux-gnu" 85.80/31.59 85.80/31.59 Type definitions: 85.80/31.59 85.80/31.59 Global variables: 85.80/31.59 85.80/31.59 Function declarations and definitions: 85.80/31.59 85.80/31.59 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 85.80/31.59 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 85.80/31.59 0: 85.80/31.59 %1 = alloca i32, align 4 85.80/31.59 %n = alloca i32, align 4 85.80/31.59 %x = alloca i32, align 4 85.80/31.59 %y = alloca i32, align 4 85.80/31.59 store 0, %1 85.80/31.59 %2 = call i32 @__VERIFIER_nondet_int() 85.80/31.59 store %2, %n 85.80/31.59 %3 = call i32 @__VERIFIER_nondet_int() 85.80/31.59 store %3, %x 85.80/31.59 %4 = call i32 @__VERIFIER_nondet_int() 85.80/31.59 store %4, %y 85.80/31.59 br %5 85.80/31.59 5: 85.80/31.59 %6 = load %x 85.80/31.59 %7 = icmp sge %6 0 85.80/31.59 br %7, %8, %36 85.80/31.59 8: 85.80/31.59 br %9 85.80/31.59 9: 85.80/31.59 %10 = load %y 85.80/31.59 %11 = icmp sge %10 0 85.80/31.59 br %11, %12, %15 85.80/31.59 12: 85.80/31.59 %13 = call i32 @__VERIFIER_nondet_int() 85.80/31.59 %14 = icmp ne %13 0 85.80/31.59 br %15 85.80/31.59 15: 85.80/31.59 %16 = phi [0, %9], [%14, %12] 85.80/31.59 br %16, %17, %20 85.80/31.59 17: 85.80/31.59 %18 = load %y 85.80/31.59 %19 = add %18 -1 85.80/31.59 store %19, %y 85.80/31.59 br %9 85.80/31.59 20: 85.80/31.59 %21 = load %x 85.80/31.59 %22 = add %21 -1 85.80/31.59 store %22, %x 85.80/31.59 br %23 85.80/31.59 23: 85.80/31.59 %24 = load %y 85.80/31.59 %25 = load %n 85.80/31.59 %26 = icmp sle %24 %25 85.80/31.59 br %26, %27, %30 85.80/31.59 27: 85.80/31.59 %28 = call i32 @__VERIFIER_nondet_int() 85.80/31.59 %29 = icmp ne %28 0 85.80/31.59 br %30 85.80/31.59 30: 85.80/31.59 %31 = phi [0, %23], [%29, %27] 85.80/31.59 br %31, %32, %35 85.80/31.59 32: 85.80/31.59 %33 = load %y 85.80/31.59 %34 = add %33 1 85.80/31.59 store %34, %y 85.80/31.59 br %23 85.80/31.59 35: 85.80/31.59 br %5 85.80/31.59 36: 85.80/31.59 ret 0 85.80/31.59 85.80/31.59 85.80/31.59 Analyze Termination of all function calls matching the pattern: 85.80/31.59 main() 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (3) LLVMToTerminationGraphProof (EQUIVALENT) 85.80/31.59 Constructed symbolic execution graph for LLVM program and proved memory safety. 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (4) 85.80/31.59 Obligation: 85.80/31.59 SE Graph 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (5) SymbolicExecutionGraphToSCCProof (SOUND) 85.80/31.59 Splitted symbolic execution graph to 14 SCCs. 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (6) 85.80/31.59 Complex Obligation (AND) 85.80/31.59 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (7) 85.80/31.59 Obligation: 85.80/31.59 SCC 85.80/31.59 ---------------------------------------- 85.80/31.59 85.80/31.59 (8) SCC2IRS (SOUND) 85.80/31.59 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.59 Generated rules. Obtained 291 rulesP rules: 85.80/31.59 f_2953(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_2972(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 <= v90908 && 1 <= v90906 85.80/31.59 f_2953(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_2973(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, -1, v90907, 0, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: v90908 < 0 && v90906 = 0 && 1 + v90908 = 0 && 0 = 0 85.80/31.59 f_2972(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_2990(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_2990(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3011(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: TRUE 85.80/31.59 f_3011(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3027(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: TRUE 85.80/31.59 f_3027(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3045(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: v95361 != 0 85.80/31.59 f_3027(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3046(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, 0, v90906, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: v95361 = 0 85.80/31.59 f_3045(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3063(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_3063(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3083(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_3083(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3084(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v95361, v90906, v90908, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: TRUE 85.80/31.59 f_3084(v99177, v99178, v99179, v99180, v99181, v99182, v99183, v99184, 1, v99186, v99187, v99188, v99189, v99190, v99191, 0, v99193, v99194, v99195, v99196, v99197, 3, 4) -> f_3715(v99177, v99178, v99179, v99180, v99181, v99182, v99183, v99184, 1, v99186, v99187, v99188, v99189, v99190, v99191, 0, v99193, v99191, v99194, v99195, v99196, v99197, 3, 4) :|: TRUE 85.80/31.59 f_3715(v137842, v137843, v137844, v137845, v137846, v137847, v137848, v137849, 1, v137851, v137852, v137853, v137854, v137855, v137856, 0, v137858, v137859, v137860, v137861, v137862, v137863, 3, 4) -> f_3935(v137842, v137843, v137844, v137845, v137846, v137847, v137848, v137849, 1, v137851, v137852, v137853, v137854, v137855, v137856, 0, v137858, v137859, v137860, v137861, v137862, v137863, 3, 4) :|: TRUE 85.80/31.59 f_3935(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v155225, v155226, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3943(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v155225, v155226, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_3943(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v155225, v155226, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3953(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v155226, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_3953(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v155226, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3962(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v156148, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 1 + v156148 = v155223 && 0 <= 1 + v156148 85.80/31.59 f_3962(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v156148, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3971(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v156148, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_3971(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v156148, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3978(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v156148, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_3978(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v155223, v155224, v156148, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3987(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_3987(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3996(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 <= v156148 && 1 <= v155223 85.80/31.59 f_3987(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3997(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, -1, v155224, 0, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: v156148 < 0 && v155223 = 0 && 1 + v156148 = 0 && 0 = 0 85.80/31.59 f_3996(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4008(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_4008(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4021(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_4021(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v155224, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4036(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_4036(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4049(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: v160300 != 0 85.80/31.59 f_4036(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4050(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, 0, v155223, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: v160300 = 0 85.80/31.59 f_4049(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4061(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_4061(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4075(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_4075(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3935(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, v160300, v155223, v156148, v155227, v155228, 0, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_4050(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, 0, v155223, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4062(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, 0, v155223, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_4062(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, 0, v155223, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4076(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, 0, v155223, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_4076(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, 0, v155223, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3937(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, v156148, 0, v155223, v156148, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_3937(v155678, v155679, v155680, v155681, v155682, v155683, v155684, v155685, 1, v155687, 0, v155689, v155690, v155691, v155692, v155693, v155694, v155695, v155696, v155697, v155698, 3, 4) -> f_3944(v155678, v155679, v155680, v155681, v155682, v155683, v155684, v155685, 1, v155687, 0, v155689, v155690, v155691, v155692, v155693, v155694, v155695, v155696, v155697, v155698, 3, 4) :|: TRUE 85.80/31.59 f_3944(v155678, v155679, v155680, v155681, v155682, v155683, v155684, v155685, 1, v155687, 0, v155689, v155690, v155691, v155692, v155693, v155694, v155695, v155696, v155697, v155698, 3, 4) -> f_3945(v155678, v155679, v155680, v155681, v155682, v155683, v155684, v155685, 1, v155687, 0, v155689, v155690, v155691, v155692, v155693, v155694, v155695, v155696, v155697, v155698, 3, 4) :|: TRUE 85.80/31.59 f_3945(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156088, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_3954(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_3954(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_3963(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 1 + v156149 = v156082 && 0 <= 1 + v156149 85.80/31.59 f_3963(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_3972(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: TRUE 85.80/31.59 f_3972(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_3979(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: TRUE 85.80/31.59 f_3979(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156089, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_3988(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_3988(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_3998(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_3998(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4010(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: v156084 <= v156079 && 0 <= v156079 && 1 <= v156091 85.80/31.59 f_3998(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4011(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: v156079 < v156084 85.80/31.59 f_4010(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4023(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_4023(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4037(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: TRUE 85.80/31.59 f_4037(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4051(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: TRUE 85.80/31.59 f_4051(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4063(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: v161018 != 0 85.80/31.59 f_4051(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4064(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: v161018 = 0 85.80/31.59 f_4063(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4077(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_4077(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4088(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_4088(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v161018, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4218(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156084, v161018, v156079, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: TRUE 85.80/31.59 f_4218(v173186, v173187, v173188, v173189, v173190, v173191, v173192, v173193, 1, v173195, 0, v173197, v173198, v173199, v173200, v173201, v173202, v173203, v173204, v173205, v173206, v173207, 3, 4) -> f_4321(v173186, v173187, v173188, v173189, v173190, v173191, v173192, v173193, 1, v173195, 0, v173197, v173198, v173199, v173200, v173201, v173202, v173203, v173204, v173205, v173206, v173207, 3, 4) :|: TRUE 85.80/31.59 f_4321(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v181250, v181251, v181252, v181253, v181254, v181255, 3, 4) -> f_4327(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v181250, v181251, v181252, v181253, v181254, v181255, 3, 4) :|: TRUE 85.80/31.59 f_4327(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v181250, v181251, v181252, v181253, v181254, v181255, 3, 4) -> f_4331(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v181251, v181252, v181253, v181254, v181255, 3, 4) :|: 0 = 0 85.80/31.59 f_4331(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v181251, v181252, v181253, v181254, v181255, 3, 4) -> f_4334(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v182970, v181252, v181253, v181254, v181255, 3, 4) :|: v182970 = 1 + v181248 && 1 <= v182970 85.80/31.59 f_4334(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v182970, v181252, v181253, v181254, v181255, 3, 4) -> f_4337(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v182970, v181252, v181253, v181254, v181255, 3, 4) :|: TRUE 85.80/31.59 f_4337(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v182970, v181252, v181253, v181254, v181255, 3, 4) -> f_4341(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v182970, v181252, v181253, v181254, v181255, 3, 4) :|: TRUE 85.80/31.59 f_4341(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v182970, v181252, v181253, v181254, v181255, 3, 4) -> f_4144(v181234, v181235, v181236, v181237, v181238, v181239, v181240, v181241, 1, v181243, 0, v181245, v181246, v181247, v181248, v181249, v182970, v181252, v181253, v181254, v181255, 3, 4) :|: TRUE 85.80/31.59 f_4144(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168017, v168018, v168019, v168020, v168021, v168022, v168023, 3, 4) -> f_4151(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4151(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4158(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4158(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4164(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: v168019 <= v168007 && 1 <= v168007 85.80/31.59 f_4158(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4165(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168020, v168021, v168022, v168023, 3, 4) :|: v168007 < v168019 && v168017 = v168007 85.80/31.59 f_4164(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4172(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4172(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4181(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: TRUE 85.80/31.59 f_4181(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4188(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: TRUE 85.80/31.59 f_4188(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4196(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: v171149 != 0 85.80/31.59 f_4188(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4197(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: v171149 = 0 85.80/31.59 f_4196(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4206(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4206(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4217(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4217(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4218(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v171149, v168017, v168019, v168020, v168021, v168022, v168023, 3, 4) :|: TRUE 85.80/31.59 f_4197(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4207(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4207(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4219(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4219(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4229(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) :|: TRUE 85.80/31.59 f_4229(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168020, v168021, v168022, v168023, 3, 4) -> f_4329(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168017, v168019, v168020, v168021, v168022, v168023, 3, 4) :|: TRUE 85.80/31.59 f_4329(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182821, 1, v182823, 0, v182825, v182826, v182827, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4332(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182821, 1, v182823, 0, v182825, v182826, v182827, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: TRUE 85.80/31.59 f_4332(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182821, 1, v182823, 0, v182825, v182826, v182827, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4335(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4335(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4338(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 <= v182827 && 1 <= v182821 && 1 <= v182819 85.80/31.59 f_4338(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4342(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4342(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4345(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: TRUE 85.80/31.59 f_4345(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4349(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: TRUE 85.80/31.59 f_4349(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182823, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4352(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4352(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4355(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4355(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4356(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: TRUE 85.80/31.59 f_4356(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4357(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: TRUE 85.80/31.59 f_4357(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4358(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: v184527 != 0 85.80/31.59 f_4357(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4359(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: v184527 = 0 85.80/31.59 f_4358(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4360(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4360(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4362(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, v182825, v182826, v182821, 0, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4362(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, v182825, v182826, v182821, 0, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4223(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, v184527, v182825, v182826, v182821, v182828, 0, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: TRUE 85.80/31.59 f_4223(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v173894, v173895, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) -> f_4232(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v173894, v173895, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) :|: TRUE 85.80/31.59 f_4232(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v173894, v173895, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) -> f_4241(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v173895, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) :|: 0 = 0 85.80/31.59 f_4241(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v173895, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) -> f_4249(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v175679, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) :|: 1 + v175679 = v173892 && 0 <= 1 + v175679 85.80/31.59 f_4249(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v175679, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) -> f_4259(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v175679, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) :|: TRUE 85.80/31.59 f_4259(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v175679, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) -> f_4267(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v175679, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) :|: TRUE 85.80/31.59 f_4267(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v175679, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) -> f_4268(v173883, v173884, v173885, v173886, v173887, v173888, v173889, v173890, 1, v173892, v173893, v175679, v173896, v173897, 0, v173899, v173900, v173901, v173902, v173903, v173904, 3, 4) :|: TRUE 85.80/31.59 f_4268(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176830, v176831, v176832, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4275(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4275(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4280(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 <= v176832 && 1 <= v176830 && 1 <= v176834 && 1 <= v176825 85.80/31.59 f_4275(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4281(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, -1, v176831, 0, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: v176832 < 0 && v176830 = 0 && 1 + v176832 = 0 && 0 = 0 85.80/31.59 f_4280(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4286(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4286(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4292(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: TRUE 85.80/31.59 f_4292(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v176831, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4299(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: TRUE 85.80/31.59 f_4299(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4303(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: v179712 != 0 85.80/31.59 f_4299(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4304(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, 0, v176830, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: v179712 = 0 85.80/31.59 f_4303(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4310(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4310(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4317(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4317(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4223(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, v179712, v176830, v176832, v176833, v176834, 0, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: TRUE 85.80/31.59 f_4304(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, 0, v176830, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4311(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, 0, v176830, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4311(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, 0, v176830, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4318(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, 0, v176830, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4318(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, 0, v176830, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4225(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, v176832, 0, v176830, v176832, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: TRUE 85.80/31.59 f_4225(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v174349, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4233(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v174349, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: TRUE 85.80/31.59 f_4233(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v174349, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4242(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4242(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4250(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 1 + v175680 = v174343 && 0 <= 1 + v175680 85.80/31.59 f_4250(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4260(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: TRUE 85.80/31.59 f_4260(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4269(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: TRUE 85.80/31.59 f_4269(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174350, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4276(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4276(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4282(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4282(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4288(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4288(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4295(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: TRUE 85.80/31.59 f_4295(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4301(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: TRUE 85.80/31.59 f_4301(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4306(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: v179979 != 0 85.80/31.59 f_4301(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4307(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: v179979 = 0 85.80/31.59 f_4306(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4313(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4313(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4320(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4320(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4321(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174345, v179979, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: TRUE 85.80/31.59 f_4307(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4314(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4314(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4322(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: 0 = 0 85.80/31.59 f_4322(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) -> f_4323(v174336, v174337, v174338, v174339, v174340, v174341, v174342, v174343, 1, v174345, 0, v174347, v174348, v175680, v174351, v174352, v174353, v174354, v174355, v174356, 3, 4) :|: TRUE 85.80/31.59 f_4323(v181565, v181566, v181567, v181568, v181569, v181570, v181571, v181572, 1, v181574, 0, v181576, v181577, v181578, v181579, v181580, v181581, v181582, v181583, v181584, 3, 4) -> f_4328(v181565, v181566, v181567, v181568, v181569, v181570, v181571, v181572, 1, v181574, 0, v181576, v181577, v181578, v181579, v181580, v181581, v181582, v181583, v181584, 3, 4) :|: TRUE 85.80/31.59 f_4328(v181565, v181566, v181567, v181568, v181569, v181570, v181571, v181572, 1, v181574, 0, v181576, v181577, v181578, v181579, v181580, v181581, v181582, v181583, v181584, 3, 4) -> f_4329(v181565, v181566, v181567, v181568, v181569, v181570, v181571, v181572, 1, v181574, 0, v181576, v181577, v181578, v181574, v181579, v181580, v181581, v181582, v181583, v181584, 3, 4) :|: TRUE 85.80/31.59 f_4281(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, -1, v176831, 0, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4287(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, -1, 0, v176831, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4287(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, -1, 0, v176831, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4293(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, -1, 0, v176831, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: 0 = 0 85.80/31.59 f_4293(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, -1, 0, v176831, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) -> f_4294(v176821, v176822, v176823, v176824, v176825, v176826, v176827, v176828, 1, -1, 0, v176831, v176833, v176834, v176836, v176837, v176838, v176839, v176840, v176841, 3, 4) :|: TRUE 85.80/31.59 f_4294(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v178824, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4300(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v178824, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: TRUE 85.80/31.59 f_4300(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v178824, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4305(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4305(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4312(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 1 + v179981 = v178819 && 0 <= 1 + v179981 85.80/31.59 f_4312(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4319(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: TRUE 85.80/31.59 f_4319(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4326(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: TRUE 85.80/31.59 f_4326(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178825, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4330(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4330(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4333(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4333(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4336(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4336(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4340(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: TRUE 85.80/31.59 f_4340(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4344(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: TRUE 85.80/31.59 f_4344(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4347(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: v183380 != 0 85.80/31.59 f_4344(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4348(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: v183380 = 0 85.80/31.59 f_4347(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4350(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4350(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4353(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4353(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_3527(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, -1, v183380, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: TRUE 85.80/31.59 f_3527(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v123440, v123441, v123442, v123443, v123444, v123445, 3, 4) -> f_3542(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v123440, v123441, v123442, v123443, v123444, v123445, 3, 4) :|: TRUE 85.80/31.59 f_3542(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v123440, v123441, v123442, v123443, v123444, v123445, 3, 4) -> f_3553(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v123441, v123442, v123443, v123444, v123445, 3, 4) :|: 0 = 0 85.80/31.59 f_3553(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v123441, v123442, v123443, v123444, v123445, 3, 4) -> f_3568(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v126801, v123442, v123443, v123444, v123445, 3, 4) :|: v126801 = 1 + v123438 && 0 <= v126801 85.80/31.59 f_3568(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v126801, v123442, v123443, v123444, v123445, 3, 4) -> f_3582(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v126801, v123442, v123443, v123444, v123445, 3, 4) :|: TRUE 85.80/31.59 f_3582(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v126801, v123442, v123443, v123444, v123445, 3, 4) -> f_3602(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v126801, v123442, v123443, v123444, v123445, 3, 4) :|: TRUE 85.80/31.59 f_3602(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v126801, v123442, v123443, v123444, v123445, 3, 4) -> f_3380(v123425, v123426, v123427, v123428, v123429, v123430, v123431, v123432, 1, -1, 0, v123436, v123437, v123438, v123439, v126801, v123442, v123443, v123444, v123445, 3, 4) :|: TRUE 85.80/31.59 f_3380(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114585, v114586, v114587, v114588, v114589, v114590, v114591, 3, 4) -> f_3398(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3398(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3418(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3418(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3434(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: v114587 <= v114576 && 0 <= v114576 85.80/31.59 f_3418(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3435(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: v114576 < v114587 && v114585 = v114576 85.80/31.59 f_3434(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3451(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3451(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3468(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3468(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3483(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3483(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3494(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: v121874 != 0 85.80/31.59 f_3483(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3495(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: v121874 = 0 85.80/31.59 f_3494(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3510(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3510(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3526(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3526(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3527(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v121874, v114585, v114587, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3495(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3511(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3511(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3528(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3528(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3543(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3543(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3554(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3554(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3569(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3569(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3583(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 <= v114584 && 1 <= v114579 && 1 <= v114577 85.80/31.59 f_3583(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3603(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3603(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3615(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3615(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_3627(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3627(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114588, v114589, v114590, v114591, 3, 4) -> f_4045(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114585, v114587, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_4045(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, v160817, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4056(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, v160815, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4056(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, v160815, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4069(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, v160815, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 <= v160817 && 0 <= v160808 85.80/31.59 f_4056(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, v160815, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4070(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: v160817 < 0 85.80/31.59 f_4069(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, v160815, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4083(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v160815, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4083(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v160815, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4095(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v160815, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: TRUE 85.80/31.59 f_4095(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v160815, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4106(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: TRUE 85.80/31.59 f_4106(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4117(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: v165277 != 0 85.80/31.59 f_4106(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4118(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: v165277 = 0 85.80/31.59 f_4117(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4128(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4128(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4137(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4137(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4138(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, v165277, 0, -1, v160816, v160817, 0, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: TRUE 85.80/31.59 f_4138(v167253, v167254, v167255, v167256, v167257, v167258, v167259, v167260, 1, v167262, v167263, v167264, v167265, v167266, v167267, 0, v167269, v167270, v167271, v167272, v167273, v167274, 3, 4) -> f_4223(v167253, v167254, v167255, v167256, v167257, v167258, v167259, v167260, 1, v167262, v167263, v167264, v167265, v167266, v167267, 0, v167269, v167270, v167271, v167272, v167273, v167274, 3, 4) :|: TRUE 85.80/31.59 f_4118(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4129(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4129(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4139(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4139(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, -1, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4140(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, v160817, 0, 0, -1, v160816, v160817, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: TRUE 85.80/31.59 f_4140(v167705, v167706, v167707, v167708, v167709, v167710, v167711, v167712, 1, v167714, 0, v167716, v167717, v167718, v167719, v167720, v167721, v167722, v167723, v167724, v167725, 3, 4) -> f_4225(v167705, v167706, v167707, v167708, v167709, v167710, v167711, v167712, 1, v167714, 0, v167716, v167717, v167718, v167719, v167720, v167721, v167722, v167723, v167724, v167725, 3, 4) :|: TRUE 85.80/31.59 f_4070(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4084(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4084(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4096(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: 0 = 0 85.80/31.59 f_4096(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) -> f_4097(v160804, v160805, v160806, v160807, v160808, v160809, v160810, v160811, 1, -1, 0, v160815, v160816, -1, v160818, v160819, v160820, v160821, v160822, v160823, 3, 4) :|: TRUE 85.80/31.59 f_4097(v164827, v164828, v164829, v164830, v164831, v164832, v164833, v164834, 1, -1, 0, v164838, v164839, v164840, v164841, v164842, v164843, v164844, v164845, v164846, 3, 4) -> f_4294(v164827, v164828, v164829, v164830, v164831, v164832, v164833, v164834, 1, -1, 0, v164838, v164839, v164840, v164841, v164842, v164843, v164844, v164845, v164846, 3, 4) :|: TRUE 85.80/31.59 f_3435(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3452(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3452(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3469(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3469(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3484(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3484(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3496(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3496(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114579, 1, -1, 0, v114583, v114584, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3512(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3512(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3529(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 <= v114584 && 1 <= v114579 && 1 <= v114577 85.80/31.59 f_3529(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3544(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3544(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3555(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3555(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3570(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3570(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, -1, 0, v114583, v114579, v114587, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3585(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, v114583, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3585(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, v114583, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3605(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v114583, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3605(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v114583, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3617(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v114583, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3617(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v114583, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3628(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3628(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3639(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: v132050 != 0 85.80/31.59 f_3628(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3640(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: v132050 = 0 85.80/31.59 f_3639(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3652(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3652(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3667(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3667(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3676(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3676(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3686(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, -1, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3686(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, -1, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3697(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 1 + v114576 = v114587 85.80/31.59 f_3697(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3709(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3709(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3723(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3723(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, v114579, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_2934(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, v132050, v114576, v114579, v114587, 0, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_2934(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90906, v90907, v90908, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_2953(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, v90907, v90906, v90909, v90910, 0, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_3640(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3653(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3653(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3668(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: 0 = 0 85.80/31.59 f_3668(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3677(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_3677(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, -1, v114579, v114586, v114588, v114589, v114590, v114591, 3, 4) -> f_3945(v114572, v114573, v114574, v114575, v114576, v114577, v114578, v114584, 1, v114587, 0, 0, -1, v114579, v114587, v114586, v114587, v114588, v114589, v114590, v114591, 3, 4) :|: TRUE 85.80/31.59 f_4348(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4351(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4351(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4354(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: 0 = 0 85.80/31.59 f_4354(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) -> f_4216(v178812, v178813, v178814, v178815, v178816, v178817, v178818, v178819, 1, -1, 0, v178823, v179981, v178826, v178827, v178828, v178829, v178830, v178831, 3, 4) :|: TRUE 85.80/31.59 f_4216(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172839, 1, -1, 0, v172843, v172844, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) -> f_4227(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172839, 1, -1, 0, v172843, v172844, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) :|: TRUE 85.80/31.59 f_4227(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172839, 1, -1, 0, v172843, v172844, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) -> f_4236(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172839, 1, -1, 0, v172843, v172844, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) :|: TRUE 85.80/31.59 f_4236(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172839, 1, -1, 0, v172843, v172844, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) -> f_4245(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) :|: 0 = 0 85.80/31.59 f_4245(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) -> f_4253(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) :|: 0 <= v172844 && 1 <= v172839 && 2 <= v172837 85.80/31.59 f_4253(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) -> f_4261(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) :|: 0 = 0 85.80/31.59 f_4261(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) -> f_4270(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) :|: TRUE 85.80/31.59 f_4270(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) -> f_4277(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) :|: TRUE 85.80/31.59 f_4277(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, v172845, v172846, v172847, v172848, v172849, v172850, 3, 2, 4) -> f_4045(v172832, v172833, v172834, v172835, v172836, v172837, v172838, v172844, 1, -1, 0, v172843, v172839, -1, v172845, v172846, v172847, v172848, v172849, v172850, 3, 4) :|: TRUE 85.80/31.59 f_4359(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4361(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4361(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4363(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: 0 = 0 85.80/31.59 f_4363(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) -> f_4225(v182814, v182815, v182816, v182817, v182818, v182819, v182820, v182827, 1, v182828, 0, v182825, v182826, v182821, v182828, v182829, v182830, v182831, v182832, v182833, v182834, 3, 4) :|: TRUE 85.80/31.59 f_4165(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168020, v168021, v168022, v168023, 3, 4) -> f_4173(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4173(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168020, v168021, v168022, v168023, 3, 4) -> f_4182(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168020, v168021, v168022, v168023, 3, 4) :|: 0 = 0 85.80/31.59 f_4182(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168020, v168021, v168022, v168023, 3, 4) -> f_4183(v168003, v168004, v168005, v168006, v168007, v168008, v168009, v168010, 1, v168012, 0, v168014, v168015, v168016, v168019, v168018, v168019, v168020, v168021, v168022, v168023, 3, 4) :|: TRUE 85.80/31.59 f_4183(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170897, 1, v170899, 0, v170901, v170902, v170903, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4189(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170897, 1, v170899, 0, v170901, v170902, v170903, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4189(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170897, 1, v170899, 0, v170901, v170902, v170903, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4198(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170897, 1, v170899, 0, v170901, v170902, v170903, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4198(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170897, 1, v170899, 0, v170901, v170902, v170903, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4208(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4208(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4220(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 <= v170903 && 1 <= v170897 && 1 <= v170895 85.80/31.59 f_4220(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4230(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4230(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4239(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4239(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4248(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4248(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170899, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4258(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4258(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4266(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4266(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4274(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4274(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4279(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4279(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4284(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: v178195 != 0 85.80/31.59 f_4279(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4285(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: v178195 = 0 85.80/31.59 f_4284(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4290(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4290(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4297(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, v170901, v170902, v170897, 0, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4297(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, v170901, v170902, v170897, 0, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_3935(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, v178195, v170901, v170902, v170897, v170904, 0, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4285(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4291(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4291(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_4298(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: 0 = 0 85.80/31.59 f_4298(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) -> f_3937(v170890, v170891, v170892, v170893, v170894, v170895, v170896, v170903, 1, v170904, 0, v170901, v170902, v170897, v170904, v170905, v170906, v170907, v170908, v170909, v170910, 3, 4) :|: TRUE 85.80/31.59 f_4064(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4078(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_4078(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4089(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_4089(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4323(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156079, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: TRUE 85.80/31.59 f_4011(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4024(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_4024(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4038(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: 0 = 0 85.80/31.59 f_4038(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) -> f_4183(v156075, v156076, v156077, v156078, v156079, v156080, v156081, v156082, 1, v156084, 0, v156086, v156087, v156149, v156084, v156090, v156091, v156092, v156093, v156094, v156095, 3, 4) :|: TRUE 85.80/31.59 f_3997(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, -1, v155224, 0, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4009(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, -1, 0, v155224, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_4009(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, -1, 0, v155224, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_4022(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, -1, 0, v155224, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: 0 = 0 85.80/31.59 f_4022(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, -1, 0, v155224, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) -> f_3829(v155214, v155215, v155216, v155217, v155218, v155219, v155220, v155221, 1, -1, 0, v155224, v155227, v155228, v155230, v155231, v155232, v155233, v155234, v155235, 3, 4) :|: TRUE 85.80/31.59 f_3829(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v146478, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3840(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v146478, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: TRUE 85.80/31.59 f_3840(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v146478, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3853(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3853(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3864(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 1 + v148049 = v146473 && 0 <= 1 + v148049 85.80/31.59 f_3864(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3878(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: TRUE 85.80/31.59 f_3878(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3887(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: TRUE 85.80/31.59 f_3887(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146479, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3898(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3898(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3907(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3907(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3920(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3920(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3930(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: TRUE 85.80/31.59 f_3930(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146480, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3941(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: TRUE 85.80/31.59 f_3941(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3949(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: v155778 != 0 85.80/31.59 f_3941(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3950(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: v155778 = 0 85.80/31.59 f_3949(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3958(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3958(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3967(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3967(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v155778, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3527(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, -1, v155778, v146470, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: TRUE 85.80/31.59 f_3950(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3959(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3959(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_3968(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: 0 = 0 85.80/31.59 f_3968(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146481, v146482, v146483, v146484, v146485, 3, 4) -> f_4216(v146466, v146467, v146468, v146469, v146470, v146471, v146472, v146473, 1, -1, 0, v146477, v148049, v146470, v146481, v146482, v146483, v146484, v146485, 3, 4) :|: TRUE 85.80/31.59 f_3046(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, 0, v90906, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3064(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, 0, v90906, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_3064(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, 0, v90906, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3085(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, 0, v90906, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_3085(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, 0, v90906, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3717(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, v90908, 0, v90906, v90908, v90909, v90910, v90912, v90910, v90913, v90914, v90915, v90916, 3, 4) :|: TRUE 85.80/31.59 f_3717(v138331, v138332, v138333, v138334, v138335, v138336, v138337, v138338, 1, v138340, 0, v138342, v138343, v138344, v138345, v138346, v138347, v138348, v138349, v138350, v138351, 3, 4) -> f_3937(v138331, v138332, v138333, v138334, v138335, v138336, v138337, v138338, 1, v138340, 0, v138342, v138343, v138344, v138345, v138346, v138347, v138348, v138349, v138350, v138351, 3, 4) :|: TRUE 85.80/31.59 f_2973(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, -1, v90907, 0, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_2991(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, -1, 0, v90907, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_2991(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, -1, 0, v90907, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3012(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, -1, 0, v90907, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) :|: 0 = 0 85.80/31.59 f_3012(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, -1, 0, v90907, v90909, v90910, v90912, v90913, v90914, v90915, v90916, 3, 4) -> f_3829(v90897, v90898, v90899, v90900, v90901, v90902, v90903, v90904, 1, -1, 0, v90907, v90909, v90910, v90912, v90910, v90913, v90914, v90915, v90916, 3, 4) :|: TRUE 85.80/31.59 Combined rules. Obtained 47 rulesP rules: 85.80/31.59 f_4056(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, 1 + v179981:0, 1, v160817:0, 0, v160815:0, -1, v160816:0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) -> f_4344(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, 1 + v179981:0, 1, -1, 0, v160815:0, v179981:0, v183380:0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) :|: v160817:0 < 0 && v179981:0 > -2 85.80/31.59 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, 1 + v156149:0, 1 + v114576:0, v114586:0, v114576:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3998(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, 1 + v156149:0, 1, v114576:0, 0, 1 + v114576:0, v114576:0, v156149:0, v114586:0, 1 + v114576:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114576:0 < 1 + v114576:0 && v114579:0 > 0 && v156149:0 > -2 && v114577:0 > 0 && v132050:0 < 0 && v114576:0 > -1 85.80/31.59 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, 1 + v156149:0, 1 + v114576:0, v114586:0, v114576:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3998(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, 1 + v156149:0, 1, v114576:0, 0, 1 + v114576:0, v114576:0, v156149:0, v114586:0, 1 + v114576:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114576:0 < 1 + v114576:0 && v114579:0 > 0 && v156149:0 > -2 && v114577:0 > 0 && v132050:0 > 0 && v114576:0 > -1 85.80/31.59 f_4275(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, v176828:0, 1, 1 + v175679:0, v176831:0, v176830:0, v176833:0, v176834:0, 0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) -> f_4275(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, v176828:0, 1, v175679:0, v179712:0, 1 + v175679:0, v176833:0, v176834:0, 0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) :|: v176830:0 > 0 && v175679:0 > -2 && v176834:0 > 0 && v176825:0 > 0 && v179712:0 < 0 85.80/31.59 f_4275(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, v176828:0, 1, 1 + v175679:0, v176831:0, v176830:0, v176833:0, v176834:0, 0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) -> f_4275(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, v176828:0, 1, v175679:0, v179712:0, 1 + v175679:0, v176833:0, v176834:0, 0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) :|: v176830:0 > 0 && v175679:0 > -2 && v176834:0 > 0 && v176825:0 > 0 && v179712:0 > 0 85.80/31.59 f_4158(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168010:0, 1, v168012:0, 0, v168014:0, v168015:0, v168016:0, v168019:0, v168018:0, v168007:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) -> f_4279(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168016:0, 1, v168019:0, v178195:0, 0, v168014:0, v168015:0, v168010:0, v168018:0, v168019:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) :|: v168019:0 > v168007:0 && v168010:0 > 0 && v168008:0 > 0 && v168016:0 > -1 85.80/31.59 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, -1, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, 1 + v148049:0, 0, v114586:0, -1, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3941(v114572:0, v114573:0, v114574:0, v114575:0, -1, v114577:0, v114578:0, 1 + v148049:0, 1, -1, 0, v132050:0, v148049:0, v155778:0, 0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114579:0 > 0 && v148049:0 > -2 && v114577:0 > 0 && v132050:0 < 0 85.80/31.59 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, -1, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, 1 + v148049:0, 0, v114586:0, -1, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3941(v114572:0, v114573:0, v114574:0, v114575:0, -1, v114577:0, v114578:0, 1 + v148049:0, 1, -1, 0, v132050:0, v148049:0, v155778:0, 0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114579:0 > 0 && v148049:0 > -2 && v114577:0 > 0 && v132050:0 > 0 85.80/31.59 f_3998(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156082:0, 1, v156084:0, 0, v156086:0, v156087:0, v156149:0, v156090:0, v156091:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) -> f_4357(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156149:0, 1, v156084:0, v184527:0, 0, v156086:0, v156087:0, v156082:0, v156079:0, v156091:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) :|: v156082:0 > 0 && v156149:0 > -1 && v156080:0 > 0 && v156079:0 > -1 && v156091:0 > 0 && v156084:0 <= v156079:0 85.80/31.59 f_4158(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168010:0, 1, v168012:0, 0, v168014:0, v168015:0, v168016:0, v168019:0, v168018:0, v168017:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) -> f_4357(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168016:0, 1, v168019:0, v184527:0, 0, v168014:0, v168015:0, v168010:0, v168017:0, v168019:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) :|: v168007:0 > 0 && v168019:0 <= v168007:0 && v168010:0 > 0 && v168008:0 > 0 && v168016:0 > -1 85.80/31.59 f_4357(v182814:0, v182815:0, v182816:0, v182817:0, v182818:0, v182819:0, v182820:0, v182827:0, 1, 1 + v175679:0, v184527:0, 0, v182825:0, v182826:0, v182821:0, v182829:0, v182830:0, v182831:0, v182832:0, v182833:0, v182834:0, 3, 4) -> f_4275(v182814:0, v182815:0, v182816:0, v182817:0, v182818:0, v182819:0, v182820:0, v182827:0, 1, v175679:0, v184527:0, 1 + v175679:0, v182821:0, 1 + v175679:0, 0, v182829:0, v182830:0, v182831:0, v182832:0, v182833:0, v182834:0, 3, 4) :|: v175679:0 > -2 && v184527:0 < 0 85.80/31.59 f_4357(v182814:0, v182815:0, v182816:0, v182817:0, v182818:0, v182819:0, v182820:0, v182827:0, 1, 1 + v175679:0, v184527:0, 0, v182825:0, v182826:0, v182821:0, v182829:0, v182830:0, v182831:0, v182832:0, v182833:0, v182834:0, 3, 4) -> f_4275(v182814:0, v182815:0, v182816:0, v182817:0, v182818:0, v182819:0, v182820:0, v182827:0, 1, v175679:0, v184527:0, 1 + v175679:0, v182821:0, 1 + v175679:0, 0, v182829:0, v182830:0, v182831:0, v182832:0, v182833:0, v182834:0, 3, 4) :|: v175679:0 > -2 && v184527:0 > 0 85.80/31.59 f_4275(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, 1 + v179981:0, 1, -1, v176831:0, 0, v176833:0, v176834:0, 0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) -> f_4344(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, 1 + v179981:0, 1, -1, 0, v176831:0, v179981:0, v183380:0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) :|: v179981:0 > -2 85.80/31.59 f_4158(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168010:0, 1, v168012:0, 0, v168014:0, v168015:0, v168016:0, v168019:0, v168018:0, v168017:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) -> f_4158(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168010:0, 1, v168012:0, 0, v168014:0, v168015:0, v168016:0, 1 + v168019:0, v171149:0, v168019:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) :|: v168019:0 > -1 && v168007:0 > 0 && v171149:0 < 0 && v168019:0 <= v168007:0 85.80/31.59 f_4158(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168010:0, 1, v168012:0, 0, v168014:0, v168015:0, v168016:0, v168019:0, v168018:0, v168017:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) -> f_4158(v168003:0, v168004:0, v168005:0, v168006:0, v168007:0, v168008:0, v168009:0, v168010:0, 1, v168012:0, 0, v168014:0, v168015:0, v168016:0, 1 + v168019:0, v171149:0, v168019:0, v168020:0, v168021:0, v168022:0, v168023:0, 3, 4) :|: v168019:0 > -1 && v168007:0 > 0 && v171149:0 > 0 && v168019:0 <= v168007:0 85.80/31.59 f_4056(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, 1 + v175680:0, 1, v160817:0, 0, v160815:0, -1, v160816:0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) -> f_4301(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, 1 + v175680:0, 1, v160817:0, 0, 0, -1, v175680:0, v179979:0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) :|: v175680:0 > -2 && v160817:0 > -1 && v160808:0 > -1 85.80/31.59 f_4357(v182814:0, v182815:0, v182816:0, v182817:0, v182818:0, v182819:0, v182820:0, 1 + v175680:0, 1, v182828:0, 0, 0, v182825:0, v182826:0, v182821:0, v182829:0, v182830:0, v182831:0, v182832:0, v182833:0, v182834:0, 3, 4) -> f_4301(v182814:0, v182815:0, v182816:0, v182817:0, v182818:0, v182819:0, v182820:0, 1 + v175680:0, 1, v182828:0, 0, v182825:0, v182826:0, v175680:0, v179979:0, v182829:0, v182830:0, v182831:0, v182832:0, v182833:0, v182834:0, 3, 4) :|: v175680:0 > -2 85.80/31.59 f_3987(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, v155221:0, 1, 1 + v156148:1, v155224:0, v155223:0, v155227:0, v155228:0, 0, v155230:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) -> f_3987(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, v155221:0, 1, v156148:1, v160300:0, 1 + v156148:1, v155227:0, v155228:0, 0, v155230:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) :|: v155223:0 > 0 && v156148:1 > -2 && v160300:0 < 0 85.80/31.60 f_3987(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, v155221:0, 1, 1 + v156148:1, v155224:0, v155223:0, v155227:0, v155228:0, 0, v155230:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) -> f_3987(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, v155221:0, 1, v156148:1, v160300:0, 1 + v156148:1, v155227:0, v155228:0, 0, v155230:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) :|: v155223:0 > 0 && v156148:1 > -2 && v160300:0 > 0 85.80/31.60 f_3987(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, 1 + v156149:0, 1, v156148:0, v155224:0, v155223:0, v155227:0, v155228:0, 0, v155230:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) -> f_3998(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, 1 + v156149:0, 1, v156148:0, 0, v155223:0, v156148:0, v156149:0, v155230:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) :|: v155223:0 > 0 && v156149:0 > -2 && v156148:0 > -1 85.80/31.60 f_4056(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, v160811:0, 1, 1 + v175679:0, 0, v160815:0, -1, v160816:0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) -> f_4275(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, v160811:0, 1, v175679:0, v165277:0, 1 + v175679:0, v160816:0, 1 + v175679:0, 0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) :|: v160808:0 > -1 && v175679:0 > -2 && v165277:0 < 0 85.80/31.60 f_4056(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, v160811:0, 1, 1 + v175679:0, 0, v160815:0, -1, v160816:0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) -> f_4275(v160804:0, v160805:0, v160806:0, v160807:0, v160808:0, v160809:0, v160810:0, v160811:0, 1, v175679:0, v165277:0, 1 + v175679:0, v160816:0, 1 + v175679:0, 0, v160818:0, v160819:0, v160820:0, v160821:0, v160822:0, v160823:0, 3, 4) :|: v160808:0 > -1 && v175679:0 > -2 && v165277:0 > 0 85.80/31.60 f_4275(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, 1 + v175680:0, 1, v176832:0, v176831:0, v176830:0, v176833:0, v176834:0, 0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) -> f_4301(v176821:0, v176822:0, v176823:0, v176824:0, v176825:0, v176826:0, v176827:0, 1 + v175680:0, 1, v176832:0, 0, v176830:0, v176832:0, v175680:0, v179979:0, v176836:0, v176837:0, v176838:0, v176839:0, v176840:0, v176841:0, 3, 4) :|: v176830:0 > 0 && v176832:0 > -1 && v176834:0 > 0 && v175680:0 > -2 && v176825:0 > 0 85.80/31.60 f_4279(v170890:0, v170891:0, v170892:0, v170893:0, v170894:0, v170895:0, v170896:0, v170903:0, 1, 1 + v156148:0, v178195:0, 0, v170901:0, v170902:0, v170897:0, v170905:0, v170906:0, v170907:0, v170908:0, v170909:0, v170910:0, 3, 4) -> f_3987(v170890:0, v170891:0, v170892:0, v170893:0, v170894:0, v170895:0, v170896:0, v170903:0, 1, v156148:0, v178195:0, 1 + v156148:0, v170897:0, 1 + v156148:0, 0, v170905:0, v170906:0, v170907:0, v170908:0, v170909:0, v170910:0, 3, 4) :|: v178195:0 < 0 && v156148:0 > -2 85.80/31.60 f_4279(v170890:0, v170891:0, v170892:0, v170893:0, v170894:0, v170895:0, v170896:0, v170903:0, 1, 1 + v156148:0, v178195:0, 0, v170901:0, v170902:0, v170897:0, v170905:0, v170906:0, v170907:0, v170908:0, v170909:0, v170910:0, 3, 4) -> f_3987(v170890:0, v170891:0, v170892:0, v170893:0, v170894:0, v170895:0, v170896:0, v170903:0, 1, v156148:0, v178195:0, 1 + v156148:0, v170897:0, 1 + v156148:0, 0, v170905:0, v170906:0, v170907:0, v170908:0, v170909:0, v170910:0, 3, 4) :|: v178195:0 > 0 && v156148:0 > -2 85.80/31.60 f_3998(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156082:0, 1, v156084:0, 0, v156086:0, v156087:0, v156149:0, v156090:0, v156091:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) -> f_4279(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156149:0, 1, v156084:0, v178195:0, 0, v156086:0, v156087:0, v156082:0, v156090:0, v156091:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) :|: v156082:0 > 0 && v156149:0 > -1 && v156084:0 > v156079:0 && v156080:0 > 0 85.80/31.60 f_4344(v178812:0, v178813:0, v178814:0, v178815:0, v178816:0, v178817:0, v178818:0, v178819:0, 1, -1, 0, v178823:0, v179981:0, v183380:0, v178826:0, v178827:0, v178828:0, v178829:0, v178830:0, v178831:0, 3, 4) -> f_3418(v178812:0, v178813:0, v178814:0, v178815:0, v178816:0, v178817:0, v178818:0, v178819:0, 1, -1, 0, v178823:0, v179981:0, 0, v183380:0, -1, v178828:0, v178829:0, v178830:0, v178831:0, 3, 4) :|: v183380:0 < 0 85.80/31.60 f_4344(v178812:0, v178813:0, v178814:0, v178815:0, v178816:0, v178817:0, v178818:0, v178819:0, 1, -1, 0, v178823:0, v179981:0, v183380:0, v178826:0, v178827:0, v178828:0, v178829:0, v178830:0, v178831:0, 3, 4) -> f_3418(v178812:0, v178813:0, v178814:0, v178815:0, v178816:0, v178817:0, v178818:0, v178819:0, 1, -1, 0, v178823:0, v179981:0, 0, v183380:0, -1, v178828:0, v178829:0, v178830:0, v178831:0, 3, 4) :|: v183380:0 > 0 85.80/31.60 f_3941(v146466:0, v146467:0, v146468:0, v146469:0, v146470:0, v146471:0, v146472:0, v146473:0, 1, -1, 0, v146477:0, v148049:0, 0, v146481:0, v146482:0, v146483:0, v146484:0, v146485:0, 3, 4) -> f_4056(v146466:0, v146467:0, v146468:0, v146469:0, v146470:0, v146471:0, v146472:0, v148049:0, 1, -1, 0, v146477:0, -1, v146473:0, v146470:0, v146481:0, v146482:0, v146483:0, v146484:0, v146485:0, 3, 4) :|: v146473:0 > 0 && v146471:0 > 1 && v148049:0 > -1 85.80/31.60 f_4301(v174336:0, v174337:0, v174338:0, v174339:0, v174340:0, v174341:0, v174342:0, v174343:0, 1, v174345:0, 0, v174347:0, v174348:0, v175680:0, v179979:0, v174351:0, v174352:0, v174353:0, v174354:0, v174355:0, v174356:0, 3, 4) -> f_4158(v174336:0, v174337:0, v174338:0, v174339:0, v174340:0, v174341:0, v174342:0, v174343:0, 1, v174345:0, 0, v174347:0, v174348:0, v175680:0, 1 + v174345:0, v179979:0, v174345:0, v174353:0, v174354:0, v174355:0, v174356:0, 3, 4) :|: v179979:0 < 0 && v174345:0 > -1 85.80/31.60 f_4301(v174336:0, v174337:0, v174338:0, v174339:0, v174340:0, v174341:0, v174342:0, v174343:0, 1, v174345:0, 0, v174347:0, v174348:0, v175680:0, v179979:0, v174351:0, v174352:0, v174353:0, v174354:0, v174355:0, v174356:0, 3, 4) -> f_4158(v174336:0, v174337:0, v174338:0, v174339:0, v174340:0, v174341:0, v174342:0, v174343:0, 1, v174345:0, 0, v174347:0, v174348:0, v175680:0, 1 + v174345:0, v179979:0, v174345:0, v174353:0, v174354:0, v174355:0, v174356:0, 3, 4) :|: v179979:0 > 0 && v174345:0 > -1 85.80/31.60 f_3998(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156082:0, 1, v156084:0, 0, v156086:0, v156087:0, v156149:0, v156090:0, v156091:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) -> f_4158(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156082:0, 1, v156084:0, 0, v156086:0, v156087:0, v156149:0, 1 + v156084:0, v161018:0, v156084:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) :|: v156079:0 > -1 && v156084:0 <= v156079:0 && v156091:0 > 0 && v156084:0 > -1 && v161018:0 < 0 85.80/31.60 f_3998(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156082:0, 1, v156084:0, 0, v156086:0, v156087:0, v156149:0, v156090:0, v156091:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) -> f_4158(v156075:0, v156076:0, v156077:0, v156078:0, v156079:0, v156080:0, v156081:0, v156082:0, 1, v156084:0, 0, v156086:0, v156087:0, v156149:0, 1 + v156084:0, v161018:0, v156084:0, v156092:0, v156093:0, v156094:0, v156095:0, 3, 4) :|: v156079:0 > -1 && v156084:0 <= v156079:0 && v156091:0 > 0 && v156084:0 > -1 && v161018:0 > 0 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, v114587:0, v114586:0, v114585:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, 1 + v114587:0, v121874:0, v114587:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114587:0 > -2 && v114576:0 > -1 && v121874:0 < 0 && v114587:0 <= v114576:0 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, v114587:0, v114586:0, v114585:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, 1 + v114587:0, v121874:0, v114587:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114587:0 > -2 && v114576:0 > -1 && v121874:0 > 0 && v114587:0 <= v114576:0 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, 1 + (1 + v156148:0), v114586:0, 1 + v156148:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3987(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114584:0, 1, v156148:0, v95361:0, 1 + v156148:0, v114579:0, 1 + (1 + v156148:0), 0, v114586:0, 1 + (1 + v156148:0), v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: 1 + v156148:0 < 1 + (1 + v156148:0) && v114579:0 > 0 && v114584:0 > -1 && v114577:0 > 0 && v156148:0 > -2 && v95361:0 < 0 && v132050:0 < 0 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, 1 + (1 + v156148:0), v114586:0, 1 + v156148:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3987(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114584:0, 1, v156148:0, v95361:0, 1 + v156148:0, v114579:0, 1 + (1 + v156148:0), 0, v114586:0, 1 + (1 + v156148:0), v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: 1 + v156148:0 < 1 + (1 + v156148:0) && v114579:0 > 0 && v114584:0 > -1 && v114577:0 > 0 && v156148:0 > -2 && v95361:0 > 0 && v132050:0 < 0 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, 1 + (1 + v156148:0), v114586:0, 1 + v156148:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3987(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114584:0, 1, v156148:0, v95361:0, 1 + v156148:0, v114579:0, 1 + (1 + v156148:0), 0, v114586:0, 1 + (1 + v156148:0), v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: 1 + v156148:0 < 1 + (1 + v156148:0) && v114579:0 > 0 && v114584:0 > -1 && v114577:0 > 0 && v156148:0 > -2 && v95361:0 < 0 && v132050:0 > 0 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, 1 + (1 + v156148:0), v114586:0, 1 + v156148:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3987(v114572:0, v114573:0, v114574:0, v114575:0, 1 + v156148:0, v114577:0, v114578:0, v114584:0, 1, v156148:0, v95361:0, 1 + v156148:0, v114579:0, 1 + (1 + v156148:0), 0, v114586:0, 1 + (1 + v156148:0), v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: 1 + v156148:0 < 1 + (1 + v156148:0) && v114579:0 > 0 && v114584:0 > -1 && v114577:0 > 0 && v156148:0 > -2 && v95361:0 > 0 && v132050:0 > 0 85.80/31.60 f_3941(v146466:0, v146467:0, v146468:0, v146469:0, v146470:0, v146471:0, v146472:0, v146473:0, 1, -1, 0, v146477:0, v148049:0, v155778:0, v146481:0, v146482:0, v146483:0, v146484:0, v146485:0, 3, 4) -> f_3418(v146466:0, v146467:0, v146468:0, v146469:0, v146470:0, v146471:0, v146472:0, v146473:0, 1, -1, 0, v146477:0, v148049:0, 0, v155778:0, -1, v146482:0, v146483:0, v146484:0, v146485:0, 3, 4) :|: v155778:0 < 0 85.80/31.60 f_3941(v146466:0, v146467:0, v146468:0, v146469:0, v146470:0, v146471:0, v146472:0, v146473:0, 1, -1, 0, v146477:0, v148049:0, v155778:0, v146481:0, v146482:0, v146483:0, v146484:0, v146485:0, 3, 4) -> f_3418(v146466:0, v146467:0, v146468:0, v146469:0, v146470:0, v146471:0, v146472:0, v146473:0, 1, -1, 0, v146477:0, v148049:0, 0, v155778:0, -1, v146482:0, v146483:0, v146484:0, v146485:0, 3, 4) :|: v155778:0 > 0 85.80/31.60 f_4344(v178812:0, v178813:0, v178814:0, v178815:0, v178816:0, v178817:0, v178818:0, v178819:0, 1, -1, 0, v178823:0, v179981:0, 0, v178826:0, v178827:0, v178828:0, v178829:0, v178830:0, v178831:0, 3, 4) -> f_4056(v178812:0, v178813:0, v178814:0, v178815:0, v178816:0, v178817:0, v178818:0, v179981:0, 1, -1, 0, v178823:0, -1, v178819:0, v178826:0, v178827:0, v178828:0, v178829:0, v178830:0, v178831:0, 3, 4) :|: v178819:0 > 0 && v178817:0 > 1 && v179981:0 > -1 85.80/31.60 f_3987(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, 1 + v148049:0, 1, -1, v155224:0, 0, v155227:0, v155228:0, 0, v155230:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) -> f_3941(v155214:0, v155215:0, v155216:0, v155217:0, v155218:0, v155219:0, v155220:0, 1 + v148049:0, 1, -1, 0, v155224:0, v148049:0, v155778:0, v155231:0, v155232:0, v155233:0, v155234:0, v155235:0, 3, 4) :|: v148049:0 > -2 85.80/31.60 f_4279(v170890:0, v170891:0, v170892:0, v170893:0, v170894:0, v170895:0, v170896:0, 1 + v156149:0, 1, v170904:0, 0, 0, v170901:0, v170902:0, v170897:0, v170905:0, v170906:0, v170907:0, v170908:0, v170909:0, v170910:0, 3, 4) -> f_3998(v170890:0, v170891:0, v170892:0, v170893:0, v170894:0, v170895:0, v170896:0, 1 + v156149:0, 1, v170904:0, 0, v170901:0, v170902:0, v156149:0, v170905:0, v170906:0, v170907:0, v170908:0, v170909:0, v170910:0, 3, 4) :|: v156149:0 > -2 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, 1 + v156149:0, v114587:0, v114586:0, v114576:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_3998(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, 1 + v156149:0, 1, v114587:0, 0, 0, -1, v156149:0, v114586:0, v114587:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114587:0 > v114576:0 && v114579:0 > 0 && v156149:0 > -2 && v114577:0 > 0 85.80/31.60 f_4301(v174336:0, v174337:0, v174338:0, v174339:0, v174340:0, v174341:0, v174342:0, v174343:0, 1, v174345:0, 0, v174347:0, v174348:0, v175680:0, 0, v174351:0, v174352:0, v174353:0, v174354:0, v174355:0, v174356:0, 3, 4) -> f_4357(v174336:0, v174337:0, v174338:0, v174339:0, v174340:0, v174341:0, v174342:0, v175680:0, 1, v174345:0, v184527:0, 0, v174347:0, v174348:0, v174343:0, v174351:0, v174352:0, v174353:0, v174354:0, v174355:0, v174356:0, 3, 4) :|: v174343:0 > 0 && v174341:0 > 0 && v175680:0 > -1 85.80/31.60 f_3418(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114579:0, 1, -1, 0, v114583:0, v114584:0, v114587:0, v114586:0, v114585:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) -> f_4056(v114572:0, v114573:0, v114574:0, v114575:0, v114576:0, v114577:0, v114578:0, v114584:0, 1, v114587:0, 0, v114583:0, -1, v114579:0, v114585:0, v114587:0, v114588:0, v114589:0, v114590:0, v114591:0, 3, 4) :|: v114576:0 > -1 && v114587:0 <= v114576:0 && v114579:0 > 0 && v114577:0 > 0 && v114584:0 > -1 85.80/31.60 Filtered unneeded arguments: 85.80/31.60 f_4056(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) -> f_4056(x5, x6, x8, x10) 85.80/31.60 f_3418(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) -> f_3418(x5, x6, x8, x13, x14, x16) 85.80/31.60 f_4275(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_4275(x5, x6, x8, x10, x12, x14) 85.80/31.60 f_4158(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_4158(x5, x6, x8, x14, x15, x17) 85.80/31.60 f_3998(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) -> f_3998(x5, x6, x8, x10, x14, x16) 85.80/31.60 f_4357(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_4357(x5, x6, x8, x10, x11) 85.80/31.60 f_3987(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_3987(x5, x6, x8, x10, x12, x17) 85.80/31.60 f_4279(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_4279(x5, x6, x8, x10, x11, x17) 85.80/31.60 f_4344(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) -> f_4344(x5, x6, x8, x13, x14) 85.80/31.60 f_3941(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_3941(x5, x6, x8, x13, x14) 85.80/31.60 f_4301(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_4301(x5, x6, x8, x10, x14, x15) 85.80/31.60 Removed division, modulo operations, cleaned up constraints. Obtained 36 rules.P rules: 85.80/31.60 f_4056(v160808:0, v160809:0, sum~cons_1~v179981:0, v160817:0) -> f_4344(v160808:0, v160809:0, 1 + v179981:0, v179981:0, v183380:0) :|: v160817:0 < 0 && v179981:0 > -2 && sum~cons_1~v179981:0 = 1 + v179981:0 85.80/31.60 f_3418(v114576:0, v114577:0, v114579:0, sum~cons_1~v156149:0, sum~cons_1~v114576:0, v114576:01) -> f_3998(v114576:0, v114577:0, 1 + v156149:0, v114576:0, v156149:0, 1 + v114576:0) :|: v114579:0 > 0 && v114576:0 < 1 + v114576:0 && v156149:0 > -2 && v114576:0 > -1 && v114577:0 > 0 && sum~cons_1~v156149:0 = 1 + v156149:0 && sum~cons_1~v114576:0 = 1 + v114576:0 && v114576:0 = v114576:01 85.80/31.60 f_4275(v176825:0, v176826:0, v176828:0, sum~cons_1~v175679:0, v176830:0, v176834:0) -> f_4275(v176825:0, v176826:0, v176828:0, v175679:0, 1 + v175679:0, v176834:0) :|: v175679:0 > -2 && v176830:0 > 0 && v176825:0 > 0 && v176834:0 > 0 && sum~cons_1~v175679:0 = 1 + v175679:0 85.80/31.60 f_4158(v168007:0, v168008:0, v168010:0, v168016:0, v168019:0, v168007:01) -> f_4279(v168007:0, v168008:0, v168016:0, v168019:0, v178195:0, v168019:0) :|: v168010:0 > 0 && v168019:0 > v168007:0 && v168016:0 > -1 && v168008:0 > 0 && v168007:0 = v168007:01 85.80/31.60 f_3418(cons_-1, v114577:0, v114579:0, sum~cons_1~v148049:0, cons_0, cons_-11) -> f_3941(-1, v114577:0, 1 + v148049:0, v148049:0, v155778:0) :|: v148049:0 > -2 && v114577:0 > 0 && v114579:0 > 0 && cons_-1 = -1 && sum~cons_1~v148049:0 = 1 + v148049:0 && cons_0 = 0 && cons_-11 = -1 85.80/31.60 f_3998(v156079:0, v156080:0, v156082:0, v156084:0, v156149:0, v156091:0) -> f_4357(v156079:0, v156080:0, v156149:0, v156084:0, v184527:0) :|: v156149:0 > -1 && v156082:0 > 0 && v156080:0 > 0 && v156079:0 > -1 && v156084:0 <= v156079:0 && v156091:0 > 0 85.80/31.60 f_4158(v168007:0, v168008:0, v168010:0, v168016:0, v168019:0, v168017:0) -> f_4357(v168007:0, v168008:0, v168016:0, v168019:0, v184527:0) :|: v168019:0 <= v168007:0 && v168007:0 > 0 && v168010:0 > 0 && v168016:0 > -1 && v168008:0 > 0 85.80/31.60 f_4357(v182818:0, v182819:0, v182827:0, sum~cons_1~v175679:0, v184527:0) -> f_4275(v182818:0, v182819:0, v182827:0, v175679:0, 1 + v175679:0, 1 + v175679:0) :|: v175679:0 > -2 && v184527:0 < 0 && sum~cons_1~v175679:0 = 1 + v175679:0 85.80/31.60 f_4357(v182818:0, v182819:0, v182827:0, sum~cons_1~v175679:0, v184527:0) -> f_4275(v182818:0, v182819:0, v182827:0, v175679:0, 1 + v175679:0, 1 + v175679:0) :|: v175679:0 > -2 && v184527:0 > 0 && sum~cons_1~v175679:0 = 1 + v175679:0 85.80/31.60 f_4275(v176825:0, v176826:0, sum~cons_1~v179981:0, cons_-1, cons_0, v176834:0) -> f_4344(v176825:0, v176826:0, 1 + v179981:0, v179981:0, v183380:0) :|: v179981:0 > -2 && sum~cons_1~v179981:0 = 1 + v179981:0 && cons_-1 = -1 && cons_0 = 0 85.80/31.60 f_4158(v168007:0, v168008:0, v168010:0, v168016:0, v168019:0, v168017:0) -> f_4158(v168007:0, v168008:0, v168010:0, v168016:0, 1 + v168019:0, v168019:0) :|: v168007:0 > 0 && v168019:0 <= v168007:0 && v168019:0 > -1 85.80/31.60 f_4056(v160808:0, v160809:0, sum~cons_1~v175680:0, v160817:0) -> f_4301(v160808:0, v160809:0, 1 + v175680:0, v160817:0, v175680:0, v179979:0) :|: v160817:0 > -1 && v160808:0 > -1 && v175680:0 > -2 && sum~cons_1~v175680:0 = 1 + v175680:0 85.80/31.60 f_4357(v182818:0, v182819:0, sum~cons_1~v175680:0, v182828:0, cons_0) -> f_4301(v182818:0, v182819:0, 1 + v175680:0, v182828:0, v175680:0, v179979:0) :|: v175680:0 > -2 && sum~cons_1~v175680:0 = 1 + v175680:0 && cons_0 = 0 85.80/31.60 f_3987(v155218:0, v155219:0, v155221:0, sum~cons_1~v156148:1, v155223:0, v155231:0) -> f_3987(v155218:0, v155219:0, v155221:0, v156148:1, 1 + v156148:1, v155231:0) :|: v155223:0 > 0 && v156148:1 > -2 && sum~cons_1~v156148:1 = 1 + v156148:1 85.80/31.60 f_3987(v155218:0, v155219:0, sum~cons_1~v156149:0, v156148:0, v155223:0, v155231:0) -> f_3998(v155218:0, v155219:0, 1 + v156149:0, v156148:0, v156149:0, v155231:0) :|: v156149:0 > -2 && v156148:0 > -1 && v155223:0 > 0 && sum~cons_1~v156149:0 = 1 + v156149:0 85.80/31.60 f_4056(v160808:0, v160809:0, v160811:0, sum~cons_1~v175679:0) -> f_4275(v160808:0, v160809:0, v160811:0, v175679:0, 1 + v175679:0, 1 + v175679:0) :|: v160808:0 > -1 && v175679:0 > -2 && sum~cons_1~v175679:0 = 1 + v175679:0 85.80/31.60 f_4275(v176825:0, v176826:0, sum~cons_1~v175680:0, v176832:0, v176830:0, v176834:0) -> f_4301(v176825:0, v176826:0, 1 + v175680:0, v176832:0, v175680:0, v179979:0) :|: v176832:0 > -1 && v176830:0 > 0 && v176834:0 > 0 && v176825:0 > 0 && v175680:0 > -2 && sum~cons_1~v175680:0 = 1 + v175680:0 85.80/31.60 f_4279(v170894:0, v170895:0, v170903:0, sum~cons_1~v156148:0, v178195:0, v170906:0) -> f_3987(v170894:0, v170895:0, v170903:0, v156148:0, 1 + v156148:0, v170906:0) :|: v178195:0 < 0 && v156148:0 > -2 && sum~cons_1~v156148:0 = 1 + v156148:0 85.80/31.60 f_4279(v170894:0, v170895:0, v170903:0, sum~cons_1~v156148:0, v178195:0, v170906:0) -> f_3987(v170894:0, v170895:0, v170903:0, v156148:0, 1 + v156148:0, v170906:0) :|: v178195:0 > 0 && v156148:0 > -2 && sum~cons_1~v156148:0 = 1 + v156148:0 85.80/31.60 f_3998(v156079:0, v156080:0, v156082:0, v156084:0, v156149:0, v156091:0) -> f_4279(v156079:0, v156080:0, v156149:0, v156084:0, v178195:0, v156091:0) :|: v156149:0 > -1 && v156082:0 > 0 && v156080:0 > 0 && v156084:0 > v156079:0 85.80/31.60 f_4344(v178816:0, v178817:0, v178819:0, v179981:0, v183380:0) -> f_3418(v178816:0, v178817:0, v178819:0, v179981:0, 0, -1) :|: v183380:0 < 0 85.80/31.60 f_4344(v178816:0, v178817:0, v178819:0, v179981:0, v183380:0) -> f_3418(v178816:0, v178817:0, v178819:0, v179981:0, 0, -1) :|: v183380:0 > 0 85.80/31.60 f_3941(v146470:0, v146471:0, v146473:0, v148049:0, cons_0) -> f_4056(v146470:0, v146471:0, v148049:0, -1) :|: v146471:0 > 1 && v148049:0 > -1 && v146473:0 > 0 && cons_0 = 0 85.80/31.60 f_4301(v174340:0, v174341:0, v174343:0, v174345:0, v175680:0, v179979:0) -> f_4158(v174340:0, v174341:0, v174343:0, v175680:0, 1 + v174345:0, v174345:0) :|: v179979:0 < 0 && v174345:0 > -1 85.80/31.60 f_4301(v174340:0, v174341:0, v174343:0, v174345:0, v175680:0, v179979:0) -> f_4158(v174340:0, v174341:0, v174343:0, v175680:0, 1 + v174345:0, v174345:0) :|: v179979:0 > 0 && v174345:0 > -1 85.80/31.60 f_3998(v156079:0, v156080:0, v156082:0, v156084:0, v156149:0, v156091:0) -> f_4158(v156079:0, v156080:0, v156082:0, v156149:0, 1 + v156084:0, v156084:0) :|: v156084:0 <= v156079:0 && v156079:0 > -1 && v156084:0 > -1 && v156091:0 > 0 85.80/31.60 f_3418(v114576:0, v114577:0, v114579:0, v114584:0, v114587:0, v114585:0) -> f_3418(v114576:0, v114577:0, v114579:0, v114584:0, 1 + v114587:0, v114587:0) :|: v114576:0 > -1 && v114587:0 <= v114576:0 && v114587:0 > -2 85.80/31.60 f_3418(sum~cons_1~v156148:0, v114577:0, v114579:0, v114584:0, sum~cons_1~sum~cons_1~v156148:0, sum~cons_1~v156148:01) -> f_3987(1 + v156148:0, v114577:0, v114584:0, v156148:0, 1 + v156148:0, 1 + (1 + v156148:0)) :|: v114579:0 > 0 && 1 + v156148:0 < 1 + (1 + v156148:0) && v114584:0 > -1 && v156148:0 > -2 && v114577:0 > 0 && sum~cons_1~v156148:0 = 1 + v156148:0 && sum~cons_1~sum~cons_1~v156148:0 = 1 + (1 + v156148:0) && sum~cons_1~v156148:01 = 1 + v156148:0 85.80/31.60 f_3941(v146470:0, v146471:0, v146473:0, v148049:0, v155778:0) -> f_3418(v146470:0, v146471:0, v146473:0, v148049:0, 0, -1) :|: v155778:0 < 0 85.80/31.60 f_3941(v146470:0, v146471:0, v146473:0, v148049:0, v155778:0) -> f_3418(v146470:0, v146471:0, v146473:0, v148049:0, 0, -1) :|: v155778:0 > 0 85.80/31.60 f_4344(v178816:0, v178817:0, v178819:0, v179981:0, cons_0) -> f_4056(v178816:0, v178817:0, v179981:0, -1) :|: v178817:0 > 1 && v179981:0 > -1 && v178819:0 > 0 && cons_0 = 0 85.80/31.60 f_3987(v155218:0, v155219:0, sum~cons_1~v148049:0, cons_-1, cons_0, v155231:0) -> f_3941(v155218:0, v155219:0, 1 + v148049:0, v148049:0, v155778:0) :|: v148049:0 > -2 && sum~cons_1~v148049:0 = 1 + v148049:0 && cons_-1 = -1 && cons_0 = 0 85.80/31.60 f_4279(v170894:0, v170895:0, sum~cons_1~v156149:0, v170904:0, cons_0, v170906:0) -> f_3998(v170894:0, v170895:0, 1 + v156149:0, v170904:0, v156149:0, v170906:0) :|: v156149:0 > -2 && sum~cons_1~v156149:0 = 1 + v156149:0 && cons_0 = 0 85.80/31.60 f_3418(v114576:0, v114577:0, v114579:0, sum~cons_1~v156149:0, v114587:0, v114576:01) -> f_3998(v114576:0, v114577:0, 1 + v156149:0, v114587:0, v156149:0, v114587:0) :|: v114579:0 > 0 && v114587:0 > v114576:0 && v114577:0 > 0 && v156149:0 > -2 && sum~cons_1~v156149:0 = 1 + v156149:0 && v114576:0 = v114576:01 85.80/31.60 f_4301(v174340:0, v174341:0, v174343:0, v174345:0, v175680:0, cons_0) -> f_4357(v174340:0, v174341:0, v175680:0, v174345:0, v184527:0) :|: v174341:0 > 0 && v175680:0 > -1 && v174343:0 > 0 && cons_0 = 0 85.80/31.60 f_3418(v114576:0, v114577:0, v114579:0, v114584:0, v114587:0, v114585:0) -> f_4056(v114576:0, v114577:0, v114584:0, v114587:0) :|: v114587:0 <= v114576:0 && v114576:0 > -1 && v114579:0 > 0 && v114584:0 > -1 && v114577:0 > 0 85.80/31.60 85.80/31.60 ---------------------------------------- 85.80/31.60 85.80/31.60 (9) 85.80/31.60 Obligation: 85.80/31.60 Rules: 85.80/31.60 f_4056(v160808:0, v160809:0, sum~cons_1~v179981:0, v160817:0) -> f_4344(v160808:0, v160809:0, 1 + v179981:0, v179981:0, v183380:0) :|: v160817:0 < 0 && v179981:0 > -2 && sum~cons_1~v179981:0 = 1 + v179981:0 85.80/31.60 f_3418(v114576:0, v114577:0, v114579:0, sum~cons_1~v156149:0, sum~cons_1~v114576:0, v114576:01) -> f_3998(v114576:0, v114577:0, 1 + v156149:0, v114576:0, v156149:0, 1 + v114576:0) :|: v114579:0 > 0 && v114576:0 < 1 + v114576:0 && v156149:0 > -2 && v114576:0 > -1 && v114577:0 > 0 && sum~cons_1~v156149:0 = 1 + v156149:0 && sum~cons_1~v114576:0 = 1 + v114576:0 && v114576:0 = v114576:01 85.80/31.60 f_4275(v176825:0, v176826:0, v176828:0, sum~cons_1~v175679:0, v176830:0, v176834:0) -> f_4275(v176825:0, v176826:0, v176828:0, v175679:0, 1 + v175679:0, v176834:0) :|: v175679:0 > -2 && v176830:0 > 0 && v176825:0 > 0 && v176834:0 > 0 && sum~cons_1~v175679:0 = 1 + v175679:0 85.80/31.60 f_4158(v168007:0, v168008:0, v168010:0, v168016:0, v168019:0, v168007:01) -> f_4279(v168007:0, v168008:0, v168016:0, v168019:0, v178195:0, v168019:0) :|: v168010:0 > 0 && v168019:0 > v168007:0 && v168016:0 > -1 && v168008:0 > 0 && v168007:0 = v168007:01 85.80/31.60 f_3418(x, x1, x2, x3, x4, x5) -> f_3941(-1, x1, 1 + x6, x6, x7) :|: x6 > -2 && x1 > 0 && x2 > 0 && x = -1 && x3 = 1 + x6 && x4 = 0 && x5 = -1 85.80/31.60 f_3998(x8, x9, x10, x11, x12, x13) -> f_4357(x8, x9, x12, x11, x14) :|: x12 > -1 && x10 > 0 && x9 > 0 && x8 > -1 && x11 <= x8 && x13 > 0 85.80/31.60 f_4158(x15, x16, x17, x18, x19, x20) -> f_4357(x15, x16, x18, x19, x21) :|: x19 <= x15 && x15 > 0 && x17 > 0 && x18 > -1 && x16 > 0 85.80/31.60 f_4357(x22, x23, x24, x25, x26) -> f_4275(x22, x23, x24, x27, 1 + x27, 1 + x27) :|: x27 > -2 && x26 < 0 && x25 = 1 + x27 85.80/31.60 f_4357(x28, x29, x30, x31, x32) -> f_4275(x28, x29, x30, x33, 1 + x33, 1 + x33) :|: x33 > -2 && x32 > 0 && x31 = 1 + x33 85.80/31.60 f_4275(x34, x35, x36, x37, x38, x39) -> f_4344(x34, x35, 1 + x40, x40, x41) :|: x40 > -2 && x36 = 1 + x40 && x37 = -1 && x38 = 0 85.80/31.60 f_4158(x42, x43, x44, x45, x46, x47) -> f_4158(x42, x43, x44, x45, 1 + x46, x46) :|: x42 > 0 && x46 <= x42 && x46 > -1 85.80/31.60 f_4056(x48, x49, x50, x51) -> f_4301(x48, x49, 1 + x52, x51, x52, x53) :|: x51 > -1 && x48 > -1 && x52 > -2 && x50 = 1 + x52 85.80/31.60 f_4357(v182818:0, v182819:0, sum~cons_1~v175680:0, v182828:0, cons_0) -> f_4301(v182818:0, v182819:0, 1 + v175680:0, v182828:0, v175680:0, v179979:0) :|: v175680:0 > -2 && sum~cons_1~v175680:0 = 1 + v175680:0 && cons_0 = 0 85.80/31.60 f_3987(v155218:0, v155219:0, v155221:0, sum~cons_1~v156148:1, v155223:0, v155231:0) -> f_3987(v155218:0, v155219:0, v155221:0, v156148:1, 1 + v156148:1, v155231:0) :|: v155223:0 > 0 && v156148:1 > -2 && sum~cons_1~v156148:1 = 1 + v156148:1 85.80/31.60 f_3987(x54, x55, x56, x57, x58, x59) -> f_3998(x54, x55, 1 + x60, x57, x60, x59) :|: x60 > -2 && x57 > -1 && x58 > 0 && x56 = 1 + x60 85.80/31.60 f_4056(x61, x62, x63, x64) -> f_4275(x61, x62, x63, x65, 1 + x65, 1 + x65) :|: x61 > -1 && x65 > -2 && x64 = 1 + x65 85.80/31.60 f_4275(x66, x67, x68, x69, x70, x71) -> f_4301(x66, x67, 1 + x72, x69, x72, x73) :|: x69 > -1 && x70 > 0 && x71 > 0 && x66 > 0 && x72 > -2 && x68 = 1 + x72 85.80/31.60 f_4279(x74, x75, x76, x77, x78, x79) -> f_3987(x74, x75, x76, x80, 1 + x80, x79) :|: x78 < 0 && x80 > -2 && x77 = 1 + x80 85.80/31.60 f_4279(x81, x82, x83, x84, x85, x86) -> f_3987(x81, x82, x83, x87, 1 + x87, x86) :|: x85 > 0 && x87 > -2 && x84 = 1 + x87 85.80/31.60 f_3998(x88, x89, x90, x91, x92, x93) -> f_4279(x88, x89, x92, x91, x94, x93) :|: x92 > -1 && x90 > 0 && x89 > 0 && x91 > x88 85.80/31.60 f_4344(x95, x96, x97, x98, x99) -> f_3418(x95, x96, x97, x98, 0, -1) :|: x99 < 0 85.80/31.60 f_4344(x100, x101, x102, x103, x104) -> f_3418(x100, x101, x102, x103, 0, -1) :|: x104 > 0 85.80/31.60 f_3941(x105, x106, x107, x108, x109) -> f_4056(x105, x106, x108, -1) :|: x106 > 1 && x108 > -1 && x107 > 0 && x109 = 0 85.80/31.60 f_4301(x110, x111, x112, x113, x114, x115) -> f_4158(x110, x111, x112, x114, 1 + x113, x113) :|: x115 < 0 && x113 > -1 85.80/31.60 f_4301(x116, x117, x118, x119, x120, x121) -> f_4158(x116, x117, x118, x120, 1 + x119, x119) :|: x121 > 0 && x119 > -1 85.80/31.60 f_3998(x122, x123, x124, x125, x126, x127) -> f_4158(x122, x123, x124, x126, 1 + x125, x125) :|: x125 <= x122 && x122 > -1 && x125 > -1 && x127 > 0 85.80/31.60 f_3418(x128, x129, x130, x131, x132, x133) -> f_3418(x128, x129, x130, x131, 1 + x132, x132) :|: x128 > -1 && x132 <= x128 && x132 > -2 85.80/31.60 f_3418(x134, x135, x136, x137, x138, x139) -> f_3987(1 + x140, x135, x137, x140, 1 + x140, 1 + (1 + x140)) :|: x136 > 0 && 1 + x140 < 1 + (1 + x140) && x137 > -1 && x140 > -2 && x135 > 0 && x134 = 1 + x140 && x138 = 1 + (1 + x140) && x139 = 1 + x140 85.80/31.60 f_3941(v146470:0, v146471:0, v146473:0, v148049:0, v155778:0) -> f_3418(v146470:0, v146471:0, v146473:0, v148049:0, 0, -1) :|: v155778:0 < 0 85.80/31.60 f_3941(x141, x142, x143, x144, x145) -> f_3418(x141, x142, x143, x144, 0, -1) :|: x145 > 0 85.80/31.60 f_4344(x146, x147, x148, x149, x150) -> f_4056(x146, x147, x149, -1) :|: x147 > 1 && x149 > -1 && x148 > 0 && x150 = 0 85.80/31.60 f_3987(x151, x152, x153, x154, x155, x156) -> f_3941(x151, x152, 1 + x157, x157, x158) :|: x157 > -2 && x153 = 1 + x157 && x154 = -1 && x155 = 0 85.80/31.60 f_4279(x159, x160, x161, x162, x163, x164) -> f_3998(x159, x160, 1 + x165, x162, x165, x164) :|: x165 > -2 && x161 = 1 + x165 && x163 = 0 85.80/31.60 f_3418(x166, x167, x168, x169, x170, x171) -> f_3998(x166, x167, 1 + x172, x170, x172, x170) :|: x168 > 0 && x170 > x166 && x167 > 0 && x172 > -2 && x169 = 1 + x172 && x166 = x171 85.80/31.60 f_4301(x173, x174, x175, x176, x177, x178) -> f_4357(x173, x174, x177, x176, x179) :|: x174 > 0 && x177 > -1 && x175 > 0 && x178 = 0 85.80/31.60 f_3418(x180, x181, x182, x183, x184, x185) -> f_4056(x180, x181, x183, x184) :|: x184 <= x180 && x180 > -1 && x182 > 0 && x183 > -1 && x181 > 0 85.80/31.60 85.80/31.60 ---------------------------------------- 85.80/31.60 85.80/31.60 (10) IRS2T2 (EQUIVALENT) 85.80/31.60 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.60 85.80/31.60 (f_4056_6,1) 85.80/31.60 (f_4344_6,2) 85.80/31.60 (f_3418_6,3) 85.80/31.60 (f_3998_6,4) 85.80/31.60 (f_4275_6,5) 85.80/31.60 (f_4158_6,6) 85.80/31.60 (f_4279_6,7) 85.80/31.60 (f_3941_6,8) 85.80/31.60 (f_4357_6,9) 85.80/31.60 (f_4301_6,10) 85.80/31.60 (f_3987_6,11) 85.80/31.60 85.80/31.60 ---------------------------------------- 85.80/31.60 85.80/31.60 (11) 85.80/31.60 Obligation: 85.80/31.60 START: 0; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 1; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 2; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 3; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 4; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 5; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 6; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 7; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 8; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 9; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 10; 85.80/31.60 85.80/31.60 FROM: 0; 85.80/31.60 TO: 11; 85.80/31.60 85.80/31.60 FROM: 1; 85.80/31.60 oldX0 := x0; 85.80/31.60 oldX1 := x1; 85.80/31.60 oldX2 := x2; 85.80/31.60 oldX3 := x3; 85.80/31.60 oldX4 := x4; 85.80/31.60 oldX5 := x5; 85.80/31.60 oldX6 := oldX2 - 1; 85.80/31.60 oldX7 := nondet(); 85.80/31.60 oldX8 := nondet(); 85.80/31.60 assume(oldX3 < 0 && oldX6 > -2 && oldX2 = 1 + oldX6); 85.80/31.60 x0 := oldX0; 85.80/31.60 x1 := oldX1; 85.80/31.60 x2 := 1 + oldX6; 85.80/31.60 x3 := oldX2 - 1; 85.80/31.60 x4 := oldX7; 85.80/31.60 x5 := oldX8; 85.80/31.60 TO: 2; 85.80/31.60 85.80/31.60 FROM: 3; 85.80/31.60 oldX0 := x0; 85.80/31.60 oldX1 := x1; 85.80/31.60 oldX2 := x2; 85.80/31.60 oldX3 := x3; 85.80/31.60 oldX4 := x4; 85.80/31.60 oldX5 := x5; 85.80/31.60 oldX6 := oldX3 - 1; 85.80/31.60 assume(oldX2 > 0 && oldX0 < 1 + oldX0 && oldX6 > -2 && oldX0 > -1 && oldX1 > 0 && oldX3 = 1 + oldX6 && oldX4 = 1 + oldX0 && oldX0 = oldX5); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX0; 85.80/31.61 x4 := oldX3 - 1; 85.80/31.61 x5 := 1 + oldX0; 85.80/31.61 TO: 4; 85.80/31.61 85.80/31.61 FROM: 5; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX6 > -2 && oldX4 > 0 && oldX0 > 0 && oldX5 > 0 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := oldX5; 85.80/31.61 TO: 5; 85.80/31.61 85.80/31.61 FROM: 6; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 assume(oldX2 > 0 && oldX4 > oldX0 && oldX3 > -1 && oldX1 > 0 && oldX0 = oldX5); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX3; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX4; 85.80/31.61 TO: 7; 85.80/31.61 85.80/31.61 FROM: 3; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 oldX8 := nondet(); 85.80/31.61 assume(oldX6 > -2 && oldX1 > 0 && oldX2 > 0 && oldX0 = -1 && oldX3 = 1 + oldX6 && oldX4 = 0 && oldX5 = -1); 85.80/31.61 x0 := -1; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := oldX7; 85.80/31.61 x5 := oldX8; 85.80/31.61 TO: 8; 85.80/31.61 85.80/31.61 FROM: 4; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX4 > -1 && oldX2 > 0 && oldX1 > 0 && oldX0 > -1 && oldX3 <= oldX0 && oldX5 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX4; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 9; 85.80/31.61 85.80/31.61 FROM: 6; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX4 <= oldX0 && oldX0 > 0 && oldX2 > 0 && oldX3 > -1 && oldX1 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX3; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 9; 85.80/31.61 85.80/31.61 FROM: 9; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX6 > -2 && oldX4 < 0 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := 1 + oldX6; 85.80/31.61 TO: 5; 85.80/31.61 85.80/31.61 FROM: 9; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX6 > -2 && oldX4 > 0 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := 1 + oldX6; 85.80/31.61 TO: 5; 85.80/31.61 85.80/31.61 FROM: 5; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX2 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 oldX8 := nondet(); 85.80/31.61 assume(oldX6 > -2 && oldX2 = 1 + oldX6 && oldX3 = -1 && oldX4 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX2 - 1; 85.80/31.61 x4 := oldX7; 85.80/31.61 x5 := oldX8; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 6; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX0 > 0 && oldX4 <= oldX0 && oldX4 > -1); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := 1 + oldX4; 85.80/31.61 x5 := oldX4; 85.80/31.61 TO: 6; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX2 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX3 > -1 && oldX0 > -1 && oldX6 > -2 && oldX2 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX2 - 1; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 10; 85.80/31.61 85.80/31.61 FROM: 9; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX2 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX6 > -2 && oldX2 = 1 + oldX6 && oldX4 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX2 - 1; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 10; 85.80/31.61 85.80/31.61 FROM: 11; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX4 > 0 && oldX6 > -2 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := oldX5; 85.80/31.61 TO: 11; 85.80/31.61 85.80/31.61 FROM: 11; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX2 - 1; 85.80/31.61 assume(oldX6 > -2 && oldX3 > -1 && oldX4 > 0 && oldX2 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX2 - 1; 85.80/31.61 x5 := oldX5; 85.80/31.61 TO: 4; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX0 > -1 && oldX6 > -2 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := 1 + oldX6; 85.80/31.61 TO: 5; 85.80/31.61 85.80/31.61 FROM: 5; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX2 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX3 > -1 && oldX4 > 0 && oldX5 > 0 && oldX0 > 0 && oldX6 > -2 && oldX2 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX2 - 1; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 10; 85.80/31.61 85.80/31.61 FROM: 7; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX4 < 0 && oldX6 > -2 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := oldX5; 85.80/31.61 TO: 11; 85.80/31.61 85.80/31.61 FROM: 7; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX4 > 0 && oldX6 > -2 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := oldX5; 85.80/31.61 TO: 11; 85.80/31.61 85.80/31.61 FROM: 4; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 assume(oldX4 > -1 && oldX2 > 0 && oldX1 > 0 && oldX3 > oldX0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX4; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX5; 85.80/31.61 TO: 7; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX4 < 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := 0; 85.80/31.61 x5 := -1; 85.80/31.61 TO: 3; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX4 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := 0; 85.80/31.61 x5 := -1; 85.80/31.61 TO: 3; 85.80/31.61 85.80/31.61 FROM: 8; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX1 > 1 && oldX3 > -1 && oldX2 > 0 && oldX4 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX3; 85.80/31.61 x3 := -1; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 10; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX5 < 0 && oldX3 > -1); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := 1 + oldX3; 85.80/31.61 x5 := oldX3; 85.80/31.61 TO: 6; 85.80/31.61 85.80/31.61 FROM: 10; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX5 > 0 && oldX3 > -1); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := 1 + oldX3; 85.80/31.61 x5 := oldX3; 85.80/31.61 TO: 6; 85.80/31.61 85.80/31.61 FROM: 4; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX3 <= oldX0 && oldX0 > -1 && oldX3 > -1 && oldX5 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := 1 + oldX3; 85.80/31.61 x5 := oldX3; 85.80/31.61 TO: 6; 85.80/31.61 85.80/31.61 FROM: 3; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX0 > -1 && oldX4 <= oldX0 && oldX4 > -2); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := 1 + oldX4; 85.80/31.61 x5 := oldX4; 85.80/31.61 TO: 3; 85.80/31.61 85.80/31.61 FROM: 3; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX0 - 1; 85.80/31.61 assume(oldX2 > 0 && 1 + oldX6 < 1 + (1 + oldX6) && oldX3 > -1 && oldX6 > -2 && oldX1 > 0 && oldX0 = 1 + oldX6 && oldX4 = 1 + (1 + oldX6) && oldX5 = 1 + oldX6); 85.80/31.61 x0 := 1 + oldX6; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX3; 85.80/31.61 x3 := oldX0 - 1; 85.80/31.61 x4 := 1 + oldX6; 85.80/31.61 x5 := 1 + (1 + oldX6); 85.80/31.61 TO: 11; 85.80/31.61 85.80/31.61 FROM: 8; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX4 < 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := 0; 85.80/31.61 x5 := -1; 85.80/31.61 TO: 3; 85.80/31.61 85.80/31.61 FROM: 8; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 assume(oldX4 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := 0; 85.80/31.61 x5 := -1; 85.80/31.61 TO: 3; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX1 > 1 && oldX3 > -1 && oldX2 > 0 && oldX4 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX3; 85.80/31.61 x3 := -1; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 11; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX2 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 oldX8 := nondet(); 85.80/31.61 assume(oldX6 > -2 && oldX2 = 1 + oldX6 && oldX3 = -1 && oldX4 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX2 - 1; 85.80/31.61 x4 := oldX7; 85.80/31.61 x5 := oldX8; 85.80/31.61 TO: 8; 85.80/31.61 85.80/31.61 FROM: 7; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX2 - 1; 85.80/31.61 assume(oldX6 > -2 && oldX2 = 1 + oldX6 && oldX4 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX2 - 1; 85.80/31.61 x5 := oldX5; 85.80/31.61 TO: 4; 85.80/31.61 85.80/31.61 FROM: 3; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 assume(oldX2 > 0 && oldX4 > oldX0 && oldX1 > 0 && oldX6 > -2 && oldX3 = 1 + oldX6 && oldX0 = oldX5); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := oldX3 - 1; 85.80/31.61 x5 := oldX4; 85.80/31.61 TO: 4; 85.80/31.61 85.80/31.61 FROM: 10; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX1 > 0 && oldX4 > -1 && oldX2 > 0 && oldX5 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX4; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 9; 85.80/31.61 85.80/31.61 FROM: 3; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX4 <= oldX0 && oldX0 > -1 && oldX2 > 0 && oldX3 > -1 && oldX1 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX3; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := oldX6; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (12) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 17, 20, 21, 22, 32, 35, 36, 37, 38, 39, 40, 56, 59, 60, 61, 71, 74, 75, 76, 86, 87, 88, 89, 92, 93, 94, 104, 107, 108, 109, 119, 122, 123, 124, 134, 135, 136, 137, 140, 141, 142, 152, 155, 156, 157 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 15: -12+21*x2 85.80/31.61 RF for loc. 16: 5+21*x4 85.80/31.61 RF for loc. 17: -7+21*x2 85.80/31.61 RF for loc. 18: 3+21*x3 85.80/31.61 RF for loc. 19: -1+21*x3 85.80/31.61 RF for loc. 20: 21*x4 85.80/31.61 RF for loc. 21: -14+21*x2 85.80/31.61 RF for loc. 22: -1+21*x3 85.80/31.61 RF for loc. 23: -6+21*x2 85.80/31.61 RF for loc. 24: 13+21*x3 85.80/31.61 RF for loc. 25: -2+21*x2 85.80/31.61 RF for loc. 26: -13+21*x2 85.80/31.61 RF for loc. 30: -1+21*x3 85.80/31.61 RF for loc. 34: -14+21*x2 85.80/31.61 RF for loc. 38: -1+21*x3 85.80/31.61 RF for loc. 42: -8+21*x2 85.80/31.61 RF for loc. 46: -7+21*x2 85.80/31.61 RF for loc. 50: -6+21*x2 85.80/31.61 RF for loc. 54: 12+21*x3 85.80/31.61 RF for loc. 58: 21*x4 85.80/31.61 Bound for (chained) transitions 20: -13 85.80/31.61 Bound for (chained) transitions 21: -13 85.80/31.61 Bound for (chained) transitions 35: -1 85.80/31.61 Bound for (chained) transitions 36: -1 85.80/31.61 Bound for (chained) transitions 38: -1 85.80/31.61 Bound for (chained) transitions 39: -1 85.80/31.61 Bound for (chained) transitions 40: -1 85.80/31.61 Bound for (chained) transitions 60: -14 85.80/31.61 Bound for (chained) transitions 61: -14 85.80/31.61 Bound for (chained) transitions 74: -1 85.80/31.61 Bound for (chained) transitions 75: -1 85.80/31.61 Bound for (chained) transitions 94: -8 85.80/31.61 Bound for (chained) transitions 108: -7 85.80/31.61 Bound for (chained) transitions 109: -7 85.80/31.61 Bound for (chained) transitions 136: 3 85.80/31.61 Bound for (chained) transitions 140: 12 85.80/31.61 Bound for (chained) transitions 157: 0 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 15: 1 85.80/31.61 RF for loc. 16: 1 85.80/31.61 RF for loc. 17: 7+8*x3 85.80/31.61 RF for loc. 18: 0 85.80/31.61 RF for loc. 19: -1-2*x4 85.80/31.61 RF for loc. 20: 8*x3 85.80/31.61 RF for loc. 21: -1+2*x3-2*x5 85.80/31.61 RF for loc. 22: -1 85.80/31.61 RF for loc. 23: 8*x3 85.80/31.61 RF for loc. 24: 1 85.80/31.61 RF for loc. 25: -1+8*x3 85.80/31.61 RF for loc. 26: 0 85.80/31.61 RF for loc. 30: -2-2*x4 85.80/31.61 RF for loc. 34: -2+2*x3-2*x5 85.80/31.61 RF for loc. 38: -1 85.80/31.61 RF for loc. 42: -2+8*x3 85.80/31.61 RF for loc. 46: 6+8*x3 85.80/31.61 RF for loc. 50: 8*x3 85.80/31.61 RF for loc. 54: 0 85.80/31.61 RF for loc. 58: 0 85.80/31.61 Bound for (chained) transitions 17: 1 85.80/31.61 Bound for (chained) transitions 22: 0 85.80/31.61 Bound for (chained) transitions 88: 0 85.80/31.61 Bound for (chained) transitions 92: -2 85.80/31.61 Bound for (chained) transitions 93: -2 85.80/31.61 Bound for (chained) transitions 107: 6 85.80/31.61 Bound for (chained) transitions 122: 0 85.80/31.61 Bound for (chained) transitions 123: 0 85.80/31.61 Bound for (chained) transitions 134: 0 85.80/31.61 Bound for (chained) transitions 135: 0 85.80/31.61 Bound for (chained) transitions 137: 1 85.80/31.61 Bound for (chained) transitions 141: 0 85.80/31.61 Bound for (chained) transitions 142: 0 85.80/31.61 Bound for (chained) transitions 152: 1 85.80/31.61 Bound for (chained) transitions 155: 0 85.80/31.61 Bound for (chained) transitions 156: 0 85.80/31.61 - Rank function 3: 85.80/31.61 RF for loc. 17: 0 85.80/31.61 RF for loc. 19: 2*x0-2*x4 85.80/31.61 RF for loc. 20: 3*x4 85.80/31.61 RF for loc. 21: 0 85.80/31.61 RF for loc. 22: 1+2*x0-2*x4 85.80/31.61 RF for loc. 23: -1+3*x2 85.80/31.61 RF for loc. 25: -1 85.80/31.61 RF for loc. 30: -1+2*x0-2*x4 85.80/31.61 RF for loc. 34: 0 85.80/31.61 RF for loc. 38: 2*x0-2*x4 85.80/31.61 RF for loc. 42: -1 85.80/31.61 RF for loc. 46: -1 85.80/31.61 RF for loc. 50: -2+3*x2 85.80/31.61 Bound for (chained) transitions 37: -1 85.80/31.61 Bound for (chained) transitions 76: 0 85.80/31.61 Bound for (chained) transitions 86: 0 85.80/31.61 Bound for (chained) transitions 87: 0 85.80/31.61 Bound for (chained) transitions 104: 0 85.80/31.61 Bound for (chained) transitions 124: -2 85.80/31.61 - Rank function 4: 85.80/31.61 RF for loc. 19: 0 85.80/31.61 RF for loc. 21: 2*x3 85.80/31.61 RF for loc. 22: 0 85.80/31.61 RF for loc. 23: 1 85.80/31.61 RF for loc. 25: 0 85.80/31.61 RF for loc. 30: -1 85.80/31.61 RF for loc. 34: -1+2*x3 85.80/31.61 RF for loc. 38: -1 85.80/31.61 RF for loc. 42: -1 85.80/31.61 RF for loc. 50: 0 85.80/31.61 Bound for (chained) transitions 59: -1 85.80/31.61 Bound for (chained) transitions 89: 0 85.80/31.61 Bound for (chained) transitions 119: 1 85.80/31.61 - Rank function 5: 85.80/31.61 RF for loc. 19: 1 85.80/31.61 RF for loc. 21: 0 85.80/31.61 RF for loc. 22: 0 85.80/31.61 RF for loc. 30: 0 85.80/31.61 RF for loc. 34: -1 85.80/31.61 RF for loc. 38: -1 85.80/31.61 Bound for (chained) transitions 32: 1 85.80/31.61 Bound for (chained) transitions 56: 0 85.80/31.61 Bound for (chained) transitions 71: 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (13) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (14) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (15) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 24 rulesP rules: 85.80/31.61 f_3232(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3256(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3256(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3280(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3280(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3303(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: TRUE 85.80/31.61 f_3303(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3330(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3330(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3356(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v112322, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 1 + v112322 = v91161 && 0 <= 1 + v112322 85.80/31.61 f_3356(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v112322, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3384(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v112322, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: TRUE 85.80/31.61 f_3384(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v112322, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3402(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v112322, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: TRUE 85.80/31.61 f_3402(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v112322, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_2936(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v112322, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: TRUE 85.80/31.61 f_2936(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_2954(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: 0 = 0 85.80/31.61 f_2954(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_2974(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: 0 = 0 85.80/31.61 f_2974(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_2992(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: 0 = 0 85.80/31.61 f_2992(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_3013(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: 0 = 0 85.80/31.61 f_3013(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_3029(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: TRUE 85.80/31.61 f_3029(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_3048(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: TRUE 85.80/31.61 f_3048(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91157, 1, v91159, 0, v91161, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_3066(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 4) :|: 0 = 0 85.80/31.61 f_3066(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 4) -> f_3087(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 0 <= v91161 && 1 <= v91157 && 2 <= v91155 85.80/31.61 f_3087(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3103(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3103(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3121(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: TRUE 85.80/31.61 f_3121(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3139(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: TRUE 85.80/31.61 f_3139(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3159(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3159(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3176(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3176(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3193(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: TRUE 85.80/31.61 f_3193(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3210(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, v104362, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: TRUE 85.80/31.61 f_3210(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, v104362, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) -> f_3232(v91150, v91151, v91152, v91153, v91154, v91155, v91156, v91161, 1, v91159, 0, v91157, v91162, v91163, v91164, v91165, v91166, 3, 2, 4) :|: v104362 = 0 85.80/31.61 Combined rules. Obtained 1 rulesP rules: 85.80/31.61 f_3232(v91150:0, v91151:0, v91152:0, v91153:0, v91154:0, v91155:0, v91156:0, 1 + v112322:0, 1, v91159:0, 0, v91157:0, v91162:0, v91163:0, v91164:0, v91165:0, v91166:0, 3, 2, 4) -> f_3232(v91150:0, v91151:0, v91152:0, v91153:0, v91154:0, v91155:0, v91156:0, v112322:0, 1, v91159:0, 0, 1 + v112322:0, v91162:0, v91163:0, v91164:0, v91165:0, v91166:0, 3, 2, 4) :|: v112322:0 > -1 && v91155:0 > 1 85.80/31.61 Filtered unneeded arguments: 85.80/31.61 f_3232(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) -> f_3232(x6, x8) 85.80/31.61 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.61 f_3232(v91155:0, sum~cons_1~v112322:0) -> f_3232(v91155:0, v112322:0) :|: v112322:0 > -1 && v91155:0 > 1 && sum~cons_1~v112322:0 = 1 + v112322:0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (16) 85.80/31.61 Obligation: 85.80/31.61 Rules: 85.80/31.61 f_3232(v91155:0, sum~cons_1~v112322:0) -> f_3232(v91155:0, v112322:0) :|: v112322:0 > -1 && v91155:0 > 1 && sum~cons_1~v112322:0 = 1 + v112322:0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (17) IRS2T2 (EQUIVALENT) 85.80/31.61 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.61 85.80/31.61 (f_3232_2,1) 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (18) 85.80/31.61 Obligation: 85.80/31.61 START: 0; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := oldX1 - 1; 85.80/31.61 assume(oldX2 > -1 && oldX0 > 1 && oldX1 = 1 + oldX2); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1 - 1; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (19) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 5: 1+2*x1 85.80/31.61 RF for loc. 6: 2*x1 85.80/31.61 Bound for (chained) transitions 3: 2 85.80/31.61 Bound for (chained) transitions 4: 2 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 5: 0 85.80/31.61 RF for loc. 6: -1 85.80/31.61 Bound for (chained) transitions 1: 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (20) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (21) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (22) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 54 rulesP rules: 85.80/31.61 f_3317(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) -> f_3341(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) :|: 0 = 0 85.80/31.61 f_3341(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) -> f_3365(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) :|: TRUE 85.80/31.61 f_3365(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) -> f_3366(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) :|: TRUE 85.80/31.61 f_3366(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112819, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3389(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: TRUE 85.80/31.61 f_3389(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3407(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: v114777 != 0 85.80/31.61 f_3389(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3408(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: v114777 = 0 85.80/31.61 f_3407(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3425(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: 0 = 0 85.80/31.61 f_3425(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3440(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: 0 = 0 85.80/31.61 f_3440(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3591(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v114777, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: TRUE 85.80/31.61 f_3591(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v127721, v127722, v127723, v127724, v127725, 3, 4) -> f_3609(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v127721, v127722, v127723, v127724, v127725, 3, 4) :|: TRUE 85.80/31.61 f_3609(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v127721, v127722, v127723, v127724, v127725, 3, 4) -> f_3621(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v127722, v127723, v127724, v127725, 3, 4) :|: 0 = 0 85.80/31.61 f_3621(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v127722, v127723, v127724, v127725, 3, 4) -> f_3633(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v132052, v127722, v127723, v127724, v127725, 3, 4) :|: v132052 = 1 + v127719 && 1 <= v132052 85.80/31.61 f_3633(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v132052, v127722, v127723, v127724, v127725, 3, 4) -> f_3645(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v132052, v127722, v127723, v127724, v127725, 3, 4) :|: TRUE 85.80/31.61 f_3645(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v132052, v127722, v127723, v127724, v127725, 3, 4) -> f_3659(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v132052, v127722, v127723, v127724, v127725, 3, 4) :|: TRUE 85.80/31.61 f_3659(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v132052, v127722, v127723, v127724, v127725, 3, 4) -> f_3244(v127707, v127708, v127709, v127710, v127711, v127712, v127713, v127714, 1, v127716, 0, v127718, v127719, v127720, v132052, v127722, v127723, v127724, v127725, 3, 4) :|: TRUE 85.80/31.61 f_3244(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106037, v106038, v106039, v106040, v106041, v106042, v106043, 3, 4) -> f_3268(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) :|: 0 = 0 85.80/31.61 f_3268(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) -> f_3293(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) :|: 0 = 0 85.80/31.61 f_3293(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) -> f_3317(v106025, v106026, v106027, v106028, v106029, v106030, v106031, v106032, 1, v106034, 0, v106036, v106039, v106038, v106037, v106040, v106041, v106042, v106043, 3, 4) :|: v106039 <= v106029 && 1 <= v106029 85.80/31.61 f_3408(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3426(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: 0 = 0 85.80/31.61 f_3426(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3441(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: 0 = 0 85.80/31.61 f_3441(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112820, v112821, v112822, v112823, v112824, 3, 4) -> f_3593(v112806, v112807, v112808, v112809, v112810, v112811, v112812, v112813, 1, v112815, 0, v112817, v112818, v112820, v112821, v112822, v112823, v112824, 3, 4) :|: TRUE 85.80/31.61 f_3593(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128037, 1, v128039, 0, v128041, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3610(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128037, 1, v128039, 0, v128041, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: TRUE 85.80/31.61 f_3610(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128037, 1, v128039, 0, v128041, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3622(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128037, 1, v128039, 0, v128041, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: TRUE 85.80/31.61 f_3622(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128037, 1, v128039, 0, v128041, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3634(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: 0 = 0 85.80/31.61 f_3634(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3646(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: 0 <= v128041 && 1 <= v128037 && 1 <= v128035 85.80/31.61 f_3646(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3660(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: 0 = 0 85.80/31.61 f_3660(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3670(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: TRUE 85.80/31.61 f_3670(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3679(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: TRUE 85.80/31.61 f_3679(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128039, 0, v128037, v128042, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3689(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: 0 = 0 85.80/31.61 f_3689(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3701(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: 0 = 0 85.80/31.61 f_3701(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3713(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: TRUE 85.80/31.61 f_3713(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3727(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, v139682, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: TRUE 85.80/31.61 f_3727(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, v139682, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3740(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: v139682 = 0 85.80/31.61 f_3740(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3753(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: 0 = 0 85.80/31.61 f_3753(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3769(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: 0 = 0 85.80/31.61 f_3769(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) -> f_3770(v128030, v128031, v128032, v128033, v128034, v128035, v128036, v128041, 1, v128042, 0, v128037, v128043, v128044, v128045, v128046, v128047, 3, 4) :|: TRUE 85.80/31.61 f_3770(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v142292, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3780(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v142292, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: TRUE 85.80/31.61 f_3780(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v142292, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3789(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3789(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3799(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 1 + v144861 = v142288 && 0 <= 1 + v144861 85.80/31.61 f_3799(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3811(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: TRUE 85.80/31.61 f_3811(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3826(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: TRUE 85.80/31.61 f_3826(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3838(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3838(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3850(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3850(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3861(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3861(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3875(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: TRUE 85.80/31.61 f_3875(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3886(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: TRUE 85.80/31.61 f_3886(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3896(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: v150851 != 0 85.80/31.61 f_3886(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3897(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: v150851 = 0 85.80/31.61 f_3896(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3905(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3905(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3918(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3918(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3591(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142290, v150851, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: TRUE 85.80/31.61 f_3897(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3906(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3906(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3919(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: 0 = 0 85.80/31.61 f_3919(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142293, v142294, v142295, v142296, v142297, 3, 4) -> f_3593(v142281, v142282, v142283, v142284, v142285, v142286, v142287, v142288, 1, v142290, 0, v144861, v142290, v142293, v142294, v142295, v142296, v142297, 3, 4) :|: TRUE 85.80/31.61 Combined rules. Obtained 6 rulesP rules: 85.80/31.61 f_3886(v142281:0, v142282:0, v142283:0, v142284:0, v142285:0, v142286:0, v142287:0, v142288:0, 1, v142290:0, 0, 1 + v144861:1, 0, v142293:0, v142294:0, v142295:0, v142296:0, v142297:0, 3, 4) -> f_3886(v142281:0, v142282:0, v142283:0, v142284:0, v142285:0, v142286:0, v142287:0, 1 + v144861:1, 1, v142290:0, 0, v144861:1, v150851:1, v142293:0, v142294:0, v142295:0, v142296:0, v142297:0, 3, 4) :|: v142288:0 > 0 && v144861:1 > -2 && v142286:0 > 0 85.80/31.61 f_3317(v106025:0, v106026:0, v106027:0, v106028:0, v106029:0, v106030:0, v106031:0, v106032:0, 1, v106034:0, 0, 1 + v144861:0, v106039:0, v106038:0, v106037:0, v106040:0, v106041:0, v106042:0, v106043:0, 3, 4) -> f_3886(v106025:0, v106026:0, v106027:0, v106028:0, v106029:0, v106030:0, v106031:0, 1 + v144861:0, 1, v106039:0, 0, v144861:0, v150851:0, v106037:0, v106040:0, v106041:0, v106042:0, v106043:0, 3, 4) :|: v106032:0 > 0 && v144861:0 > -2 && v106030:0 > 0 85.80/31.61 f_3886(v142281:0, v142282:0, v142283:0, v142284:0, v142285:0, v142286:0, v142287:0, v142288:0, 1, v142290:0, 0, v144861:0, v150851:0, v142293:0, v142294:0, v142295:0, v142296:0, v142297:0, 3, 4) -> f_3317(v142281:0, v142282:0, v142283:0, v142284:0, v142285:0, v142286:0, v142287:0, v142288:0, 1, v142290:0, 0, v144861:0, 1 + v142290:0, v150851:0, v142290:0, v142294:0, v142295:0, v142296:0, v142297:0, 3, 4) :|: v142290:0 > -1 && v142285:0 > 0 && v150851:0 < 0 && v142285:0 >= 1 + v142290:0 85.80/31.61 f_3886(v142281:0, v142282:0, v142283:0, v142284:0, v142285:0, v142286:0, v142287:0, v142288:0, 1, v142290:0, 0, v144861:0, v150851:0, v142293:0, v142294:0, v142295:0, v142296:0, v142297:0, 3, 4) -> f_3317(v142281:0, v142282:0, v142283:0, v142284:0, v142285:0, v142286:0, v142287:0, v142288:0, 1, v142290:0, 0, v144861:0, 1 + v142290:0, v150851:0, v142290:0, v142294:0, v142295:0, v142296:0, v142297:0, 3, 4) :|: v142290:0 > -1 && v142285:0 > 0 && v150851:0 > 0 && v142285:0 >= 1 + v142290:0 85.80/31.61 f_3317(v106025:0, v106026:0, v106027:0, v106028:0, v106029:0, v106030:0, v106031:0, v106032:0, 1, v106034:0, 0, v106036:0, v106039:0, v106038:0, v106037:0, v106040:0, v106041:0, v106042:0, v106043:0, 3, 4) -> f_3317(v106025:0, v106026:0, v106027:0, v106028:0, v106029:0, v106030:0, v106031:0, v106032:0, 1, v106034:0, 0, v106036:0, 1 + v106039:0, v114777:0, v106039:0, v106040:0, v106041:0, v106042:0, v106043:0, 3, 4) :|: v114777:0 < 0 && v106039:0 > -1 && v106029:0 >= 1 + v106039:0 && v106029:0 > 0 85.80/31.61 f_3317(v106025:0, v106026:0, v106027:0, v106028:0, v106029:0, v106030:0, v106031:0, v106032:0, 1, v106034:0, 0, v106036:0, v106039:0, v106038:0, v106037:0, v106040:0, v106041:0, v106042:0, v106043:0, 3, 4) -> f_3317(v106025:0, v106026:0, v106027:0, v106028:0, v106029:0, v106030:0, v106031:0, v106032:0, 1, v106034:0, 0, v106036:0, 1 + v106039:0, v114777:0, v106039:0, v106040:0, v106041:0, v106042:0, v106043:0, 3, 4) :|: v114777:0 > 0 && v106039:0 > -1 && v106029:0 >= 1 + v106039:0 && v106029:0 > 0 85.80/31.61 Filtered unneeded arguments: 85.80/31.61 f_3886(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) -> f_3886(x5, x6, x8, x10, x12, x13) 85.80/31.61 f_3317(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_3317(x5, x6, x8, x12, x13) 85.80/31.61 Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: 85.80/31.61 f_3886(v142285:0, v142286:0, v142288:0, v142290:0, sum~cons_1~v144861:1, cons_0) -> f_3886(v142285:0, v142286:0, 1 + v144861:1, v142290:0, v144861:1, v150851:1) :|: v144861:1 > -2 && v142286:0 > 0 && v142288:0 > 0 && sum~cons_1~v144861:1 = 1 + v144861:1 && cons_0 = 0 85.80/31.61 f_3317(v106029:0, v106030:0, v106032:0, sum~cons_1~v144861:0, v106039:0) -> f_3886(v106029:0, v106030:0, 1 + v144861:0, v106039:0, v144861:0, v150851:0) :|: v144861:0 > -2 && v106030:0 > 0 && v106032:0 > 0 && sum~cons_1~v144861:0 = 1 + v144861:0 85.80/31.61 f_3886(v142285:0, v142286:0, v142288:0, v142290:0, v144861:0, v150851:0) -> f_3317(v142285:0, v142286:0, v142288:0, v144861:0, 1 + v142290:0) :|: v142285:0 > 0 && v142290:0 > -1 && v142285:0 >= 1 + v142290:0 && v150851:0 < 0 85.80/31.61 f_3886(v142285:0, v142286:0, v142288:0, v142290:0, v144861:0, v150851:0) -> f_3317(v142285:0, v142286:0, v142288:0, v144861:0, 1 + v142290:0) :|: v142285:0 > 0 && v142290:0 > -1 && v142285:0 >= 1 + v142290:0 && v150851:0 > 0 85.80/31.61 f_3317(v106029:0, v106030:0, v106032:0, v106036:0, v106039:0) -> f_3317(v106029:0, v106030:0, v106032:0, v106036:0, 1 + v106039:0) :|: v106029:0 >= 1 + v106039:0 && v106029:0 > 0 && v106039:0 > -1 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (23) 85.80/31.61 Obligation: 85.80/31.61 Rules: 85.80/31.61 f_3886(v142285:0, v142286:0, v142288:0, v142290:0, sum~cons_1~v144861:1, cons_0) -> f_3886(v142285:0, v142286:0, 1 + v144861:1, v142290:0, v144861:1, v150851:1) :|: v144861:1 > -2 && v142286:0 > 0 && v142288:0 > 0 && sum~cons_1~v144861:1 = 1 + v144861:1 && cons_0 = 0 85.80/31.61 f_3317(v106029:0, v106030:0, v106032:0, sum~cons_1~v144861:0, v106039:0) -> f_3886(v106029:0, v106030:0, 1 + v144861:0, v106039:0, v144861:0, v150851:0) :|: v144861:0 > -2 && v106030:0 > 0 && v106032:0 > 0 && sum~cons_1~v144861:0 = 1 + v144861:0 85.80/31.61 f_3886(x, x1, x2, x3, x4, x5) -> f_3317(x, x1, x2, x4, 1 + x3) :|: x > 0 && x3 > -1 && x >= 1 + x3 && x5 < 0 85.80/31.61 f_3886(x6, x7, x8, x9, x10, x11) -> f_3317(x6, x7, x8, x10, 1 + x9) :|: x6 > 0 && x9 > -1 && x6 >= 1 + x9 && x11 > 0 85.80/31.61 f_3317(x12, x13, x14, x15, x16) -> f_3317(x12, x13, x14, x15, 1 + x16) :|: x12 >= 1 + x16 && x12 > 0 && x16 > -1 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (24) IRS2T2 (EQUIVALENT) 85.80/31.61 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.61 85.80/31.61 (f_3886_6,1) 85.80/31.61 (f_3317_6,2) 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (25) 85.80/31.61 Obligation: 85.80/31.61 START: 0; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX4 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX6 > -2 && oldX1 > 0 && oldX2 > 0 && oldX4 = 1 + oldX6 && oldX5 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX4 - 1; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX6 > -2 && oldX1 > 0 && oldX2 > 0 && oldX3 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX6; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := oldX3 - 1; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 assume(oldX0 > 0 && oldX3 > -1 && oldX0 >= 1 + oldX3 && oldX5 < 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := 1 + oldX3; 85.80/31.61 x5 := oldX6; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 assume(oldX0 > 0 && oldX3 > -1 && oldX0 >= 1 + oldX3 && oldX5 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX4; 85.80/31.61 x4 := 1 + oldX3; 85.80/31.61 x5 := oldX6; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 assume(oldX0 >= 1 + oldX4 && oldX0 > 0 && oldX4 > -1); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := 1 + oldX4; 85.80/31.61 x5 := oldX6; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (26) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 2, 5, 6, 7, 17, 20, 21 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 6: -1+3*x0-3*x3 85.80/31.61 RF for loc. 7: 1+3*x0-3*x4 85.80/31.61 RF for loc. 8: -1+3*x0-3*x3 85.80/31.61 RF for loc. 12: 3*x0-3*x4 85.80/31.61 Bound for (chained) transitions 21: 3 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 6: 4*x4 85.80/31.61 RF for loc. 7: -2+4*x3 85.80/31.61 RF for loc. 8: -1+4*x4 85.80/31.61 RF for loc. 12: -3+4*x3 85.80/31.61 Bound for (chained) transitions 20: -3 85.80/31.61 - Rank function 3: 85.80/31.61 RF for loc. 6: 0 85.80/31.61 RF for loc. 7: -1 85.80/31.61 RF for loc. 8: 0 85.80/31.61 RF for loc. 12: -2 85.80/31.61 Bound for (chained) transitions 6: 0 85.80/31.61 Bound for (chained) transitions 7: 0 85.80/31.61 Bound for (chained) transitions 17: -1 85.80/31.61 - Rank function 4: 85.80/31.61 RF for loc. 6: 2*x4 85.80/31.61 RF for loc. 8: -1+2*x4 85.80/31.61 Bound for (chained) transitions 5: -1 85.80/31.61 - Rank function 5: 85.80/31.61 RF for loc. 6: 0 85.80/31.61 RF for loc. 8: -1 85.80/31.61 Bound for (chained) transitions 2: 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (27) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (28) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (29) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 21 rulesP rules: 85.80/31.61 f_3106(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3124(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3124(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3141(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3141(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3161(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: TRUE 85.80/31.61 f_3161(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3179(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3179(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3196(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 1 + v104155 = v91431 && 0 <= 1 + v104155 85.80/31.61 f_3196(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3213(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: TRUE 85.80/31.61 f_3213(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3235(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: TRUE 85.80/31.61 f_3235(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3259(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3259(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3283(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3283(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3306(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3306(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_3333(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3333(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) -> f_2938(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v104155, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: TRUE 85.80/31.61 f_2938(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91427, 1, v91429, 0, v91431, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_2955(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91427, 1, v91429, 0, v91431, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: TRUE 85.80/31.61 f_2955(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91427, 1, v91429, 0, v91431, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_2975(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91427, 1, v91429, 0, v91431, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: TRUE 85.80/31.61 f_2975(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91427, 1, v91429, 0, v91431, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_2993(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: 0 = 0 85.80/31.61 f_2993(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_3014(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: 0 <= v91431 && 1 <= v91427 && 1 <= v91425 85.80/31.61 f_3014(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_3030(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: 0 = 0 85.80/31.61 f_3030(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_3049(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: TRUE 85.80/31.61 f_3049(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_3067(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: TRUE 85.80/31.61 f_3067(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91429, 0, v91427, v91432, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_3089(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 4) :|: 0 = 0 85.80/31.61 f_3089(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 4) -> f_3106(v91420, v91421, v91422, v91423, v91424, v91425, v91426, v91431, 1, v91432, 0, v91427, v91433, v91434, v91435, v91436, v91437, 3, 2, 4) :|: v91432 < 0 && 2 + v91424 <= 0 && 2 + v91426 <= 0 85.80/31.61 Combined rules. Obtained 1 rulesP rules: 85.80/31.61 f_3106(v91420:0, v91421:0, v91422:0, v91423:0, v91424:0, v91425:0, v91426:0, 1 + v104155:0, 1, v91432:0, 0, v91427:0, v91433:0, v91434:0, v91435:0, v91436:0, v91437:0, 3, 2, 4) -> f_3106(v91420:0, v91421:0, v91422:0, v91423:0, v91424:0, v91425:0, v91426:0, v104155:0, 1, v91432:0, 0, 1 + v104155:0, v91433:0, v91434:0, v91435:0, v91436:0, v91437:0, 3, 2, 4) :|: v104155:0 > -1 && v91425:0 > 0 && v91424:0 < -1 && v91426:0 < -1 && v91432:0 < 0 85.80/31.61 Filtered unneeded arguments: 85.80/31.61 f_3106(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) -> f_3106(x5, x6, x7, x8, x10) 85.80/31.61 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.61 f_3106(v91424:0, v91425:0, v91426:0, sum~cons_1~v104155:0, v91432:0) -> f_3106(v91424:0, v91425:0, v91426:0, v104155:0, v91432:0) :|: v91425:0 > 0 && v104155:0 > -1 && v91424:0 < -1 && v91432:0 < 0 && v91426:0 < -1 && sum~cons_1~v104155:0 = 1 + v104155:0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (30) 85.80/31.61 Obligation: 85.80/31.61 Rules: 85.80/31.61 f_3106(v91424:0, v91425:0, v91426:0, sum~cons_1~v104155:0, v91432:0) -> f_3106(v91424:0, v91425:0, v91426:0, v104155:0, v91432:0) :|: v91425:0 > 0 && v104155:0 > -1 && v91424:0 < -1 && v91432:0 < 0 && v91426:0 < -1 && sum~cons_1~v104155:0 = 1 + v104155:0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (31) IRS2T2 (EQUIVALENT) 85.80/31.61 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.61 85.80/31.61 (f_3106_5,1) 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (32) 85.80/31.61 Obligation: 85.80/31.61 START: 0; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := oldX3 - 1; 85.80/31.61 assume(oldX1 > 0 && oldX5 > -1 && oldX0 < -1 && oldX4 < 0 && oldX2 < -1 && oldX3 = 1 + oldX5); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := oldX4; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (33) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 5: 1+2*x3 85.80/31.61 RF for loc. 6: 2*x3 85.80/31.61 Bound for (chained) transitions 3: 2 85.80/31.61 Bound for (chained) transitions 4: 2 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 5: 0 85.80/31.61 RF for loc. 6: -1 85.80/31.61 Bound for (chained) transitions 1: 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (34) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (35) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (36) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 48 rulesP rules: 85.80/31.61 f_3224(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3247(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3247(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3271(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: TRUE 85.80/31.61 f_3271(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3295(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: TRUE 85.80/31.61 f_3295(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3320(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: v108667 != 0 85.80/31.61 f_3295(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3321(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: v108667 = 0 85.80/31.61 f_3320(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3344(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3344(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3368(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3368(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3080(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v108667, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: TRUE 85.80/31.61 f_3080(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v98472, v98473, v98474, v98475, v98476, 3, 4) -> f_3098(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v98472, v98473, v98474, v98475, v98476, 3, 4) :|: TRUE 85.80/31.61 f_3098(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v98472, v98473, v98474, v98475, v98476, 3, 4) -> f_3116(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3116(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v98473, v98474, v98475, v98476, 3, 4) -> f_3134(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v100399, v98473, v98474, v98475, v98476, 3, 4) :|: v100399 = 1 + v98470 85.80/31.61 f_3134(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v100399, v98473, v98474, v98475, v98476, 3, 4) -> f_3153(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v100399, v98473, v98474, v98475, v98476, 3, 4) :|: TRUE 85.80/31.61 f_3153(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v100399, v98473, v98474, v98475, v98476, 3, 4) -> f_3170(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v100399, v98473, v98474, v98475, v98476, 3, 4) :|: TRUE 85.80/31.61 f_3170(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v98470, v98471, v100399, v98473, v98474, v98475, v98476, 3, 4) -> f_3188(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3188(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3205(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3205(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3224(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98471, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: v100399 <= v98462 85.80/31.61 f_3321(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3345(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3345(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3369(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: 0 = 0 85.80/31.61 f_3369(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98470, v98473, v98474, v98475, v98476, 3, 4) -> f_3082(v98458, v98459, v98460, v98461, v98462, v98463, v98464, v98465, 1, v98467, 0, v98469, v100399, v98470, v98473, v98474, v98475, v98476, 3, 4) :|: TRUE 85.80/31.61 f_3082(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98775, 1, v98777, 0, v98779, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3099(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98775, 1, v98777, 0, v98779, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: TRUE 85.80/31.61 f_3099(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98775, 1, v98777, 0, v98779, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3117(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98775, 1, v98777, 0, v98779, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: TRUE 85.80/31.61 f_3117(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98775, 1, v98777, 0, v98779, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3135(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: 0 = 0 85.80/31.61 f_3135(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3154(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: 0 <= v98779 && 1 <= v98775 && 1 <= v98773 85.80/31.61 f_3154(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3171(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: 0 = 0 85.80/31.61 f_3171(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3189(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: TRUE 85.80/31.61 f_3189(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3206(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: TRUE 85.80/31.61 f_3206(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98777, 0, v98775, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3226(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: 0 = 0 85.80/31.61 f_3226(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 4) -> f_3250(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: v98780 < 0 && 2 + v98781 <= 0 && 2 + v98774 <= 0 85.80/31.61 f_3250(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3274(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3274(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3297(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3297(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3323(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: TRUE 85.80/31.61 f_3323(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98775, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3348(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3348(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3372(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 1 + v113643 = v98779 && 0 <= 1 + v113643 85.80/31.61 f_3372(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3393(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: TRUE 85.80/31.61 f_3393(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3412(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: TRUE 85.80/31.61 f_3412(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3430(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3430(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3446(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3446(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3462(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3462(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3478(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: TRUE 85.80/31.61 f_3478(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3490(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: TRUE 85.80/31.61 f_3490(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3503(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: v122465 != 0 85.80/31.61 f_3490(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3504(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: v122465 = 0 85.80/31.61 f_3503(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3519(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3519(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3536(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3536(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v122465, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3080(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98780, v122465, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: TRUE 85.80/31.61 f_3504(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3520(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3520(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3537(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_3537(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98781, v98782, v98783, v98784, v98785, 3, 2, 4) -> f_3082(v98768, v98769, v98770, v98771, v98772, v98773, v98774, v98779, 1, v98780, 0, v113643, v98780, v98781, v98782, v98783, v98784, v98785, 3, 4) :|: TRUE 85.80/31.61 Combined rules. Obtained 6 rulesP rules: 85.80/31.61 f_3490(v98768:0, v98769:0, v98770:0, v98771:0, v98772:0, v98773:0, v98774:0, v98779:0, 1, v98780:0, 0, 1 + v113643:1, 0, v98781:0, v98782:0, v98783:0, v98784:0, v98785:0, 3, 2, 4) -> f_3490(v98768:0, v98769:0, v98770:0, v98771:0, v98772:0, v98773:0, v98774:0, 1 + v113643:1, 1, v98780:0, 0, v113643:1, v122465:1, v98781:0, v98782:0, v98783:0, v98784:0, v98785:0, 3, 2, 4) :|: v98779:0 > 0 && v113643:1 > -2 && v98773:0 > 0 && v98781:0 < -1 && v98780:0 < 0 && v98774:0 < -1 85.80/31.61 f_3224(v98458:0, v98459:0, v98460:0, v98461:0, v98462:0, v98463:0, v98464:0, v98465:0, 1, v98467:0, 0, 1 + v113643:0, v100399:0, v98471:0, v98470:0, v98473:0, v98474:0, v98475:0, v98476:0, 3, 4) -> f_3490(v98458:0, v98459:0, v98460:0, v98461:0, v98462:0, v98463:0, v98464:0, 1 + v113643:0, 1, v100399:0, 0, v113643:0, v122465:0, v98470:0, v98473:0, v98474:0, v98475:0, v98476:0, 3, 2, 4) :|: v98465:0 > 0 && v113643:0 > -2 && v98463:0 > 0 && v98470:0 < -1 && v100399:0 < 0 && v98464:0 < -1 85.80/31.61 f_3490(v98768:0, v98769:0, v98770:0, v98771:0, v98772:0, v98773:0, v98774:0, v98779:0, 1, v98780:0, 0, v113643:0, v122465:0, v98781:0, v98782:0, v98783:0, v98784:0, v98785:0, 3, 2, 4) -> f_3224(v98768:0, v98769:0, v98770:0, v98771:0, v98772:0, v98773:0, v98774:0, v98779:0, 1, v98780:0, 0, v113643:0, 1 + v98780:0, v122465:0, v98780:0, v98782:0, v98783:0, v98784:0, v98785:0, 3, 4) :|: v98772:0 >= 1 + v98780:0 && v122465:0 < 0 85.80/31.61 f_3490(v98768:0, v98769:0, v98770:0, v98771:0, v98772:0, v98773:0, v98774:0, v98779:0, 1, v98780:0, 0, v113643:0, v122465:0, v98781:0, v98782:0, v98783:0, v98784:0, v98785:0, 3, 2, 4) -> f_3224(v98768:0, v98769:0, v98770:0, v98771:0, v98772:0, v98773:0, v98774:0, v98779:0, 1, v98780:0, 0, v113643:0, 1 + v98780:0, v122465:0, v98780:0, v98782:0, v98783:0, v98784:0, v98785:0, 3, 4) :|: v98772:0 >= 1 + v98780:0 && v122465:0 > 0 85.80/31.61 f_3224(v98458:0, v98459:0, v98460:0, v98461:0, v98462:0, v98463:0, v98464:0, v98465:0, 1, v98467:0, 0, v98469:0, v100399:0, v98471:0, v98470:0, v98473:0, v98474:0, v98475:0, v98476:0, 3, 4) -> f_3224(v98458:0, v98459:0, v98460:0, v98461:0, v98462:0, v98463:0, v98464:0, v98465:0, 1, v98467:0, 0, v98469:0, 1 + v100399:0, v108667:0, v100399:0, v98473:0, v98474:0, v98475:0, v98476:0, 3, 4) :|: v98462:0 >= 1 + v100399:0 && v108667:0 < 0 85.80/31.61 f_3224(v98458:0, v98459:0, v98460:0, v98461:0, v98462:0, v98463:0, v98464:0, v98465:0, 1, v98467:0, 0, v98469:0, v100399:0, v98471:0, v98470:0, v98473:0, v98474:0, v98475:0, v98476:0, 3, 4) -> f_3224(v98458:0, v98459:0, v98460:0, v98461:0, v98462:0, v98463:0, v98464:0, v98465:0, 1, v98467:0, 0, v98469:0, 1 + v100399:0, v108667:0, v100399:0, v98473:0, v98474:0, v98475:0, v98476:0, 3, 4) :|: v98462:0 >= 1 + v100399:0 && v108667:0 > 0 85.80/31.61 Filtered unneeded arguments: 85.80/31.61 f_3490(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_3490(x5, x6, x7, x8, x10, x12, x13, x14) 85.80/31.61 f_3224(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_3224(x5, x6, x7, x8, x12, x13, x15) 85.80/31.61 Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: 85.80/31.61 f_3490(v98772:0, v98773:0, v98774:0, v98779:0, v98780:0, sum~cons_1~v113643:1, cons_0, v98781:0) -> f_3490(v98772:0, v98773:0, v98774:0, 1 + v113643:1, v98780:0, v113643:1, v122465:1, v98781:0) :|: v113643:1 > -2 && v98779:0 > 0 && v98773:0 > 0 && v98781:0 < -1 && v98774:0 < -1 && v98780:0 < 0 && sum~cons_1~v113643:1 = 1 + v113643:1 && cons_0 = 0 85.80/31.61 f_3224(v98462:0, v98463:0, v98464:0, v98465:0, sum~cons_1~v113643:0, v100399:0, v98470:0) -> f_3490(v98462:0, v98463:0, v98464:0, 1 + v113643:0, v100399:0, v113643:0, v122465:0, v98470:0) :|: v113643:0 > -2 && v98465:0 > 0 && v98463:0 > 0 && v98470:0 < -1 && v98464:0 < -1 && v100399:0 < 0 && sum~cons_1~v113643:0 = 1 + v113643:0 85.80/31.61 f_3490(v98772:0, v98773:0, v98774:0, v98779:0, v98780:0, v113643:0, v122465:0, v98781:0) -> f_3224(v98772:0, v98773:0, v98774:0, v98779:0, v113643:0, 1 + v98780:0, v98780:0) :|: v98772:0 >= 1 + v98780:0 && v122465:0 < 0 85.80/31.61 f_3490(v98772:0, v98773:0, v98774:0, v98779:0, v98780:0, v113643:0, v122465:0, v98781:0) -> f_3224(v98772:0, v98773:0, v98774:0, v98779:0, v113643:0, 1 + v98780:0, v98780:0) :|: v98772:0 >= 1 + v98780:0 && v122465:0 > 0 85.80/31.61 f_3224(v98462:0, v98463:0, v98464:0, v98465:0, v98469:0, v100399:0, v98470:0) -> f_3224(v98462:0, v98463:0, v98464:0, v98465:0, v98469:0, 1 + v100399:0, v100399:0) :|: v98462:0 >= 1 + v100399:0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (37) 85.80/31.61 Obligation: 85.80/31.61 Rules: 85.80/31.61 f_3490(v98772:0, v98773:0, v98774:0, v98779:0, v98780:0, sum~cons_1~v113643:1, cons_0, v98781:0) -> f_3490(v98772:0, v98773:0, v98774:0, 1 + v113643:1, v98780:0, v113643:1, v122465:1, v98781:0) :|: v113643:1 > -2 && v98779:0 > 0 && v98773:0 > 0 && v98781:0 < -1 && v98774:0 < -1 && v98780:0 < 0 && sum~cons_1~v113643:1 = 1 + v113643:1 && cons_0 = 0 85.80/31.61 f_3224(v98462:0, v98463:0, v98464:0, v98465:0, sum~cons_1~v113643:0, v100399:0, v98470:0) -> f_3490(v98462:0, v98463:0, v98464:0, 1 + v113643:0, v100399:0, v113643:0, v122465:0, v98470:0) :|: v113643:0 > -2 && v98465:0 > 0 && v98463:0 > 0 && v98470:0 < -1 && v98464:0 < -1 && v100399:0 < 0 && sum~cons_1~v113643:0 = 1 + v113643:0 85.80/31.61 f_3490(x, x1, x2, x3, x4, x5, x6, x7) -> f_3224(x, x1, x2, x3, x5, 1 + x4, x4) :|: x >= 1 + x4 && x6 < 0 85.80/31.61 f_3490(x8, x9, x10, x11, x12, x13, x14, x15) -> f_3224(x8, x9, x10, x11, x13, 1 + x12, x12) :|: x8 >= 1 + x12 && x14 > 0 85.80/31.61 f_3224(x16, x17, x18, x19, x20, x21, x22) -> f_3224(x16, x17, x18, x19, x20, 1 + x21, x21) :|: x16 >= 1 + x21 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (38) IRS2T2 (EQUIVALENT) 85.80/31.61 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.61 85.80/31.61 (f_3490_8,1) 85.80/31.61 (f_3224_8,2) 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (39) 85.80/31.61 Obligation: 85.80/31.61 START: 0; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := x6; 85.80/31.61 oldX7 := x7; 85.80/31.61 oldX8 := oldX5 - 1; 85.80/31.61 oldX9 := nondet(); 85.80/31.61 assume(oldX8 > -2 && oldX3 > 0 && oldX1 > 0 && oldX7 < -1 && oldX2 < -1 && oldX4 < 0 && oldX5 = 1 + oldX8 && oldX6 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := 1 + oldX8; 85.80/31.61 x4 := oldX4; 85.80/31.61 x5 := oldX5 - 1; 85.80/31.61 x6 := oldX9; 85.80/31.61 x7 := oldX7; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := x6; 85.80/31.61 oldX7 := x7; 85.80/31.61 oldX8 := oldX4 - 1; 85.80/31.61 oldX9 := nondet(); 85.80/31.61 assume(oldX8 > -2 && oldX3 > 0 && oldX1 > 0 && oldX6 < -1 && oldX2 < -1 && oldX5 < 0 && oldX4 = 1 + oldX8); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := 1 + oldX8; 85.80/31.61 x4 := oldX5; 85.80/31.61 x5 := oldX4 - 1; 85.80/31.61 x6 := oldX9; 85.80/31.61 x7 := oldX6; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := x6; 85.80/31.61 oldX7 := x7; 85.80/31.61 oldX8 := nondet(); 85.80/31.61 assume(oldX0 >= 1 + oldX4 && oldX6 < 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX5; 85.80/31.61 x5 := 1 + oldX4; 85.80/31.61 x6 := oldX4; 85.80/31.61 x7 := oldX8; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := x6; 85.80/31.61 oldX7 := x7; 85.80/31.61 oldX8 := nondet(); 85.80/31.61 assume(oldX0 >= 1 + oldX4 && oldX6 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX5; 85.80/31.61 x5 := 1 + oldX4; 85.80/31.61 x6 := oldX4; 85.80/31.61 x7 := oldX8; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := x6; 85.80/31.61 oldX7 := x7; 85.80/31.61 oldX8 := nondet(); 85.80/31.61 assume(oldX0 >= 1 + oldX5); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX4; 85.80/31.61 x5 := 1 + oldX5; 85.80/31.61 x6 := oldX5; 85.80/31.61 x7 := oldX8; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (40) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 2, 5, 6, 7, 17, 20, 21 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 6: -1+2*x0-2*x4 85.80/31.61 RF for loc. 7: 1+2*x0-2*x5 85.80/31.61 RF for loc. 8: -1+2*x0-2*x4 85.80/31.61 RF for loc. 12: 2*x0-2*x5 85.80/31.61 Bound for (chained) transitions 21: 2 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 6: -x4+3*x5 85.80/31.61 RF for loc. 7: -1+3*x4-x5 85.80/31.61 RF for loc. 8: -1-x4+3*x5 85.80/31.61 RF for loc. 12: -2+3*x4-x5 85.80/31.61 Bound for (chained) transitions 20: -1 85.80/31.61 - Rank function 3: 85.80/31.61 RF for loc. 6: 0 85.80/31.61 RF for loc. 7: -1 85.80/31.61 RF for loc. 8: 0 85.80/31.61 RF for loc. 12: -2 85.80/31.61 Bound for (chained) transitions 6: 0 85.80/31.61 Bound for (chained) transitions 7: 0 85.80/31.61 Bound for (chained) transitions 17: -1 85.80/31.61 - Rank function 4: 85.80/31.61 RF for loc. 6: 1+2*x5 85.80/31.61 RF for loc. 8: 2*x5 85.80/31.61 Bound for (chained) transitions 5: 0 85.80/31.61 - Rank function 5: 85.80/31.61 RF for loc. 6: 0 85.80/31.61 RF for loc. 8: -1 85.80/31.61 Bound for (chained) transitions 2: 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (41) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (42) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (43) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 26 rulesP rules: 85.80/31.61 f_1982(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) -> f_2003(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: 0 = 0 85.80/31.61 f_2003(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) -> f_2025(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: 0 = 0 85.80/31.61 f_2025(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) -> f_1582(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: TRUE 85.80/31.61 f_1582(v29388, v29389, v29390, v29391, v29392, v29393, v29394, v29395, 1, -1, 0, v29399, v29400, v29401, v29402, v29403, v29404, 3, 4) -> f_1599(v29388, v29389, v29390, v29391, v29392, v29393, v29394, v29395, 1, -1, 0, v29399, v29400, v29401, v29402, v29403, v29404, 3, 4) :|: TRUE 85.80/31.61 f_1599(v29388, v29389, v29390, v29391, v29392, v29393, v29394, v29395, 1, -1, 0, v29399, v29400, v29401, v29402, v29403, v29404, 3, 4) -> f_1600(v29388, v29389, v29390, v29391, v29392, v29393, v29394, v29395, 1, -1, 0, v29399, v29400, v29401, v29402, v29403, v29404, 3, 4) :|: TRUE 85.80/31.61 f_1600(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29916, 1, -1, 0, v29920, v29921, v29922, v29923, v29924, v29925, 3, 4) -> f_1614(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29916, 1, -1, 0, v29920, v29921, v29922, v29923, v29924, v29925, 3, 4) :|: TRUE 85.80/31.61 f_1614(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29916, 1, -1, 0, v29920, v29921, v29922, v29923, v29924, v29925, 3, 4) -> f_1631(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: 0 = 0 85.80/31.61 f_1631(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1652(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: 0 <= v29921 && 1 <= v29916 && 1 <= v29914 85.80/31.61 f_1652(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1677(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: 0 = 0 85.80/31.61 f_1677(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1699(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: TRUE 85.80/31.61 f_1699(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1718(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: TRUE 85.80/31.61 f_1718(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1737(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: 0 = 0 85.80/31.61 f_1737(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1757(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: 0 = 0 85.80/31.61 f_1757(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1777(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: 0 = 0 85.80/31.61 f_1777(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1798(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) :|: TRUE 85.80/31.61 f_1798(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29916, v29922, v29923, v29924, v29925, 3, 4) -> f_1815(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29922, v29923, v29924, v29925, 3, 4) :|: 0 = 0 85.80/31.61 f_1815(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v29922, v29923, v29924, v29925, 3, 4) -> f_1833(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v37813, v29922, v29923, v29924, v29925, 3, 4) :|: 1 + v37813 = v29921 && 0 <= 1 + v37813 85.80/31.61 f_1833(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v37813, v29922, v29923, v29924, v29925, 3, 4) -> f_1851(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v37813, v29922, v29923, v29924, v29925, 3, 4) :|: TRUE 85.80/31.61 f_1851(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v37813, v29922, v29923, v29924, v29925, 3, 4) -> f_1868(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v37813, v29922, v29923, v29924, v29925, 3, 4) :|: TRUE 85.80/31.61 f_1868(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v37813, v29922, v29923, v29924, v29925, 3, 4) -> f_1869(v29909, v29910, v29911, v29912, v29913, v29914, v29915, v29921, 1, -1, 0, v29920, v37813, -1, v29922, v29923, v29924, v29925, 3, 4) :|: TRUE 85.80/31.61 f_1869(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39448, v39449, v39450, v39451, v39452, 3, 4) -> f_1885(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: 0 = 0 85.80/31.61 f_1885(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) -> f_1903(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: 0 = 0 85.80/31.61 f_1903(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) -> f_1923(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: 0 = 0 85.80/31.61 f_1923(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) -> f_1943(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: TRUE 85.80/31.61 f_1943(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) -> f_1961(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v42743, v39449, v39450, v39451, v39452, 3, 4) :|: TRUE 85.80/31.61 f_1961(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v42743, v39449, v39450, v39451, v39452, 3, 4) -> f_1982(v39435, v39436, v39437, v39438, v39439, v39440, v39441, v39442, 1, -1, 0, v39446, v39447, v39449, v39450, v39451, v39452, 3, 4) :|: v42743 = 0 85.80/31.61 Combined rules. Obtained 1 rulesP rules: 85.80/31.61 f_1982(v39435:0, v39436:0, v39437:0, v39438:0, v39439:0, v39440:0, v39441:0, v39442:0, 1, -1, 0, v39446:0, 1 + v37813:0, v39449:0, v39450:0, v39451:0, v39452:0, 3, 4) -> f_1982(v39435:0, v39436:0, v39437:0, v39438:0, v39439:0, v39440:0, v39441:0, 1 + v37813:0, 1, -1, 0, v39446:0, v37813:0, v39449:0, v39450:0, v39451:0, v39452:0, 3, 4) :|: v39442:0 > 0 && v37813:0 > -2 && v39440:0 > 0 85.80/31.61 Filtered unneeded arguments: 85.80/31.61 f_1982(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) -> f_1982(x6, x8, x13) 85.80/31.61 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.61 f_1982(v39440:0, v39442:0, sum~cons_1~v37813:0) -> f_1982(v39440:0, 1 + v37813:0, v37813:0) :|: v37813:0 > -2 && v39440:0 > 0 && v39442:0 > 0 && sum~cons_1~v37813:0 = 1 + v37813:0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (44) 85.80/31.61 Obligation: 85.80/31.61 Rules: 85.80/31.61 f_1982(v39440:0, v39442:0, sum~cons_1~v37813:0) -> f_1982(v39440:0, 1 + v37813:0, v37813:0) :|: v37813:0 > -2 && v39440:0 > 0 && v39442:0 > 0 && sum~cons_1~v37813:0 = 1 + v37813:0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (45) IRS2T2 (EQUIVALENT) 85.80/31.61 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.61 85.80/31.61 (f_1982_3,1) 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (46) 85.80/31.61 Obligation: 85.80/31.61 START: 0; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := oldX2 - 1; 85.80/31.61 assume(oldX3 > -2 && oldX0 > 0 && oldX1 > 0 && oldX2 = 1 + oldX3); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := 1 + oldX3; 85.80/31.61 x2 := oldX2 - 1; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (47) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 5: 1+2*x2 85.80/31.61 RF for loc. 6: 2*x2 85.80/31.61 Bound for (chained) transitions 4: 0 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 5: 1+2*x2 85.80/31.61 RF for loc. 6: 2*x2 85.80/31.61 Bound for (chained) transitions 3: 0 85.80/31.61 - Rank function 3: 85.80/31.61 RF for loc. 5: 1 85.80/31.61 RF for loc. 6: 0 85.80/31.61 Bound for (chained) transitions 1: 1 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (48) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (49) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (50) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 21 rulesP rules: 85.80/31.61 f_1828(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1845(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1845(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1862(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1862(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1879(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) :|: TRUE 85.80/31.61 f_1879(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1897(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) :|: TRUE 85.80/31.61 f_1897(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1916(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1916(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1937(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 <= v34763 && 1 <= v31578 && 2 <= v31576 85.80/31.61 f_1937(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1956(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1956(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1976(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: TRUE 85.80/31.61 f_1976(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1997(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: TRUE 85.80/31.61 f_1997(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_2019(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_2019(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_2040(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_2040(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_2061(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_2061(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, v31585, v31586, v31587, v31588, 3, 2, 4) -> f_1673(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v34763, 1, -1, 0, v31582, v31578, -1, v31585, v31586, v31587, v31588, 3, 4) :|: TRUE 85.80/31.61 f_1673(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v31583, v31584, v31585, v31586, v31587, v31588, 3, 4) -> f_1696(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v31583, v31584, v31585, v31586, v31587, v31588, 3, 4) :|: TRUE 85.80/31.61 f_1696(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v31583, v31584, v31585, v31586, v31587, v31588, 3, 4) -> f_1715(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v31584, v31585, v31586, v31587, v31588, 3, 4) :|: 0 = 0 85.80/31.61 f_1715(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v31584, v31585, v31586, v31587, v31588, 3, 4) -> f_1733(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31584, v31585, v31586, v31587, v31588, 3, 4) :|: 1 + v34763 = v31578 && 0 <= 1 + v34763 85.80/31.61 f_1733(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31584, v31585, v31586, v31587, v31588, 3, 4) -> f_1752(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31584, v31585, v31586, v31587, v31588, 3, 4) :|: TRUE 85.80/31.61 f_1752(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31584, v31585, v31586, v31587, v31588, 3, 4) -> f_1772(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31584, v31585, v31586, v31587, v31588, 3, 4) :|: TRUE 85.80/31.61 f_1772(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31584, v31585, v31586, v31587, v31588, 3, 4) -> f_1793(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 4) :|: 0 = 0 85.80/31.61 f_1793(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 4) -> f_1810(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 4) :|: 0 = 0 85.80/31.61 f_1810(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 4) -> f_1828(v31571, v31572, v31573, v31574, v31575, v31576, v31577, v31578, 1, -1, 0, v31582, v34763, v31585, v31586, v31587, v31588, 3, 2, 4) :|: 1 + v31575 < 0 && 2 + v31575 <= 0 85.80/31.61 Combined rules. Obtained 1 rulesP rules: 85.80/31.61 f_1828(v31571:0, v31572:0, v31573:0, v31574:0, v31575:0, v31576:0, v31577:0, v31578:0, 1, -1, 0, v31582:0, 1 + v34763:1, v31585:0, v31586:0, v31587:0, v31588:0, 3, 2, 4) -> f_1828(v31571:0, v31572:0, v31573:0, v31574:0, v31575:0, v31576:0, v31577:0, 1 + v34763:1, 1, -1, 0, v31582:0, v34763:1, v31585:0, v31586:0, v31587:0, v31588:0, 3, 2, 4) :|: v31578:0 > 0 && v34763:1 > -2 && v31576:0 > 1 && v31575:0 < -1 85.80/31.61 Filtered unneeded arguments: 85.80/31.61 f_1828(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) -> f_1828(x5, x6, x8, x13) 85.80/31.61 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.61 f_1828(v31575:0, v31576:0, v31578:0, sum~cons_1~v34763:1) -> f_1828(v31575:0, v31576:0, 1 + v34763:1, v34763:1) :|: v34763:1 > -2 && v31578:0 > 0 && v31575:0 < -1 && v31576:0 > 1 && sum~cons_1~v34763:1 = 1 + v34763:1 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (51) 85.80/31.61 Obligation: 85.80/31.61 Rules: 85.80/31.61 f_1828(v31575:0, v31576:0, v31578:0, sum~cons_1~v34763:1) -> f_1828(v31575:0, v31576:0, 1 + v34763:1, v34763:1) :|: v34763:1 > -2 && v31578:0 > 0 && v31575:0 < -1 && v31576:0 > 1 && sum~cons_1~v34763:1 = 1 + v34763:1 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (52) IRS2T2 (EQUIVALENT) 85.80/31.61 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.61 85.80/31.61 (f_1828_4,1) 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (53) 85.80/31.61 Obligation: 85.80/31.61 START: 0; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := oldX3 - 1; 85.80/31.61 assume(oldX4 > -2 && oldX2 > 0 && oldX0 < -1 && oldX1 > 1 && oldX3 = 1 + oldX4); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := 1 + oldX4; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (54) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 5: 1+2*x3 85.80/31.61 RF for loc. 6: 2*x3 85.80/31.61 Bound for (chained) transitions 3: 0 85.80/31.61 Bound for (chained) transitions 4: 0 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 5: 0 85.80/31.61 RF for loc. 6: -1 85.80/31.61 Bound for (chained) transitions 1: 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (55) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (56) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (57) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 51 rulesP rules: 85.80/31.61 f_1132(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v14250, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) -> f_1153(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) :|: 0 = 0 85.80/31.61 f_1153(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) -> f_1178(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v16206, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) :|: 1 + v16206 = v14248 && 0 <= 1 + v16206 85.80/31.61 f_1178(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v16206, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) -> f_1202(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v16206, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) :|: TRUE 85.80/31.61 f_1202(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v16206, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) -> f_1223(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v16206, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) :|: TRUE 85.80/31.61 f_1223(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v16206, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) -> f_1532(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v16206, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) :|: TRUE 85.80/31.61 f_1532(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28203, v28204, v28205, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1549(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: 0 = 0 85.80/31.61 f_1549(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1569(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: 0 <= v28205 && 1 <= v28203 && 1 <= v28198 && 1 <= v28200 85.80/31.61 f_1569(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1588(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: 0 = 0 85.80/31.61 f_1588(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1606(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: TRUE 85.80/31.61 f_1606(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v28204, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1620(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: TRUE 85.80/31.61 f_1620(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1639(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: v30840 != 0 85.80/31.61 f_1620(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1640(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, 0, v28203, v28206, v28207, v28209, v28210, v28211, v28212, 3, 4) :|: v30840 = 0 85.80/31.61 f_1639(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1662(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: 0 = 0 85.80/31.61 f_1662(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1688(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: 0 = 0 85.80/31.61 f_1688(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) -> f_1108(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, v30840, v28203, v28206, v28207, 0, v28209, v28210, v28211, v28212, 3, 4) :|: TRUE 85.80/31.61 f_1108(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v14250, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) -> f_1132(v14239, v14240, v14241, v14242, v14243, v14244, v14245, v14246, 1, v14248, v14249, v14250, v14251, v14252, 0, v14254, v14255, v14256, v14257, 3, 4) :|: TRUE 85.80/31.61 f_1640(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, 0, v28203, v28206, v28207, v28209, v28210, v28211, v28212, 3, 4) -> f_1663(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, 0, v28203, v28206, v28207, v28209, v28210, v28211, v28212, 3, 4) :|: 0 = 0 85.80/31.61 f_1663(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, 0, v28203, v28206, v28207, v28209, v28210, v28211, v28212, 3, 4) -> f_1689(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, 0, v28203, v28206, v28207, v28209, v28210, v28211, v28212, 3, 4) :|: 0 = 0 85.80/31.61 f_1689(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, 0, v28203, v28206, v28207, v28209, v28210, v28211, v28212, 3, 4) -> f_1110(v28194, v28195, v28196, v28197, v28198, v28199, v28200, v28201, 1, v28205, 0, v28203, v28206, v28207, v28209, v28210, v28211, v28212, 3, 4) :|: TRUE 85.80/31.61 f_1110(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v14424, v14425, v14426, v14427, v14428, v14429, 3, 4) -> f_1133(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v14424, v14425, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1133(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v14424, v14425, v14426, v14427, v14428, v14429, 3, 4) -> f_1154(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v14425, v14426, v14427, v14428, v14429, 3, 4) :|: 0 = 0 85.80/31.61 f_1154(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v14425, v14426, v14427, v14428, v14429, 3, 4) -> f_1179(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14425, v14426, v14427, v14428, v14429, 3, 4) :|: 1 + v16207 = v14419 && 0 <= 1 + v16207 85.80/31.61 f_1179(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14425, v14426, v14427, v14428, v14429, 3, 4) -> f_1203(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14425, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1203(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14425, v14426, v14427, v14428, v14429, 3, 4) -> f_1224(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14425, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1224(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14425, v14426, v14427, v14428, v14429, 3, 4) -> f_1243(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: 0 = 0 85.80/31.61 f_1243(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1267(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: 0 = 0 85.80/31.61 f_1267(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1288(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: 0 = 0 85.80/31.61 f_1288(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1309(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1309(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1328(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v19573, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1328(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v19573, v14426, v14427, v14428, v14429, 3, 4) -> f_1350(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: v19573 = 0 85.80/31.61 f_1350(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1372(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: 0 = 0 85.80/31.61 f_1372(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1393(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: 0 = 0 85.80/31.61 f_1393(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1412(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1412(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1434(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1434(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v14419, 1, v14421, 0, v14423, v16207, v14426, v14427, v14428, v14429, 3, 4) -> f_1456(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 4) :|: 0 = 0 85.80/31.61 f_1456(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 4) -> f_1481(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 <= v16207 && 1 <= v14419 && 2 <= v14417 85.80/31.61 f_1481(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1505(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1505(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1527(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: TRUE 85.80/31.61 f_1527(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1547(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: TRUE 85.80/31.61 f_1547(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1567(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1567(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1585(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1585(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1603(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: TRUE 85.80/31.61 f_1603(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1617(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: TRUE 85.80/31.61 f_1617(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1635(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: v30672 != 0 85.80/31.61 f_1617(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1636(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: v30672 = 0 85.80/31.61 f_1635(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1657(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1657(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1683(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, v14423, v14419, 0, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1683(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, v14423, v14419, 0, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1108(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, v30672, v14423, v14419, v14421, 0, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 f_1636(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1658(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1658(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1684(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) :|: 0 = 0 85.80/31.61 f_1684(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14426, v14427, v14428, v14429, 3, 2, 4) -> f_1110(v14412, v14413, v14414, v14415, v14416, v14417, v14418, v16207, 1, v14421, 0, v14423, v14419, v14421, v14426, v14427, v14428, v14429, 3, 4) :|: TRUE 85.80/31.61 Combined rules. Obtained 6 rulesP rules: 85.80/31.61 f_1132(v14239:0, v14240:0, v14241:0, v14242:0, v14243:0, v14244:0, v14245:0, v14246:0, 1, 1 + v16206:0, v14249:0, v14250:0, v14251:0, v14252:0, 0, v14254:0, v14255:0, v14256:0, v14257:0, 3, 4) -> f_1132(v14239:0, v14240:0, v14241:0, v14242:0, v14243:0, v14244:0, v14245:0, v14246:0, 1, v16206:0, v30840:0, 1 + v16206:0, v14251:0, v14252:0, 0, v14254:0, v14255:0, v14256:0, v14257:0, 3, 4) :|: v16206:0 > -1 && v14243:0 > 0 && v30840:0 < 0 && v14245:0 > 0 85.80/31.61 f_1132(v14239:0, v14240:0, v14241:0, v14242:0, v14243:0, v14244:0, v14245:0, v14246:0, 1, 1 + v16206:0, v14249:0, v14250:0, v14251:0, v14252:0, 0, v14254:0, v14255:0, v14256:0, v14257:0, 3, 4) -> f_1132(v14239:0, v14240:0, v14241:0, v14242:0, v14243:0, v14244:0, v14245:0, v14246:0, 1, v16206:0, v30840:0, 1 + v16206:0, v14251:0, v14252:0, 0, v14254:0, v14255:0, v14256:0, v14257:0, 3, 4) :|: v16206:0 > -1 && v14243:0 > 0 && v30840:0 > 0 && v14245:0 > 0 85.80/31.61 f_1132(v14239:0, v14240:0, v14241:0, v14242:0, v14243:0, v14244:0, v14245:0, 1 + v16207:0, 1, 1 + v16206:0, v14249:0, v14250:0, v14251:0, v14252:0, 0, v14254:0, v14255:0, v14256:0, v14257:0, 3, 4) -> f_1617(v14239:0, v14240:0, v14241:0, v14242:0, v14243:0, v14244:0, v14245:0, v16207:0, 1, v16206:0, v30672:0, 0, 1 + v16206:0, 1 + v16207:0, v14254:0, v14255:0, v14256:0, v14257:0, 3, 2, 4) :|: v16206:0 > -1 && v16207:0 > -1 && v14243:0 > 0 && v14245:0 > 0 && v14244:0 > 1 85.80/31.61 f_1617(v14412:0, v14413:0, v14414:0, v14415:0, v14416:0, v14417:0, v14418:0, 1 + v16207:1, 1, v14421:0, 0, 0, v14423:0, v14419:0, v14426:0, v14427:0, v14428:0, v14429:0, 3, 2, 4) -> f_1617(v14412:0, v14413:0, v14414:0, v14415:0, v14416:0, v14417:0, v14418:0, v16207:1, 1, v14421:0, v30672:1, 0, v14423:0, 1 + v16207:1, v14426:0, v14427:0, v14428:0, v14429:0, 3, 2, 4) :|: v16207:1 > -1 && v14417:0 > 1 85.80/31.61 f_1617(v14412:0, v14413:0, v14414:0, v14415:0, v14416:0, v14417:0, v14418:0, v16207:0, 1, v14421:0, v30672:0, 0, v14423:0, v14419:0, v14426:0, v14427:0, v14428:0, v14429:0, 3, 2, 4) -> f_1132(v14412:0, v14413:0, v14414:0, v14415:0, v14416:0, v14417:0, v14418:0, v16207:0, 1, v14421:0, v30672:0, v14423:0, v14419:0, v14421:0, 0, v14426:0, v14427:0, v14428:0, v14429:0, 3, 4) :|: v30672:0 < 0 85.80/31.61 f_1617(v14412:0, v14413:0, v14414:0, v14415:0, v14416:0, v14417:0, v14418:0, v16207:0, 1, v14421:0, v30672:0, 0, v14423:0, v14419:0, v14426:0, v14427:0, v14428:0, v14429:0, 3, 2, 4) -> f_1132(v14412:0, v14413:0, v14414:0, v14415:0, v14416:0, v14417:0, v14418:0, v16207:0, 1, v14421:0, v30672:0, v14423:0, v14419:0, v14421:0, 0, v14426:0, v14427:0, v14428:0, v14429:0, 3, 4) :|: v30672:0 > 0 85.80/31.61 Filtered unneeded arguments: 85.80/31.61 f_1132(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_1132(x5, x6, x7, x8, x10) 85.80/31.61 f_1617(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_1617(x5, x6, x7, x8, x10, x11) 85.80/31.61 Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: 85.80/31.61 f_1132(v14243:0, v14244:0, v14245:0, v14246:0, sum~cons_1~v16206:0) -> f_1132(v14243:0, v14244:0, v14245:0, v14246:0, v16206:0) :|: v14243:0 > 0 && v14245:0 > 0 && v16206:0 > -1 && sum~cons_1~v16206:0 = 1 + v16206:0 85.80/31.61 f_1132(v14243:0, v14244:0, v14245:0, sum~cons_1~v16207:0, sum~cons_1~v16206:0) -> f_1617(v14243:0, v14244:0, v14245:0, v16207:0, v16206:0, v30672:0) :|: v16207:0 > -1 && v16206:0 > -1 && v14243:0 > 0 && v14244:0 > 1 && v14245:0 > 0 && sum~cons_1~v16207:0 = 1 + v16207:0 && sum~cons_1~v16206:0 = 1 + v16206:0 85.80/31.61 f_1617(v14416:0, v14417:0, v14418:0, sum~cons_1~v16207:1, v14421:0, cons_0) -> f_1617(v14416:0, v14417:0, v14418:0, v16207:1, v14421:0, v30672:1) :|: v16207:1 > -1 && v14417:0 > 1 && sum~cons_1~v16207:1 = 1 + v16207:1 && cons_0 = 0 85.80/31.61 f_1617(v14416:0, v14417:0, v14418:0, v16207:0, v14421:0, v30672:0) -> f_1132(v14416:0, v14417:0, v14418:0, v16207:0, v14421:0) :|: v30672:0 < 0 85.80/31.61 f_1617(v14416:0, v14417:0, v14418:0, v16207:0, v14421:0, v30672:0) -> f_1132(v14416:0, v14417:0, v14418:0, v16207:0, v14421:0) :|: v30672:0 > 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (58) 85.80/31.61 Obligation: 85.80/31.61 Rules: 85.80/31.61 f_1132(v14243:0, v14244:0, v14245:0, v14246:0, sum~cons_1~v16206:0) -> f_1132(v14243:0, v14244:0, v14245:0, v14246:0, v16206:0) :|: v14243:0 > 0 && v14245:0 > 0 && v16206:0 > -1 && sum~cons_1~v16206:0 = 1 + v16206:0 85.80/31.61 f_1132(x, x1, x2, x3, x4) -> f_1617(x, x1, x2, x5, x6, x7) :|: x5 > -1 && x6 > -1 && x > 0 && x1 > 1 && x2 > 0 && x3 = 1 + x5 && x4 = 1 + x6 85.80/31.61 f_1617(v14416:0, v14417:0, v14418:0, sum~cons_1~v16207:1, v14421:0, cons_0) -> f_1617(v14416:0, v14417:0, v14418:0, v16207:1, v14421:0, v30672:1) :|: v16207:1 > -1 && v14417:0 > 1 && sum~cons_1~v16207:1 = 1 + v16207:1 && cons_0 = 0 85.80/31.61 f_1617(x8, x9, x10, x11, x12, x13) -> f_1132(x8, x9, x10, x11, x12) :|: x13 < 0 85.80/31.61 f_1617(x14, x15, x16, x17, x18, x19) -> f_1132(x14, x15, x16, x17, x18) :|: x19 > 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (59) IRS2T2 (EQUIVALENT) 85.80/31.61 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.61 85.80/31.61 (f_1132_6,1) 85.80/31.61 (f_1617_6,2) 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (60) 85.80/31.61 Obligation: 85.80/31.61 START: 0; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 0; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX4 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX0 > 0 && oldX2 > 0 && oldX6 > -1 && oldX4 = 1 + oldX6); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX4 - 1; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 1; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 oldX7 := oldX4 - 1; 85.80/31.61 oldX8 := nondet(); 85.80/31.61 assume(oldX6 > -1 && oldX7 > -1 && oldX0 > 0 && oldX1 > 1 && oldX2 > 0 && oldX3 = 1 + oldX6 && oldX4 = 1 + oldX7); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := oldX4 - 1; 85.80/31.61 x5 := oldX8; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := oldX3 - 1; 85.80/31.61 oldX7 := nondet(); 85.80/31.61 assume(oldX6 > -1 && oldX1 > 1 && oldX3 = 1 + oldX6 && oldX5 = 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3 - 1; 85.80/31.61 x4 := oldX4; 85.80/31.61 x5 := oldX7; 85.80/31.61 TO: 2; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 assume(oldX5 < 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX4; 85.80/31.61 x5 := oldX6; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 FROM: 2; 85.80/31.61 oldX0 := x0; 85.80/31.61 oldX1 := x1; 85.80/31.61 oldX2 := x2; 85.80/31.61 oldX3 := x3; 85.80/31.61 oldX4 := x4; 85.80/31.61 oldX5 := x5; 85.80/31.61 oldX6 := nondet(); 85.80/31.61 assume(oldX5 > 0); 85.80/31.61 x0 := oldX0; 85.80/31.61 x1 := oldX1; 85.80/31.61 x2 := oldX2; 85.80/31.61 x3 := oldX3; 85.80/31.61 x4 := oldX4; 85.80/31.61 x5 := oldX6; 85.80/31.61 TO: 1; 85.80/31.61 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (61) T2 (EQUIVALENT) 85.80/31.61 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.61 * Removed transitions 2, 5, 6, 14, 17, 18, 19 using the following rank functions: 85.80/31.61 - Rank function 1: 85.80/31.61 RF for loc. 6: -2+4*x3 85.80/31.61 RF for loc. 7: 1+4*x3 85.80/31.61 RF for loc. 8: -2+4*x3 85.80/31.61 RF for loc. 12: 4*x3 85.80/31.61 Bound for (chained) transitions 6: 2 85.80/31.61 Bound for (chained) transitions 17: 4 85.80/31.61 - Rank function 2: 85.80/31.61 RF for loc. 6: -1 85.80/31.61 RF for loc. 7: 1 85.80/31.61 RF for loc. 8: -1 85.80/31.61 RF for loc. 12: 0 85.80/31.61 Bound for (chained) transitions 14: 1 85.80/31.61 Bound for (chained) transitions 18: 0 85.80/31.61 Bound for (chained) transitions 19: 0 85.80/31.61 - Rank function 3: 85.80/31.61 RF for loc. 6: 2*x4 85.80/31.61 RF for loc. 8: -1+2*x4 85.80/31.61 Bound for (chained) transitions 5: 1 85.80/31.61 - Rank function 4: 85.80/31.61 RF for loc. 6: 0 85.80/31.61 RF for loc. 8: -1 85.80/31.61 Bound for (chained) transitions 2: 0 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (62) 85.80/31.61 YES 85.80/31.61 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (63) 85.80/31.61 Obligation: 85.80/31.61 SCC 85.80/31.61 ---------------------------------------- 85.80/31.61 85.80/31.61 (64) SCC2IRS (SOUND) 85.80/31.61 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.61 Generated rules. Obtained 61 rulesP rules: 85.80/31.61 f_2140(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2159(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_2159(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2176(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_2176(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1675(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38056, v47146, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_1675(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31784, 1, v31786, 0, v31788, v31789, v31790, v31791, v31792, v31793, 3, 4) -> f_1697(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31784, 1, v31786, 0, v31788, v31789, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1697(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31784, 1, v31786, 0, v31788, v31789, v31790, v31791, v31792, v31793, 3, 4) -> f_1716(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31784, 1, v31786, 0, v31788, v31789, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1716(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31784, 1, v31786, 0, v31788, v31789, v31790, v31791, v31792, v31793, 3, 4) -> f_1734(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.61 f_1734(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1753(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 <= v31789 && 1 <= v31784 && 1 <= v31782 85.80/31.61 f_1753(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1773(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.61 f_1773(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1794(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1794(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1811(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1811(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1829(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.61 f_1829(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1846(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.61 f_1846(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1863(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1863(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1880(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1880(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1898(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: v40027 != 0 85.80/31.61 f_1880(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1899(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: v40027 = 0 85.80/31.61 f_1898(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1917(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.61 f_1917(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1939(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v31788, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.61 f_1939(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v31788, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) -> f_1958(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v31788, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1958(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v31788, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) -> f_1978(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.61 f_1978(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) -> f_1998(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v44324, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) :|: 1 + v44324 = v31786 && 0 <= 1 + v44324 85.80/31.61 f_1998(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v44324, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) -> f_2020(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v44324, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_2020(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v44324, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) -> f_2041(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v44324, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_2041(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v44324, v31784, 0, v31790, v31791, v31792, v31793, 3, 4) -> f_1843(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, v40027, v31784, v31786, 0, v44324, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.61 f_1843(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38056, v38057, v38058, v38059, 0, v38061, v38062, v38063, v38064, v38065, 3, 4) -> f_1860(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_1860(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1876(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 <= v38061 && 1 <= v38056 && 1 <= v38053 && 1 <= v38059 85.80/31.61 f_1876(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1893(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_1893(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1912(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_1912(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v38057, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1933(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_1933(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1953(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: v41234 != 0 85.80/31.61 f_1933(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1954(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: v41234 = 0 85.80/31.61 f_1953(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1973(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_1973(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1994(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_1994(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2016(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_2016(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2037(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_2037(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v38062, v38063, v38064, v38065, 3, 4) -> f_2058(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v47145, v38062, v38063, v38064, v38065, 3, 4) :|: 1 + v47145 = v38061 && 0 <= 1 + v47145 85.80/31.61 f_2058(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v47145, v38062, v38063, v38064, v38065, 3, 4) -> f_2075(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v47145, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_2075(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v47145, v38062, v38063, v38064, v38065, 3, 4) -> f_2093(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v47145, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_2093(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v47145, v38062, v38063, v38064, v38065, 3, 4) -> f_1843(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, v41234, v38058, v38059, 0, v47145, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_1954(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1974(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_1974(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_1995(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_1995(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2017(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_2017(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38058, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2038(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_2038(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2059(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 1 + v47146 = v38054 && 0 <= 1 + v47146 85.80/31.61 f_2059(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2076(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_2076(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2094(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: TRUE 85.80/31.61 f_2094(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38059, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2108(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_2108(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2124(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: 0 = 0 85.80/31.61 f_2124(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) -> f_2140(v38047, v38048, v38049, v38050, v38051, v38052, v38053, v38054, 1, v38061, 0, v47146, v38056, v38062, v38063, v38064, v38065, 3, 4) :|: v38051 < v38061 85.80/31.62 f_1899(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1918(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.62 f_1918(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1940(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.62 f_1940(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1959(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.62 f_1959(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31784, v31790, v31791, v31792, v31793, 3, 4) -> f_1979(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.62 f_1979(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v31790, v31791, v31792, v31793, 3, 4) -> f_1999(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: 1 + v44325 = v31789 && 0 <= 1 + v44325 85.80/31.62 f_1999(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) -> f_2021(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.62 f_2021(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) -> f_2042(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.62 f_2042(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) -> f_2062(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.62 f_2062(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) -> f_2079(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.62 f_2079(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) -> f_2097(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.62 f_2097(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) -> f_2111(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: 0 = 0 85.80/31.62 f_2111(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) -> f_1675(v31777, v31778, v31779, v31780, v31781, v31782, v31783, v31789, 1, v31786, 0, v31788, v44325, v31790, v31791, v31792, v31793, 3, 4) :|: TRUE 85.80/31.62 Combined rules. Obtained 6 rulesP rules: 85.80/31.62 f_1933(v38047:0, v38048:0, v38049:0, v38050:0, v38051:0, v38052:0, v38053:0, 1 + v47146:0, 1, v38061:0, 0, v38058:0, v38059:0, 0, v38056:0, v38062:0, v38063:0, v38064:0, v38065:0, 3, 4) -> f_1880(v38047:0, v38048:0, v38049:0, v38050:0, v38051:0, v38052:0, v38053:0, v47146:0, 1, v38061:0, v40027:0, 0, v38056:0, 1 + v47146:0, v38062:0, v38063:0, v38064:0, v38065:0, 3, 4) :|: v47146:0 > -1 && v38061:0 > v38051:0 && v38052:0 > 0 85.80/31.62 f_1933(v38047:0, v38048:0, v38049:0, v38050:0, v38051:0, v38052:0, v38053:0, v38054:0, 1, 1 + v47145:0, v41234:0, v38058:0, v38059:0, 0, v38056:0, v38062:0, v38063:0, v38064:0, v38065:0, 3, 4) -> f_1933(v38047:0, v38048:0, v38049:0, v38050:0, v38051:0, v38052:0, v38053:0, v38054:0, 1, v47145:0, v41234:1, v38058:0, v38059:0, 0, 1 + v47145:0, v38062:0, v38063:0, v38064:0, v38065:0, 3, 4) :|: v47145:0 > -1 && v41234:0 < 0 && v38059:0 > 0 && v38053:0 > 0 85.80/31.62 f_1933(v38047:0, v38048:0, v38049:0, v38050:0, v38051:0, v38052:0, v38053:0, v38054:0, 1, 1 + v47145:0, v41234:0, v38058:0, v38059:0, 0, v38056:0, v38062:0, v38063:0, v38064:0, v38065:0, 3, 4) -> f_1933(v38047:0, v38048:0, v38049:0, v38050:0, v38051:0, v38052:0, v38053:0, v38054:0, 1, v47145:0, v41234:1, v38058:0, v38059:0, 0, 1 + v47145:0, v38062:0, v38063:0, v38064:0, v38065:0, 3, 4) :|: v47145:0 > -1 && v41234:0 > 0 && v38059:0 > 0 && v38053:0 > 0 85.80/31.62 f_1880(v31777:0, v31778:0, v31779:0, v31780:0, v31781:0, v31782:0, v31783:0, 1 + v44325:0, 1, v31786:0, 0, 0, v31788:0, v31784:0, v31790:0, v31791:0, v31792:0, v31793:0, 3, 4) -> f_1880(v31777:0, v31778:0, v31779:0, v31780:0, v31781:0, v31782:0, v31783:0, v44325:0, 1, v31786:0, v40027:1, 0, v31788:0, 1 + v44325:0, v31790:0, v31791:0, v31792:0, v31793:0, 3, 4) :|: v44325:0 > -1 && v31782:0 > 0 85.80/31.62 f_1880(v31777:0, v31778:0, v31779:0, v31780:0, v31781:0, v31782:0, v31783:0, v31789:0, 1, 1 + v44324:0, v40027:0, 0, v31788:0, v31784:0, v31790:0, v31791:0, v31792:0, v31793:0, 3, 4) -> f_1933(v31777:0, v31778:0, v31779:0, v31780:0, v31781:0, v31782:0, v31783:0, v31789:0, 1, v44324:0, v41234:0, v31784:0, 1 + v44324:0, 0, 1 + v44324:0, v31790:0, v31791:0, v31792:0, v31793:0, 3, 4) :|: v44324:0 > -1 && v40027:0 < 0 && v31783:0 > 0 85.80/31.62 f_1880(v31777:0, v31778:0, v31779:0, v31780:0, v31781:0, v31782:0, v31783:0, v31789:0, 1, 1 + v44324:0, v40027:0, 0, v31788:0, v31784:0, v31790:0, v31791:0, v31792:0, v31793:0, 3, 4) -> f_1933(v31777:0, v31778:0, v31779:0, v31780:0, v31781:0, v31782:0, v31783:0, v31789:0, 1, v44324:0, v41234:0, v31784:0, 1 + v44324:0, 0, 1 + v44324:0, v31790:0, v31791:0, v31792:0, v31793:0, 3, 4) :|: v44324:0 > -1 && v40027:0 > 0 && v31783:0 > 0 85.80/31.62 Filtered unneeded arguments: 85.80/31.62 f_1933(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_1933(x5, x6, x7, x8, x10, x11, x13) 85.80/31.62 f_1880(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) -> f_1880(x5, x6, x7, x8, x10, x11) 85.80/31.62 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 85.80/31.62 f_1933(v38051:0, v38052:0, v38053:0, sum~cons_1~v47146:0, v38061:0, cons_0, v38059:0) -> f_1880(v38051:0, v38052:0, v38053:0, v47146:0, v38061:0, v40027:0) :|: v38061:0 > v38051:0 && v38052:0 > 0 && v47146:0 > -1 && sum~cons_1~v47146:0 = 1 + v47146:0 && cons_0 = 0 85.80/31.62 f_1933(v38051:0, v38052:0, v38053:0, v38054:0, sum~cons_1~v47145:0, v41234:0, v38059:0) -> f_1933(v38051:0, v38052:0, v38053:0, v38054:0, v47145:0, v41234:1, v38059:0) :|: v41234:0 < 0 && v47145:0 > -1 && v38053:0 > 0 && v38059:0 > 0 && sum~cons_1~v47145:0 = 1 + v47145:0 85.80/31.62 f_1933(v38051:0, v38052:0, v38053:0, v38054:0, sum~cons_1~v47145:0, v41234:0, v38059:0) -> f_1933(v38051:0, v38052:0, v38053:0, v38054:0, v47145:0, v41234:1, v38059:0) :|: v41234:0 > 0 && v47145:0 > -1 && v38053:0 > 0 && v38059:0 > 0 && sum~cons_1~v47145:0 = 1 + v47145:0 85.80/31.62 f_1880(v31781:0, v31782:0, v31783:0, sum~cons_1~v44325:0, v31786:0, cons_0) -> f_1880(v31781:0, v31782:0, v31783:0, v44325:0, v31786:0, v40027:1) :|: v44325:0 > -1 && v31782:0 > 0 && sum~cons_1~v44325:0 = 1 + v44325:0 && cons_0 = 0 85.80/31.62 f_1880(v31781:0, v31782:0, v31783:0, v31789:0, sum~cons_1~v44324:0, v40027:0) -> f_1933(v31781:0, v31782:0, v31783:0, v31789:0, v44324:0, v41234:0, 1 + v44324:0) :|: v40027:0 < 0 && v31783:0 > 0 && v44324:0 > -1 && sum~cons_1~v44324:0 = 1 + v44324:0 85.80/31.62 f_1880(v31781:0, v31782:0, v31783:0, v31789:0, sum~cons_1~v44324:0, v40027:0) -> f_1933(v31781:0, v31782:0, v31783:0, v31789:0, v44324:0, v41234:0, 1 + v44324:0) :|: v40027:0 > 0 && v31783:0 > 0 && v44324:0 > -1 && sum~cons_1~v44324:0 = 1 + v44324:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (65) 85.80/31.62 Obligation: 85.80/31.62 Rules: 85.80/31.62 f_1933(v38051:0, v38052:0, v38053:0, sum~cons_1~v47146:0, v38061:0, cons_0, v38059:0) -> f_1880(v38051:0, v38052:0, v38053:0, v47146:0, v38061:0, v40027:0) :|: v38061:0 > v38051:0 && v38052:0 > 0 && v47146:0 > -1 && sum~cons_1~v47146:0 = 1 + v47146:0 && cons_0 = 0 85.80/31.62 f_1933(x, x1, x2, x3, x4, x5, x6) -> f_1933(x, x1, x2, x3, x7, x8, x6) :|: x5 < 0 && x7 > -1 && x2 > 0 && x6 > 0 && x4 = 1 + x7 85.80/31.62 f_1933(x9, x10, x11, x12, x13, x14, x15) -> f_1933(x9, x10, x11, x12, x16, x17, x15) :|: x14 > 0 && x16 > -1 && x11 > 0 && x15 > 0 && x13 = 1 + x16 85.80/31.62 f_1880(x18, x19, x20, x21, x22, x23) -> f_1880(x18, x19, x20, x24, x22, x25) :|: x24 > -1 && x19 > 0 && x21 = 1 + x24 && x23 = 0 85.80/31.62 f_1880(x26, x27, x28, x29, x30, x31) -> f_1933(x26, x27, x28, x29, x32, x33, 1 + x32) :|: x31 < 0 && x28 > 0 && x32 > -1 && x30 = 1 + x32 85.80/31.62 f_1880(x34, x35, x36, x37, x38, x39) -> f_1933(x34, x35, x36, x37, x40, x41, 1 + x40) :|: x39 > 0 && x36 > 0 && x40 > -1 && x38 = 1 + x40 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (66) IRS2T2 (EQUIVALENT) 85.80/31.62 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.62 85.80/31.62 (f_1933_7,1) 85.80/31.62 (f_1880_7,2) 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (67) 85.80/31.62 Obligation: 85.80/31.62 START: 0; 85.80/31.62 85.80/31.62 FROM: 0; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 0; 85.80/31.62 TO: 2; 85.80/31.62 85.80/31.62 FROM: 1; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := x3; 85.80/31.62 oldX4 := x4; 85.80/31.62 oldX5 := x5; 85.80/31.62 oldX6 := x6; 85.80/31.62 oldX7 := oldX3 - 1; 85.80/31.62 oldX8 := nondet(); 85.80/31.62 oldX9 := nondet(); 85.80/31.62 assume(oldX4 > oldX0 && oldX1 > 0 && oldX7 > -1 && oldX3 = 1 + oldX7 && oldX5 = 0); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1; 85.80/31.62 x2 := oldX2; 85.80/31.62 x3 := oldX3 - 1; 85.80/31.62 x4 := oldX4; 85.80/31.62 x5 := oldX8; 85.80/31.62 x6 := oldX9; 85.80/31.62 TO: 2; 85.80/31.62 85.80/31.62 FROM: 1; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := x3; 85.80/31.62 oldX4 := x4; 85.80/31.62 oldX5 := x5; 85.80/31.62 oldX6 := x6; 85.80/31.62 oldX7 := oldX4 - 1; 85.80/31.62 oldX8 := nondet(); 85.80/31.62 assume(oldX5 < 0 && oldX7 > -1 && oldX2 > 0 && oldX6 > 0 && oldX4 = 1 + oldX7); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1; 85.80/31.62 x2 := oldX2; 85.80/31.62 x3 := oldX3; 85.80/31.62 x4 := oldX4 - 1; 85.80/31.62 x5 := oldX8; 85.80/31.62 x6 := oldX6; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 1; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := x3; 85.80/31.62 oldX4 := x4; 85.80/31.62 oldX5 := x5; 85.80/31.62 oldX6 := x6; 85.80/31.62 oldX7 := oldX4 - 1; 85.80/31.62 oldX8 := nondet(); 85.80/31.62 assume(oldX5 > 0 && oldX7 > -1 && oldX2 > 0 && oldX6 > 0 && oldX4 = 1 + oldX7); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1; 85.80/31.62 x2 := oldX2; 85.80/31.62 x3 := oldX3; 85.80/31.62 x4 := oldX4 - 1; 85.80/31.62 x5 := oldX8; 85.80/31.62 x6 := oldX6; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 2; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := x3; 85.80/31.62 oldX4 := x4; 85.80/31.62 oldX5 := x5; 85.80/31.62 oldX6 := x6; 85.80/31.62 oldX7 := oldX3 - 1; 85.80/31.62 oldX8 := nondet(); 85.80/31.62 oldX9 := nondet(); 85.80/31.62 assume(oldX7 > -1 && oldX1 > 0 && oldX3 = 1 + oldX7 && oldX5 = 0); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1; 85.80/31.62 x2 := oldX2; 85.80/31.62 x3 := oldX3 - 1; 85.80/31.62 x4 := oldX4; 85.80/31.62 x5 := oldX8; 85.80/31.62 x6 := oldX9; 85.80/31.62 TO: 2; 85.80/31.62 85.80/31.62 FROM: 2; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := x3; 85.80/31.62 oldX4 := x4; 85.80/31.62 oldX5 := x5; 85.80/31.62 oldX6 := x6; 85.80/31.62 oldX7 := oldX4 - 1; 85.80/31.62 oldX8 := nondet(); 85.80/31.62 assume(oldX5 < 0 && oldX2 > 0 && oldX7 > -1 && oldX4 = 1 + oldX7); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1; 85.80/31.62 x2 := oldX2; 85.80/31.62 x3 := oldX3; 85.80/31.62 x4 := oldX4 - 1; 85.80/31.62 x5 := oldX8; 85.80/31.62 x6 := 1 + oldX7; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 2; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := x3; 85.80/31.62 oldX4 := x4; 85.80/31.62 oldX5 := x5; 85.80/31.62 oldX6 := x6; 85.80/31.62 oldX7 := oldX4 - 1; 85.80/31.62 oldX8 := nondet(); 85.80/31.62 assume(oldX5 > 0 && oldX2 > 0 && oldX7 > -1 && oldX4 = 1 + oldX7); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1; 85.80/31.62 x2 := oldX2; 85.80/31.62 x3 := oldX3; 85.80/31.62 x4 := oldX4 - 1; 85.80/31.62 x5 := oldX8; 85.80/31.62 x6 := 1 + oldX7; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (68) T2 (EQUIVALENT) 85.80/31.62 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.62 * Removed transitions 2, 5, 6, 7, 17, 20, 21, 22 using the following rank functions: 85.80/31.62 - Rank function 1: 85.80/31.62 RF for loc. 6: 3+4*x4 85.80/31.62 RF for loc. 7: 4*x4 85.80/31.62 RF for loc. 8: 2+4*x4 85.80/31.62 RF for loc. 12: 4*x4 85.80/31.62 Bound for (chained) transitions 6: 6 85.80/31.62 Bound for (chained) transitions 7: 6 85.80/31.62 Bound for (chained) transitions 21: 4 85.80/31.62 Bound for (chained) transitions 22: 4 85.80/31.62 - Rank function 2: 85.80/31.62 RF for loc. 6: 1+2*x3 85.80/31.62 RF for loc. 7: 1+2*x3 85.80/31.62 RF for loc. 8: 2*x3 85.80/31.62 RF for loc. 12: 2*x3 85.80/31.62 Bound for (chained) transitions 20: 2 85.80/31.62 - Rank function 3: 85.80/31.62 RF for loc. 6: 2 85.80/31.62 RF for loc. 7: 0 85.80/31.62 RF for loc. 8: 1 85.80/31.62 RF for loc. 12: -1 85.80/31.62 Bound for (chained) transitions 2: 2 85.80/31.62 Bound for (chained) transitions 5: 1 85.80/31.62 Bound for (chained) transitions 17: 0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (69) 85.80/31.62 YES 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (70) 85.80/31.62 Obligation: 85.80/31.62 SCC 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (71) SCC2IRS (SOUND) 85.80/31.62 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.62 Generated rules. Obtained 28 rulesP rules: 85.80/31.62 f_1377(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1398(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1398(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1418(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1418(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1440(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1440(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1462(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1462(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14622, v14623, v14624, v14625, 3, 4) -> f_1487(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: 1 + v26084 = v14621 && 0 <= 1 + v26084 85.80/31.62 f_1487(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1512(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1512(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1533(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1533(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1550(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1550(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1571(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1571(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1590(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1590(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1608(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1608(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1622(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v30907, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1622(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v30907, v14622, v14623, v14624, v14625, 3, 4) -> f_1643(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: v30907 = 0 85.80/31.62 f_1643(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1666(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1666(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1692(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1692(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) -> f_1115(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v26084, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1115(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14618, 1, 0, v14621, v14622, v14623, v14624, v14625, 3, 4) -> f_1136(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14618, 1, 0, v14621, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1136(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14618, 1, 0, v14621, v14622, v14623, v14624, v14625, 3, 4) -> f_1157(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14618, 1, 0, v14621, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1157(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14618, 1, 0, v14621, v14622, v14623, v14624, v14625, 3, 4) -> f_1182(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1182(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1206(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: 0 <= v14621 && 1 <= v14618 && 1 <= v14616 85.80/31.62 f_1206(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1227(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1227(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1246(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1246(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1271(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1271(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1293(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1293(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1312(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: 0 = 0 85.80/31.62 f_1312(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1331(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1331(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1353(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, v20020, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: TRUE 85.80/31.62 f_1353(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, v20020, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) -> f_1377(v14611, v14612, v14613, v14614, v14615, v14616, v14617, v14621, 1, 0, v14618, v14622, v14623, v14624, v14625, 3, 4) :|: v20020 = 0 85.80/31.62 Combined rules. Obtained 1 rulesP rules: 85.80/31.62 f_1377(v14611:0, v14612:0, v14613:0, v14614:0, v14615:0, v14616:0, v14617:0, 1 + v26084:0, 1, 0, v14618:0, v14622:0, v14623:0, v14624:0, v14625:0, 3, 4) -> f_1377(v14611:0, v14612:0, v14613:0, v14614:0, v14615:0, v14616:0, v14617:0, v26084:0, 1, 0, 1 + v26084:0, v14622:0, v14623:0, v14624:0, v14625:0, 3, 4) :|: v26084:0 > -1 && v14616:0 > 0 85.80/31.62 Filtered unneeded arguments: 85.80/31.62 f_1377(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17) -> f_1377(x6, x8) 85.80/31.62 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.62 f_1377(v14616:0, sum~cons_1~v26084:0) -> f_1377(v14616:0, v26084:0) :|: v26084:0 > -1 && v14616:0 > 0 && sum~cons_1~v26084:0 = 1 + v26084:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (72) 85.80/31.62 Obligation: 85.80/31.62 Rules: 85.80/31.62 f_1377(v14616:0, sum~cons_1~v26084:0) -> f_1377(v14616:0, v26084:0) :|: v26084:0 > -1 && v14616:0 > 0 && sum~cons_1~v26084:0 = 1 + v26084:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (73) IntTRSCompressionProof (EQUIVALENT) 85.80/31.62 Compressed rules. 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (74) 85.80/31.62 Obligation: 85.80/31.62 Rules: 85.80/31.62 f_1377(v14616:0:0, sum~cons_1~v26084:0:0) -> f_1377(v14616:0:0, v26084:0:0) :|: v26084:0:0 > -1 && v14616:0:0 > 0 && sum~cons_1~v26084:0:0 = 1 + v26084:0:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (75) PolynomialOrderProcessor (EQUIVALENT) 85.80/31.62 Found the following polynomial interpretation: 85.80/31.62 [f_1377(x, x1)] = x1 85.80/31.62 85.80/31.62 The following rules are decreasing: 85.80/31.62 f_1377(v14616:0:0, sum~cons_1~v26084:0:0) -> f_1377(v14616:0:0, v26084:0:0) :|: v26084:0:0 > -1 && v14616:0:0 > 0 && sum~cons_1~v26084:0:0 = 1 + v26084:0:0 85.80/31.62 The following rules are bounded: 85.80/31.62 f_1377(v14616:0:0, sum~cons_1~v26084:0:0) -> f_1377(v14616:0:0, v26084:0:0) :|: v26084:0:0 > -1 && v14616:0:0 > 0 && sum~cons_1~v26084:0:0 = 1 + v26084:0:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (76) 85.80/31.62 YES 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (77) 85.80/31.62 Obligation: 85.80/31.62 SCC 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (78) SCC2IRS (SOUND) 85.80/31.62 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.62 Generated rules. Obtained 24 rulesP rules: 85.80/31.62 f_1321(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1341(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1341(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1363(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1363(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_868(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_868(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8164, 1, 0, v8167, v8168, v8169, v8170, v8171, 3, 4) -> f_886(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8164, 1, 0, v8167, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_886(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8164, 1, 0, v8167, v8168, v8169, v8170, v8171, 3, 4) -> f_903(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8164, 1, 0, v8167, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_903(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8164, 1, 0, v8167, v8168, v8169, v8170, v8171, 3, 4) -> f_921(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_921(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_937(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: 0 <= v8167 && 1 <= v8164 && 1 <= v8162 85.80/31.62 f_937(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_956(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_956(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_976(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_976(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_997(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_997(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_1020(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1020(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_1043(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1043(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_1067(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1067(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_1093(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_1093(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8164, v8168, v8169, v8170, v8171, 3, 4) -> f_1124(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1124(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v8168, v8169, v8170, v8171, 3, 4) -> f_1145(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: 1 + v15273 = v8167 && 0 <= 1 + v15273 85.80/31.62 f_1145(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1168(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_1168(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1193(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_1193(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1218(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1218(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1237(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1237(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1258(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: 0 = 0 85.80/31.62 f_1258(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1281(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_1281(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) -> f_1301(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v18854, v8168, v8169, v8170, v8171, 3, 4) :|: TRUE 85.80/31.62 f_1301(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v18854, v8168, v8169, v8170, v8171, 3, 4) -> f_1321(v8157, v8158, v8159, v8160, v8161, v8162, v8163, v8167, 1, 0, v15273, v8168, v8169, v8170, v8171, 3, 4) :|: v18854 = 0 85.80/31.62 Combined rules. Obtained 1 rulesP rules: 85.80/31.62 f_1321(v8157:0, v8158:0, v8159:0, v8160:0, v8161:0, v8162:0, v8163:0, v8167:0, 1, 0, 1 + v15273:1, v8168:0, v8169:0, v8170:0, v8171:0, 3, 4) -> f_1321(v8157:0, v8158:0, v8159:0, v8160:0, v8161:0, v8162:0, v8163:0, 1 + v15273:1, 1, 0, v15273:1, v8168:0, v8169:0, v8170:0, v8171:0, 3, 4) :|: v8167:0 > 0 && v15273:1 > -2 && v8162:0 > 0 85.80/31.62 Filtered unneeded arguments: 85.80/31.62 f_1321(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17) -> f_1321(x6, x8, x11) 85.80/31.62 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.62 f_1321(v8162:0, v8167:0, sum~cons_1~v15273:1) -> f_1321(v8162:0, 1 + v15273:1, v15273:1) :|: v15273:1 > -2 && v8162:0 > 0 && v8167:0 > 0 && sum~cons_1~v15273:1 = 1 + v15273:1 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (79) 85.80/31.62 Obligation: 85.80/31.62 Rules: 85.80/31.62 f_1321(v8162:0, v8167:0, sum~cons_1~v15273:1) -> f_1321(v8162:0, 1 + v15273:1, v15273:1) :|: v15273:1 > -2 && v8162:0 > 0 && v8167:0 > 0 && sum~cons_1~v15273:1 = 1 + v15273:1 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (80) IRS2T2 (EQUIVALENT) 85.80/31.62 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.62 85.80/31.62 (f_1321_3,1) 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (81) 85.80/31.62 Obligation: 85.80/31.62 START: 0; 85.80/31.62 85.80/31.62 FROM: 0; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 1; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := oldX2 - 1; 85.80/31.62 assume(oldX3 > -2 && oldX0 > 0 && oldX1 > 0 && oldX2 = 1 + oldX3); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := 1 + oldX3; 85.80/31.62 x2 := oldX2 - 1; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (82) T2 (EQUIVALENT) 85.80/31.62 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.62 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.62 - Rank function 1: 85.80/31.62 RF for loc. 5: 1+2*x2 85.80/31.62 RF for loc. 6: 2*x2 85.80/31.62 Bound for (chained) transitions 4: 0 85.80/31.62 - Rank function 2: 85.80/31.62 RF for loc. 5: 1+2*x2 85.80/31.62 RF for loc. 6: 2*x2 85.80/31.62 Bound for (chained) transitions 3: 0 85.80/31.62 - Rank function 3: 85.80/31.62 RF for loc. 5: 1 85.80/31.62 RF for loc. 6: 0 85.80/31.62 Bound for (chained) transitions 1: 1 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (83) 85.80/31.62 YES 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (84) 85.80/31.62 Obligation: 85.80/31.62 SCC 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (85) SCC2IRS (SOUND) 85.80/31.62 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.62 Generated rules. Obtained 24 rulesP rules: 85.80/31.62 f_884(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7902, 1, 0, v7905, v7906, v7907, v7908, v7909, 3, 4) -> f_901(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7902, 1, 0, v7905, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_901(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7902, 1, 0, v7905, v7906, v7907, v7908, v7909, 3, 4) -> f_919(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_919(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_934(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: 0 <= v7905 && 1 <= v7902 && 1 <= v7900 85.80/31.62 f_934(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_953(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_953(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_973(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_973(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_995(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_995(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1017(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1017(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1040(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1040(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1064(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_1064(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1090(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, v13334, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_1090(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, v13334, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1120(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: v13334 = 0 85.80/31.62 f_1120(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1141(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1141(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1163(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1163(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1188(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_1188(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7902, v7906, v7907, v7908, v7909, 3, 4) -> f_1213(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1213(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v7906, v7907, v7908, v7909, 3, 4) -> f_1233(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: 1 + v17763 = v7905 && 0 <= 1 + v17763 85.80/31.62 f_1233(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) -> f_1253(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_1253(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) -> f_1278(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_1278(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) -> f_1299(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1299(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) -> f_1318(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1318(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) -> f_1337(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1337(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) -> f_1359(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: 0 = 0 85.80/31.62 f_1359(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) -> f_862(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7905, 1, 0, v17763, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 f_862(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7902, 1, 0, v7905, v7906, v7907, v7908, v7909, 3, 4) -> f_884(v7895, v7896, v7897, v7898, v7899, v7900, v7901, v7902, 1, 0, v7905, v7906, v7907, v7908, v7909, 3, 4) :|: TRUE 85.80/31.62 Combined rules. Obtained 1 rulesP rules: 85.80/31.62 f_884(v7895:0, v7896:0, v7897:0, v7898:0, v7899:0, v7900:0, v7901:0, v7902:0, 1, 0, 1 + v17763:0, v7906:0, v7907:0, v7908:0, v7909:0, 3, 4) -> f_884(v7895:0, v7896:0, v7897:0, v7898:0, v7899:0, v7900:0, v7901:0, 1 + v17763:0, 1, 0, v17763:0, v7906:0, v7907:0, v7908:0, v7909:0, 3, 4) :|: v7902:0 > 0 && v17763:0 > -2 && v7900:0 > 0 85.80/31.62 Filtered unneeded arguments: 85.80/31.62 f_884(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17) -> f_884(x6, x8, x11) 85.80/31.62 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.62 f_884(v7900:0, v7902:0, sum~cons_1~v17763:0) -> f_884(v7900:0, 1 + v17763:0, v17763:0) :|: v17763:0 > -2 && v7900:0 > 0 && v7902:0 > 0 && sum~cons_1~v17763:0 = 1 + v17763:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (86) 85.80/31.62 Obligation: 85.80/31.62 Rules: 85.80/31.62 f_884(v7900:0, v7902:0, sum~cons_1~v17763:0) -> f_884(v7900:0, 1 + v17763:0, v17763:0) :|: v17763:0 > -2 && v7900:0 > 0 && v7902:0 > 0 && sum~cons_1~v17763:0 = 1 + v17763:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (87) IRS2T2 (EQUIVALENT) 85.80/31.62 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.62 85.80/31.62 (f_884_3,1) 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (88) 85.80/31.62 Obligation: 85.80/31.62 START: 0; 85.80/31.62 85.80/31.62 FROM: 0; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 1; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := oldX2 - 1; 85.80/31.62 assume(oldX3 > -2 && oldX0 > 0 && oldX1 > 0 && oldX2 = 1 + oldX3); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := 1 + oldX3; 85.80/31.62 x2 := oldX2 - 1; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (89) T2 (EQUIVALENT) 85.80/31.62 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.62 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.62 - Rank function 1: 85.80/31.62 RF for loc. 5: 1+2*x2 85.80/31.62 RF for loc. 6: 2*x2 85.80/31.62 Bound for (chained) transitions 4: 0 85.80/31.62 - Rank function 2: 85.80/31.62 RF for loc. 5: 1+2*x2 85.80/31.62 RF for loc. 6: 2*x2 85.80/31.62 Bound for (chained) transitions 3: 0 85.80/31.62 - Rank function 3: 85.80/31.62 RF for loc. 5: 1 85.80/31.62 RF for loc. 6: 0 85.80/31.62 Bound for (chained) transitions 1: 1 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (90) 85.80/31.62 YES 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (91) 85.80/31.62 Obligation: 85.80/31.62 SCC 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (92) SCC2IRS (SOUND) 85.80/31.62 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.62 Generated rules. Obtained 20 rulesP rules: 85.80/31.62 f_701(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_716(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 <= v4534 && 1 <= v4531 && 1 <= v4529 85.80/31.62 f_716(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_734(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_734(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_751(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_751(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_770(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_770(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_785(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_785(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_803(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_803(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_823(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_823(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_845(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_845(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_869(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_869(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_887(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 1 + v8508 = v4534 && 0 <= 1 + v8508 85.80/31.62 f_887(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_904(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_904(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_922(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_922(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_939(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_939(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_958(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_958(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_978(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_978(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_998(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 f_998(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_1021(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_1021(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_1044(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_1044(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_685(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v8508, v4535, v4536, v4537, v4538, 3, 2, 4) :|: TRUE 85.80/31.62 f_685(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4531, 1, 0, v4534, v4535, v4536, v4537, v4538, 3, 2, 4) -> f_701(v4524, v4525, v4526, v4527, v4528, v4529, v4530, v4534, 1, 0, v4531, v4535, v4536, v4537, v4538, 3, 2, 4) :|: 0 = 0 85.80/31.62 Combined rules. Obtained 1 rulesP rules: 85.80/31.62 f_701(v4524:0, v4525:0, v4526:0, v4527:0, v4528:0, v4529:0, v4530:0, 1 + v8508:0, 1, 0, v4531:0, v4535:0, v4536:0, v4537:0, v4538:0, 3, 2, 4) -> f_701(v4524:0, v4525:0, v4526:0, v4527:0, v4528:0, v4529:0, v4530:0, v8508:0, 1, 0, 1 + v8508:0, v4535:0, v4536:0, v4537:0, v4538:0, 3, 2, 4) :|: v4531:0 > 0 && v8508:0 > -2 && v4529:0 > 0 85.80/31.62 Filtered unneeded arguments: 85.80/31.62 f_701(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f_701(x6, x8, x11) 85.80/31.62 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.62 f_701(v4529:0, sum~cons_1~v8508:0, v4531:0) -> f_701(v4529:0, v8508:0, 1 + v8508:0) :|: v8508:0 > -2 && v4529:0 > 0 && v4531:0 > 0 && sum~cons_1~v8508:0 = 1 + v8508:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (93) 85.80/31.62 Obligation: 85.80/31.62 Rules: 85.80/31.62 f_701(v4529:0, sum~cons_1~v8508:0, v4531:0) -> f_701(v4529:0, v8508:0, 1 + v8508:0) :|: v8508:0 > -2 && v4529:0 > 0 && v4531:0 > 0 && sum~cons_1~v8508:0 = 1 + v8508:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (94) IRS2T2 (EQUIVALENT) 85.80/31.62 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.62 85.80/31.62 (f_701_3,1) 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (95) 85.80/31.62 Obligation: 85.80/31.62 START: 0; 85.80/31.62 85.80/31.62 FROM: 0; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 1; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := oldX1 - 1; 85.80/31.62 assume(oldX3 > -2 && oldX0 > 0 && oldX2 > 0 && oldX1 = 1 + oldX3); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1 - 1; 85.80/31.62 x2 := 1 + oldX3; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (96) T2 (EQUIVALENT) 85.80/31.62 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.62 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.62 - Rank function 1: 85.80/31.62 RF for loc. 5: 1+2*x1 85.80/31.62 RF for loc. 6: 2*x1 85.80/31.62 Bound for (chained) transitions 4: 0 85.80/31.62 - Rank function 2: 85.80/31.62 RF for loc. 5: 1+2*x1 85.80/31.62 RF for loc. 6: 2*x1 85.80/31.62 Bound for (chained) transitions 3: 0 85.80/31.62 - Rank function 3: 85.80/31.62 RF for loc. 5: 1 85.80/31.62 RF for loc. 6: 0 85.80/31.62 Bound for (chained) transitions 1: 1 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (97) 85.80/31.62 YES 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (98) 85.80/31.62 Obligation: 85.80/31.62 SCC 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (99) SCC2IRS (SOUND) 85.80/31.62 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 85.80/31.62 Generated rules. Obtained 14 rulesP rules: 85.80/31.62 f_488(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_503(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: 0 <= v2472 && 1 <= v2470 && 1 <= v2468 85.80/31.62 f_503(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_520(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: 0 = 0 85.80/31.62 f_520(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_529(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: TRUE 85.80/31.62 f_529(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_539(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: TRUE 85.80/31.62 f_539(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_550(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: v3149 != 0 85.80/31.62 f_550(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_564(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: 0 = 0 85.80/31.62 f_564(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_578(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: 0 = 0 85.80/31.62 f_578(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_594(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: TRUE 85.80/31.62 f_594(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_609(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2473, v2474, v2475, v2476, 0, 3, 4) :|: 0 = 0 85.80/31.62 f_609(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_627(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v4067, v2473, v2474, v2475, v2476, 0, 3, 4) :|: 1 + v4067 = v2472 && 0 <= 1 + v4067 85.80/31.62 f_627(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v4067, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_637(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v4067, v2473, v2474, v2475, v2476, 0, 3, 4) :|: TRUE 85.80/31.62 f_637(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v4067, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_648(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v4067, v2473, v2474, v2475, v2476, 0, 3, 4) :|: TRUE 85.80/31.62 f_648(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v4067, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_474(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v3149, v4067, v2473, v2474, v2475, v2476, 0, 3, 4) :|: TRUE 85.80/31.62 f_474(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2470, v2471, v2472, v2473, v2474, v2475, v2476, 0, 3, 4) -> f_488(v2462, v2463, v2464, v2465, v2466, v2467, v2468, 1, v2472, v2471, v2470, v2473, v2474, v2475, v2476, 0, 3, 4) :|: 0 = 0 85.80/31.62 Combined rules. Obtained 2 rulesP rules: 85.80/31.62 f_488(v2462:0, v2463:0, v2464:0, v2465:0, v2466:0, v2467:0, v2468:0, 1, 1 + v4067:0, v2471:0, v2470:0, v2473:0, v2474:0, v2475:0, v2476:0, 0, 3, 4) -> f_488(v2462:0, v2463:0, v2464:0, v2465:0, v2466:0, v2467:0, v2468:0, 1, v4067:0, v3149:0, 1 + v4067:0, v2473:0, v2474:0, v2475:0, v2476:0, 0, 3, 4) :|: v2470:0 > 0 && v4067:0 > -2 && v2468:0 > 0 && v3149:0 < 0 85.80/31.62 f_488(v2462:0, v2463:0, v2464:0, v2465:0, v2466:0, v2467:0, v2468:0, 1, 1 + v4067:0, v2471:0, v2470:0, v2473:0, v2474:0, v2475:0, v2476:0, 0, 3, 4) -> f_488(v2462:0, v2463:0, v2464:0, v2465:0, v2466:0, v2467:0, v2468:0, 1, v4067:0, v3149:0, 1 + v4067:0, v2473:0, v2474:0, v2475:0, v2476:0, 0, 3, 4) :|: v2470:0 > 0 && v4067:0 > -2 && v2468:0 > 0 && v3149:0 > 0 85.80/31.62 Filtered unneeded arguments: 85.80/31.62 f_488(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f_488(x7, x9, x11) 85.80/31.62 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 85.80/31.62 f_488(v2468:0, sum~cons_1~v4067:0, v2470:0) -> f_488(v2468:0, v4067:0, 1 + v4067:0) :|: v4067:0 > -2 && v2468:0 > 0 && v2470:0 > 0 && sum~cons_1~v4067:0 = 1 + v4067:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (100) 85.80/31.62 Obligation: 85.80/31.62 Rules: 85.80/31.62 f_488(v2468:0, sum~cons_1~v4067:0, v2470:0) -> f_488(v2468:0, v4067:0, 1 + v4067:0) :|: v4067:0 > -2 && v2468:0 > 0 && v2470:0 > 0 && sum~cons_1~v4067:0 = 1 + v4067:0 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (101) IRS2T2 (EQUIVALENT) 85.80/31.62 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 85.80/31.62 85.80/31.62 (f_488_3,1) 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (102) 85.80/31.62 Obligation: 85.80/31.62 START: 0; 85.80/31.62 85.80/31.62 FROM: 0; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 FROM: 1; 85.80/31.62 oldX0 := x0; 85.80/31.62 oldX1 := x1; 85.80/31.62 oldX2 := x2; 85.80/31.62 oldX3 := oldX1 - 1; 85.80/31.62 assume(oldX3 > -2 && oldX0 > 0 && oldX2 > 0 && oldX1 = 1 + oldX3); 85.80/31.62 x0 := oldX0; 85.80/31.62 x1 := oldX1 - 1; 85.80/31.62 x2 := 1 + oldX3; 85.80/31.62 TO: 1; 85.80/31.62 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (103) T2 (EQUIVALENT) 85.80/31.62 Initially, performed program simplifications using lexicographic rank functions: 85.80/31.62 * Removed transitions 1, 3, 4 using the following rank functions: 85.80/31.62 - Rank function 1: 85.80/31.62 RF for loc. 5: 1+2*x1 85.80/31.62 RF for loc. 6: 2*x1 85.80/31.62 Bound for (chained) transitions 4: 0 85.80/31.62 - Rank function 2: 85.80/31.62 RF for loc. 5: 1+2*x1 85.80/31.62 RF for loc. 6: 2*x1 85.80/31.62 Bound for (chained) transitions 3: 0 85.80/31.62 - Rank function 3: 85.80/31.62 RF for loc. 5: 1 85.80/31.62 RF for loc. 6: 0 85.80/31.62 Bound for (chained) transitions 1: 1 85.80/31.62 85.80/31.62 ---------------------------------------- 85.80/31.62 85.80/31.62 (104) 85.80/31.62 YES 85.94/33.01 EOF