33.85/9.54 2019-03-29 02:14:05 33.85/9.54 Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode): 33.85/9.54 33.85/9.54 "Thread-343" #368 daemon prio=6 os_prio=0 tid=0x00002b7c84005000 nid=0xdcc9 runnable [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 33.85/9.54 "Thread-335" #367 daemon prio=6 os_prio=0 tid=0x00002b7c84003000 nid=0xdcbc runnable [0x00002b7c25e51000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000072031ee78> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x0000000761a51d58> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x0000000761a53e18> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "Thread-336" #366 daemon prio=6 os_prio=0 tid=0x00002b7c8c008000 nid=0xdcb7 runnable [0x00002b7c25f52000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000072083fdf0> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x00000007605a1bf8> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x00000007605a3cb8> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "Thread-334" #365 daemon prio=6 os_prio=0 tid=0x00002b7c8c009800 nid=0xdcb4 runnable [0x00002b7c27bdf000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000072083dd30> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x0000000761ce14b8> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x0000000761ce3578> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "Thread-333" #364 daemon prio=5 os_prio=0 tid=0x00002b7c00027000 nid=0xdcaf runnable [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: TERMINATED 33.85/9.54 33.85/9.54 "Thread-329" #360 daemon prio=6 os_prio=0 tid=0x00002b7c70007000 nid=0xdc9e runnable [0x00002b7c27f36000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000071d1df250> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000075ded1098> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x000000075ded3158> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "Thread-328" #359 daemon prio=6 os_prio=0 tid=0x00002b7c70001000 nid=0xdc9d runnable [0x00002b7c27dfd000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000071d1dd190> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000075d9b21d8> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x000000075d9b4298> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "ThreadPoolThread79" #358 daemon prio=6 os_prio=0 tid=0x00002b7c1001d000 nid=0xdc9b waiting on condition [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 33.85/9.54 "ThreadPoolThread78" #357 daemon prio=6 os_prio=0 tid=0x00002b7c10030800 nid=0xdc9a runnable [0x00002b7cc8200000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.determineT2Command(T2Processor.java:215) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:97) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "Thread-316" #343 daemon prio=6 os_prio=0 tid=0x00002b7c48006800 nid=0xdc86 runnable [0x00002b7c26eef000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x00000006db1799a0> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000073efdb3a8> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x000000073efdd468> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "Thread-315" #341 daemon prio=6 os_prio=0 tid=0x00002b7c48004800 nid=0xdc85 runnable [0x00002b7c27129000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x00000006db1778e0> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000073d5e6478> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x000000073d5e8538> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "ThreadPoolThread77" #326 daemon prio=6 os_prio=0 tid=0x00002b7c10046800 nid=0xdc52 in Object.wait() [0x00002b7c24c41000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x000000071d1db060> (a java.lang.UNIXProcess) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395) 33.85/9.54 - locked <0x000000071d1db060> (a java.lang.UNIXProcess) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:50) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread75" #324 daemon prio=6 os_prio=0 tid=0x00002b7c10044800 nid=0xdc4f runnable [0x00002b7c2663b000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread74" #323 daemon prio=6 os_prio=0 tid=0x00002b7c10043800 nid=0xdc4e runnable [0x00002b7c25447000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread73" #322 daemon prio=6 os_prio=0 tid=0x00002b7c10042000 nid=0xdc4d runnable [0x00002b7cc80ff000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread72" #321 daemon prio=6 os_prio=0 tid=0x00002b7c10041000 nid=0xdc4c runnable [0x00002b7cc8705000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread71" #320 daemon prio=6 os_prio=0 tid=0x00002b7c10040000 nid=0xdc4b in Object.wait() [0x00002b7c25346000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x000000072031cd48> (a java.lang.UNIXProcess) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395) 33.85/9.54 - locked <0x000000072031cd48> (a java.lang.UNIXProcess) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:50) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread69" #318 daemon prio=6 os_prio=0 tid=0x00002b7c10025000 nid=0xdc49 in Object.wait() [0x00002b7c25548000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x000000072083bc00> (a java.lang.UNIXProcess) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395) 33.85/9.54 - locked <0x000000072083bc00> (a java.lang.UNIXProcess) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:50) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread68" #317 daemon prio=6 os_prio=0 tid=0x00002b7c10034800 nid=0xdc48 runnable [0x00002b7c26978000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread67" #316 daemon prio=6 os_prio=0 tid=0x00002b7c10020800 nid=0xdc47 runnable [0x00002b7c240ff000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread66" #315 daemon prio=6 os_prio=0 tid=0x00002b7c10032800 nid=0xdc46 runnable [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: TERMINATED 33.85/9.54 33.85/9.54 "ThreadPoolThread65" #314 daemon prio=6 os_prio=0 tid=0x00002b7c1003a000 nid=0xdc45 runnable [0x00002b7c25749000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.exec(ExecHelper.java:25) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.solve(YicesEngine.java:159) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.solveAndPutIntoFormula(YicesEngine.java:82) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.satisfiable(YicesEngine.java:49) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.TerminationGraph.buildGraph(TerminationGraph.java:155) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphWorker.analyzeTerminationGraph(IntTRSTerminationGraphWorker.java:121) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphWorker.work(IntTRSTerminationGraphWorker.java:79) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphProcessor.process(IntTRSTerminationGraphProcessor.java:119) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread64" #313 daemon prio=6 os_prio=0 tid=0x00002b7c1000c800 nid=0xdc44 runnable [0x00002b7c25244000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.exec(ExecHelper.java:25) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.SMTLIBEngine.solve(SMTLIBEngine.java:166) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.SMTLIBEngine.solve(SMTLIBEngine.java:80) 33.85/9.54 at aprove.Framework.IntTRS.CaseAnalysis.InductiveConditionFinder.isUseless(InductiveConditionFinder.java:254) 33.85/9.54 at aprove.Framework.IntTRS.CaseAnalysis.InductiveConditionFinder.computeInductiveCondition(InductiveConditionFinder.java:200) 33.85/9.54 at aprove.Framework.IntTRS.CaseAnalysis.InductiveConditionFinder.findInductiveCondition(InductiveConditionFinder.java:137) 33.85/9.54 at aprove.Framework.IntTRS.CaseAnalysis.InductiveConditionFinder.getInductiveCondition(InductiveConditionFinder.java:107) 33.85/9.54 at aprove.Framework.IntTRS.CaseAnalysis.CaseAnalysisProcessor.process(CaseAnalysisProcessor.java:80) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "Thread-271" #301 daemon prio=6 os_prio=0 tid=0x00002b7c78002000 nid=0xdc34 runnable [0x00002b7c2594c000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x00000006b38ea830> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x00000007010ef230> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x00000007010f12f0> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "Thread-266" #300 daemon prio=6 os_prio=0 tid=0x00002b7c78001000 nid=0xdc33 runnable [0x00002b7c25d4f000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x00000006b38e8770> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x0000000700e5fad0> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x0000000700e61b90> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "process reaper" #250 daemon prio=10 os_prio=0 tid=0x00002b7c64003800 nid=0xdbe6 runnable [0x00002b7c27f70000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #247 daemon prio=10 os_prio=0 tid=0x00002b7c34004800 nid=0xdbe3 runnable [0x00002b7c27e36000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #244 daemon prio=10 os_prio=0 tid=0x00002b7c60001000 nid=0xdbe0 runnable [0x00002b7c27cfc000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #241 daemon prio=10 os_prio=0 tid=0x00002b7c54002000 nid=0xdbdd runnable [0x00002b7c27cc3000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #238 daemon prio=10 os_prio=0 tid=0x00002b7c40002800 nid=0xdbda runnable [0x00002b7c27c8a000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #235 daemon prio=10 os_prio=0 tid=0x00002b7c08132000 nid=0xdbd5 runnable [0x00002b7c27c51000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #232 daemon prio=10 os_prio=0 tid=0x00002b7c6c002800 nid=0xdbd1 runnable [0x00002b7c27c18000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #223 daemon prio=10 os_prio=0 tid=0x00002b7cb8001800 nid=0xdbbc runnable [0x00002b7c278dc000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #220 daemon prio=10 os_prio=0 tid=0x00002b7c68002800 nid=0xdbb9 runnable [0x00002b7c276a1000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread47" #219 daemon prio=6 os_prio=0 tid=0x00002b7c1003c000 nid=0xdbb8 runnable [0x00002b7c27667000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.UnixFileSystem.delete0(Native Method) 33.85/9.54 at java.io.UnixFileSystem.delete(UnixFileSystem.java:265) 33.85/9.54 at java.io.File.delete(File.java:1041) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.solve(YicesEngine.java:245) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.solveAndPutIntoFormula(YicesEngine.java:82) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.satisfiable(YicesEngine.java:49) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.TerminationGraph.buildGraph(TerminationGraph.java:155) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphWorker.analyzeTerminationGraph(IntTRSTerminationGraphWorker.java:121) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphWorker.work(IntTRSTerminationGraphWorker.java:79) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphProcessor.process(IntTRSTerminationGraphProcessor.java:119) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #214 daemon prio=10 os_prio=0 tid=0x00002b7c3c001000 nid=0xdbb2 waiting on condition [0x00002b7c27163000] 33.85/9.54 java.lang.Thread.State: TIMED_WAITING (parking) 33.85/9.54 at sun.misc.Unsafe.park(Native Method) 33.85/9.54 - parking to wait for <0x0000000440003dc8> (a java.util.concurrent.SynchronousQueue$TransferStack) 33.85/9.54 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) 33.85/9.54 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #211 daemon prio=10 os_prio=0 tid=0x00002b7c50001000 nid=0xdbaf waiting on condition [0x00002b7c26f28000] 33.85/9.54 java.lang.Thread.State: TIMED_WAITING (parking) 33.85/9.54 at sun.misc.Unsafe.park(Native Method) 33.85/9.54 - parking to wait for <0x0000000440003dc8> (a java.util.concurrent.SynchronousQueue$TransferStack) 33.85/9.54 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) 33.85/9.54 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #208 daemon prio=10 os_prio=0 tid=0x00002b7c48001800 nid=0xdbac waiting on condition [0x00002b7c26ced000] 33.85/9.54 java.lang.Thread.State: TIMED_WAITING (parking) 33.85/9.54 at sun.misc.Unsafe.park(Native Method) 33.85/9.54 - parking to wait for <0x0000000440003dc8> (a java.util.concurrent.SynchronousQueue$TransferStack) 33.85/9.54 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) 33.85/9.54 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread43" #204 daemon prio=6 os_prio=0 tid=0x00002b7c10036800 nid=0xdba7 runnable [0x00002b7beaecf000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.UnixFileSystem.delete0(Native Method) 33.85/9.54 at java.io.UnixFileSystem.delete(UnixFileSystem.java:265) 33.85/9.54 at java.io.File.delete(File.java:1041) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.solve(YicesEngine.java:245) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.solveAndPutIntoFormula(YicesEngine.java:82) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.YicesEngine.satisfiable(YicesEngine.java:49) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.TerminationGraph.buildGraph(TerminationGraph.java:155) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphWorker.analyzeTerminationGraph(IntTRSTerminationGraphWorker.java:121) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphWorker.work(IntTRSTerminationGraphWorker.java:79) 33.85/9.54 at aprove.Framework.IntTRS.TerminationGraph.IntTRSTerminationGraphProcessor.process(IntTRSTerminationGraphProcessor.java:119) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #203 daemon prio=10 os_prio=0 tid=0x00002b7c5c002000 nid=0xdba6 waiting on condition [0x00002b7c269b1000] 33.85/9.54 java.lang.Thread.State: TIMED_WAITING (parking) 33.85/9.54 at sun.misc.Unsafe.park(Native Method) 33.85/9.54 - parking to wait for <0x0000000440003dc8> (a java.util.concurrent.SynchronousQueue$TransferStack) 33.85/9.54 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) 33.85/9.54 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #200 daemon prio=10 os_prio=0 tid=0x00002b7c90001800 nid=0xdb9f runnable [0x00002b7c26776000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #195 daemon prio=10 os_prio=0 tid=0x00002b7c84001000 nid=0xdb99 runnable [0x00002b7c26238000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #192 daemon prio=10 os_prio=0 tid=0x00002b7c8c001000 nid=0xdb96 runnable [0x00002b7c25ffd000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #188 daemon prio=10 os_prio=0 tid=0x00002b7c4c001800 nid=0xdb93 waiting on condition [0x00002b7c25fc4000] 33.85/9.54 java.lang.Thread.State: TIMED_WAITING (parking) 33.85/9.54 at sun.misc.Unsafe.park(Native Method) 33.85/9.54 - parking to wait for <0x0000000440003dc8> (a java.util.concurrent.SynchronousQueue$TransferStack) 33.85/9.54 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) 33.85/9.54 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) 33.85/9.54 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #187 daemon prio=10 os_prio=0 tid=0x00002b7c3000c000 nid=0xdb92 runnable [0x00002b7c25f8b000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread42" #183 daemon prio=6 os_prio=0 tid=0x00002b7c10011800 nid=0xdb87 runnable [0x00002b7beadcf000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread36" #177 daemon prio=6 os_prio=0 tid=0x00002b7c1002c800 nid=0xdb7f waiting on condition [0x00002b7c2584b000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at aprove.Strategies.Abortions.Clock.increaseTime(Clock.java:77) 33.85/9.54 - locked <0x000000079adbd890> (a aprove.Strategies.Abortions.Clock) 33.85/9.54 at aprove.Strategies.Abortions.Abortion.increaseTime(Abortion.java:211) 33.85/9.54 at aprove.Strategies.Abortions.TrackThread.checkTime(TrackThread.java:115) 33.85/9.54 at aprove.Strategies.Abortions.TrackThreadPool.stopTracking(TrackThreadPool.java:29) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.finish(PooledJob.java:146) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:125) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread32" #173 daemon prio=6 os_prio=0 tid=0x00002b7c10029000 nid=0xdb7b in Object.wait() [0x00002b7c25649000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x00000006b38e6640> (a java.lang.UNIXProcess) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395) 33.85/9.54 - locked <0x00000006b38e6640> (a java.lang.UNIXProcess) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:50) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread25" #166 daemon prio=6 os_prio=0 tid=0x00002b7c1001b000 nid=0xdb74 runnable [0x00002b7c24f42000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.determineT2Command(T2Processor.java:215) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:97) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread23" #164 daemon prio=6 os_prio=0 tid=0x00002b7c10019000 nid=0xdb72 runnable [0x00002b7c24602000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.Thread.setPriority0(Native Method) 33.85/9.54 at java.lang.Thread.setPriority(Thread.java:1095) 33.85/9.54 at java.lang.Thread.init(Thread.java:417) 33.85/9.54 at java.lang.Thread.init(Thread.java:349) 33.85/9.54 at java.lang.Thread.(Thread.java:448) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.(ExecHelper.java:68) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:45) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread18" #157 daemon prio=6 os_prio=0 tid=0x00002b7c10013800 nid=0xdb6b in Object.wait() [0x00002b7c24400000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x00000006db1757b0> (a java.lang.UNIXProcess) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395) 33.85/9.54 - locked <0x00000006db1757b0> (a java.lang.UNIXProcess) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:50) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread13" #150 daemon prio=6 os_prio=0 tid=0x00002b7c1000f800 nid=0xdb62 runnable [0x00002b7c24905000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.util.LinkedList.toArray(LinkedList.java:1052) 33.85/9.54 at java.util.LinkedList.addAll(LinkedList.java:408) 33.85/9.54 at java.util.LinkedList.addAll(LinkedList.java:387) 33.85/9.54 at java.util.LinkedList.(LinkedList.java:119) 33.85/9.54 at aprove.InputModules.Programs.llvm.segraph.LLVMSELoop.toPaths(LLVMSELoop.java:461) 33.85/9.54 at aprove.InputModules.Programs.llvm.processors.LLVMNonterminationProcessor.process(LLVMNonterminationProcessor.java:569) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #104 daemon prio=10 os_prio=0 tid=0x00002b7c0c00c800 nid=0xdb20 runnable [0x00002b7c2493e000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "Thread-50" #61 daemon prio=5 os_prio=0 tid=0x00002b7c0403e000 nid=0xdadf runnable [0x00002b7beb2d4000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000079ab946e0> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000079b4af990> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x000000079b4b0228> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "Thread-48" #60 daemon prio=5 os_prio=0 tid=0x00002b7c04040000 nid=0xdadd runnable [0x00002b7beb1d2000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.FileInputStream.readBytes(Native Method) 33.85/9.54 at java.io.FileInputStream.read(FileInputStream.java:255) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000079ab92648> (a java.lang.UNIXProcess$ProcessPipeInputStream) 33.85/9.54 at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) 33.85/9.54 at java.io.BufferedInputStream.read(BufferedInputStream.java:345) 33.85/9.54 - locked <0x000000079b4b4df0> (a java.io.BufferedInputStream) 33.85/9.54 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) 33.85/9.54 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) 33.85/9.54 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) 33.85/9.54 - locked <0x000000079b4b5688> (a java.io.InputStreamReader) 33.85/9.54 at java.io.InputStreamReader.read(InputStreamReader.java:184) 33.85/9.54 at java.io.Reader.read(Reader.java:100) 33.85/9.54 at java.util.Scanner.readInput(Scanner.java:804) 33.85/9.54 at java.util.Scanner.findWithinHorizon(Scanner.java:1685) 33.85/9.54 at java.util.Scanner.hasNextLine(Scanner.java:1500) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.BufferedStreamInThread.run(ExecHelper.java:98) 33.85/9.54 33.85/9.54 "process reaper" #25 daemon prio=10 os_prio=0 tid=0x00002b7c00020000 nid=0xdaa7 runnable [0x00002b7ba7fea000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "process reaper" #20 daemon prio=10 os_prio=0 tid=0x00002b7c08011800 nid=0xda9b runnable [0x00002b7b8ffe9000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.lang.UNIXProcess.waitForProcessExit(Native Method) 33.85/9.54 at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289) 33.85/9.54 at java.lang.UNIXProcess$$Lambda$12/1463669761.run(Unknown Source) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 33.85/9.54 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "TimeRefresherThread" #19 daemon prio=6 os_prio=0 tid=0x00002b7c1000b800 nid=0xda99 waiting on condition [0x00002b7beafd1000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at aprove.Strategies.Abortions.Clock.increaseTime(Clock.java:77) 33.85/9.54 - locked <0x000000079adbd890> (a aprove.Strategies.Abortions.Clock) 33.85/9.54 at aprove.Strategies.Abortions.Abortion.increaseTime(Abortion.java:211) 33.85/9.54 at aprove.Strategies.Abortions.TrackThread.checkTime(TrackThread.java:115) 33.85/9.54 at aprove.Strategies.Abortions.TimeRefresher$TimeRefresherThread.doPoll(TimeRefresher.java:65) 33.85/9.54 at aprove.Strategies.Abortions.TimeRefresher$TimeRefresherThread.run(TimeRefresher.java:54) 33.85/9.54 33.85/9.54 "DefaultMachine" #18 daemon prio=6 os_prio=0 tid=0x00002b7b90888800 nid=0xda98 waiting on condition [0x00002b7beb0d1000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at aprove.ProofTree.Obligations.ObligationNode.addTruthValueListener(ObligationNode.java:60) 33.85/9.54 - locked <0x00000006a021f038> (a aprove.ProofTree.Obligations.JunctorObligationNode) 33.85/9.54 at aprove.ProofTree.Obligations.BasicObligationNode.addTechnique(BasicObligationNode.java:120) 33.85/9.54 - locked <0x000000079abc79a8> (a aprove.ProofTree.Obligations.BasicObligationNode) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecResult.exec(ExecResult.java:37) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecProcessorStrategy.finish(ExecProcessorStrategy.java:83) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecProcessorStrategy.exec(ExecProcessorStrategy.java:64) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecSequence.exec(ExecSequence.java:24) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecSolve.exec(ExecSolve.java:82) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecAny.exec(ExecAny.java:62) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecSolve.exec(ExecSolve.java:82) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecFirst.exec(ExecFirst.java:71) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecAllParallel.exec(ExecAllParallel.java:29) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecSolve.exec(ExecSolve.java:82) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecAny.exec(ExecAny.java:62) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecSolve.exec(ExecSolve.java:82) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.ExecAny.exec(ExecAny.java:62) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.StrategyRoot.evaluateOnce(StrategyRoot.java:35) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.impl.DefaultMachine$CmdExec.run(DefaultMachine.java:247) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.impl.DefaultMachine.run(DefaultMachine.java:174) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread1" #11 daemon prio=5 os_prio=0 tid=0x00002b7b90256800 nid=0xda91 in Object.wait() [0x00002b7beacce000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x000000079ab905a8> (a java.lang.UNIXProcess) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395) 33.85/9.54 - locked <0x000000079ab905a8> (a java.lang.UNIXProcess) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.ExecHelper.execAndGetExitCode(ExecHelper.java:50) 33.85/9.54 at aprove.InputModules.Programs.t2.T2Processor.process(T2Processor.java:99) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "ThreadPoolThread0" #10 daemon prio=5 os_prio=0 tid=0x00002b7b90255000 nid=0xda90 runnable [0x00002b7beabcc000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 at java.io.UnixFileSystem.delete0(Native Method) 33.85/9.54 at java.io.UnixFileSystem.delete(UnixFileSystem.java:265) 33.85/9.54 at java.io.File.delete(File.java:1041) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.SMTLIBEngine.solve(SMTLIBEngine.java:233) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.SMTLIBEngine.solveAndPutIntoFormula(SMTLIBEngine.java:98) 33.85/9.54 at aprove.GraphUserInterface.Factories.Solvers.Engines.SMTLIBEngine.satisfiable(SMTLIBEngine.java:66) 33.85/9.54 at aprove.Framework.Bytecode.Processors.ToIDPv1.TerminationSCCToIDPv1Processor.checkSat(TerminationSCCToIDPv1Processor.java:785) 33.85/9.54 at aprove.Framework.Bytecode.Processors.ToIDPv1.TerminationSCCToIDPv1Processor.cleanConstraints(TerminationSCCToIDPv1Processor.java:128) 33.85/9.54 at aprove.InputModules.Programs.llvm.processors.LLVMGraphToIntTRSProcessor.transformGraphToIRS(LLVMGraphToIntTRSProcessor.java:175) 33.85/9.54 at aprove.InputModules.Programs.llvm.processors.LLVMGraphToIntTRSProcessor.process(LLVMGraphToIntTRSProcessor.java:91) 33.85/9.54 at aprove.InputModules.Programs.llvm.processors.LLVMSEGraphToIntTRSProcessor.process(LLVMSEGraphToIntTRSProcessor.java:43) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor.execute(Executor.java:326) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.Executor$Runner.wrappedRun(Executor.java:377) 33.85/9.54 at aprove.Strategies.Abortions.PooledJob.run(PooledJob.java:99) 33.85/9.54 at aprove.Strategies.Util.PrioritizableThreadPool$Worker.run(PrioritizableThreadPool.java:274) 33.85/9.54 at java.lang.Thread.run(Thread.java:748) 33.85/9.54 33.85/9.54 "Service Thread" #8 daemon prio=9 os_prio=0 tid=0x00002b7b90199800 nid=0xda8e runnable [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 33.85/9.54 "C1 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00002b7b90184000 nid=0xda8d waiting on condition [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 33.85/9.54 "C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00002b7b90182800 nid=0xda8c runnable [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 33.85/9.54 "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00002b7b9017f800 nid=0xda8b waiting on condition [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 33.85/9.54 "Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00002b7b9017e000 nid=0xda8a waiting on condition [0x0000000000000000] 33.85/9.54 java.lang.Thread.State: RUNNABLE 33.85/9.54 33.85/9.54 "Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00002b7b9014a000 nid=0xda89 in Object.wait() [0x00002b7ba7daf000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x000000044008d238> (a java.lang.ref.ReferenceQueue$Lock) 33.85/9.54 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) 33.85/9.54 - locked <0x000000044008d238> (a java.lang.ref.ReferenceQueue$Lock) 33.85/9.54 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) 33.85/9.54 at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) 33.85/9.54 33.85/9.54 "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00002b7b90145800 nid=0xda88 in Object.wait() [0x00002b7ba7cae000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x000000044008d468> (a java.lang.ref.Reference$Lock) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at java.lang.ref.Reference.tryHandlePending(Reference.java:191) 33.85/9.54 - locked <0x000000044008d468> (a java.lang.ref.Reference$Lock) 33.85/9.54 at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153) 33.85/9.54 33.85/9.54 "main" #1 prio=5 os_prio=0 tid=0x00002b7b90008800 nid=0xda81 in Object.wait() [0x00002b7b8b559000] 33.85/9.54 java.lang.Thread.State: WAITING (on object monitor) 33.85/9.54 at java.lang.Object.wait(Native Method) 33.85/9.54 - waiting on <0x00000004400043d8> (a aprove.Strategies.ExecutableStrategies.impl.Handle) 33.85/9.54 at java.lang.Object.wait(Object.java:502) 33.85/9.54 at aprove.Strategies.ExecutableStrategies.impl.Handle.waitForFinish(Handle.java:42) 33.85/9.54 - locked <0x00000004400043d8> (a aprove.Strategies.ExecutableStrategies.impl.Handle) 33.85/9.54 at aprove.Runtime.AProVE.waitForHandle(AProVE.java:32) 33.85/9.54 at aprove.Runtime.AProVE.run(AProVE.java:101) 33.85/9.54 at aprove.CommandLineInterface.Main.run(Main.java:94) 33.85/9.54 at aprove.CommandLineInterface.Main.doMain(Main.java:42) 33.85/9.54 at aprove.Main.doMain(Main.java:54) 33.85/9.54 at aprove.Main.main(Main.java:20) 33.85/9.54 33.85/9.54 "VM Thread" os_prio=0 tid=0x00002b7b9013e000 nid=0xda87 runnable 33.85/9.54 33.85/9.54 "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00002b7b9001e000 nid=0xda83 runnable 33.85/9.54 33.85/9.54 "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00002b7b9001f800 nid=0xda84 runnable 33.85/9.54 33.85/9.54 "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00002b7b90021800 nid=0xda85 runnable 33.85/9.54 33.85/9.54 "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00002b7b90023800 nid=0xda86 runnable 33.85/9.54 33.85/9.54 "VM Periodic Task Thread" os_prio=0 tid=0x00002b7b901a4800 nid=0xda8f waiting on condition 33.85/9.54 39.68/11.01 JNI global references: 424 39.68/11.01 45.20/12.44 Heap 45.20/12.44 PSYoungGen total 4281856K, used 824100K [0x0000000695580000, 0x00000007c0000000, 0x00000007c0000000) 45.20/12.44 eden space 3670528K, 18% used [0x0000000695580000,0x00000006bfe28d38,0x0000000775600000) 45.20/12.44 from space 611328K, 20% used [0x0000000775600000,0x000000077d2203c8,0x000000079ab00000) 45.20/12.44 to space 611328K, 0% used [0x000000079ab00000,0x000000079ab00000,0x00000007c0000000) 45.20/12.44 ParOldGen total 9786880K, used 24481K [0x0000000440000000, 0x0000000695580000, 0x0000000695580000) 45.20/12.44 object space 9786880K, 0% used [0x0000000440000000,0x00000004417e8500,0x0000000695580000) 45.20/12.44 Metaspace used 23274K, capacity 23514K, committed 23936K, reserved 1071104K 45.20/12.44 class space used 2543K, capacity 2619K, committed 2688K, reserved 1048576K 45.20/12.44 62.38/16.74 NO 62.38/16.78 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 62.38/16.78 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 62.38/16.78 62.38/16.78 62.38/16.78 Termination of the given C Problem could be disproven: 62.38/16.78 62.38/16.78 (0) C Problem 62.38/16.78 (1) CToLLVMProof [EQUIVALENT, 171 ms] 62.38/16.78 (2) LLVM problem 62.38/16.78 (3) LLVMToTerminationGraphProof [EQUIVALENT, 1617 ms] 62.38/16.78 (4) LLVM Symbolic Execution Graph 62.38/16.78 (5) SymbolicExecutionGraphToLassoProof [COMPLETE, 0 ms] 62.38/16.78 (6) AND 62.38/16.78 (7) LLVM Symbolic Execution Lasso 62.38/16.78 (8) Lasso2IRS [EQUIVALENT, 133 ms] 62.38/16.78 (9) IntTRS 62.38/16.78 (10) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (11) T2IntSys 62.38/16.78 (12) LLVM Symbolic Execution Lasso 62.38/16.78 (13) Lasso2IRS [EQUIVALENT, 149 ms] 62.38/16.78 (14) IntTRS 62.38/16.78 (15) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (16) T2IntSys 62.38/16.78 (17) T2 [EQUIVALENT, 862 ms] 62.38/16.78 (18) YES 62.38/16.78 (19) LLVM Symbolic Execution Lasso 62.38/16.78 (20) Lasso2IRS [EQUIVALENT, 125 ms] 62.38/16.78 (21) IntTRS 62.38/16.78 (22) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (23) T2IntSys 62.38/16.78 (24) T2 [EQUIVALENT, 2 ms] 62.38/16.78 (25) YES 62.38/16.78 (26) LLVM Symbolic Execution Lasso 62.38/16.78 (27) Lasso2IRS [EQUIVALENT, 136 ms] 62.38/16.78 (28) IntTRS 62.38/16.78 (29) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (30) T2IntSys 62.38/16.78 (31) T2 [COMPLETE, 2163 ms] 62.38/16.78 (32) NO 62.38/16.78 (33) LLVM Symbolic Execution Lasso 62.38/16.78 (34) Lasso2IRS [EQUIVALENT, 147 ms] 62.38/16.78 (35) IntTRS 62.38/16.78 (36) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (37) T2IntSys 62.38/16.78 (38) T2 [EQUIVALENT, 893 ms] 62.38/16.78 (39) YES 62.38/16.78 (40) LLVM Symbolic Execution Lasso 62.38/16.78 (41) Lasso2IRS [EQUIVALENT, 123 ms] 62.38/16.78 (42) IntTRS 62.38/16.78 (43) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (44) T2IntSys 62.38/16.78 (45) T2 [EQUIVALENT, 832 ms] 62.38/16.78 (46) YES 62.38/16.78 (47) LLVM Symbolic Execution Lasso 62.38/16.78 (48) Lasso2IRS [EQUIVALENT, 100 ms] 62.38/16.78 (49) IntTRS 62.38/16.78 (50) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (51) T2IntSys 62.38/16.78 (52) LLVM Symbolic Execution Lasso 62.38/16.78 (53) Lasso2IRS [EQUIVALENT, 141 ms] 62.38/16.78 (54) IntTRS 62.38/16.78 (55) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (56) T2IntSys 62.38/16.78 (57) T2 [EQUIVALENT, 853 ms] 62.38/16.78 (58) YES 62.38/16.78 (59) LLVM Symbolic Execution Lasso 62.38/16.78 (60) Lasso2IRS [EQUIVALENT, 109 ms] 62.38/16.78 (61) IntTRS 62.38/16.78 (62) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (63) T2IntSys 62.38/16.78 (64) T2 [EQUIVALENT, 842 ms] 62.38/16.78 (65) YES 62.38/16.78 (66) LLVM Symbolic Execution Lasso 62.38/16.78 (67) Lasso2IRS [EQUIVALENT, 43 ms] 62.38/16.78 (68) IntTRS 62.38/16.78 (69) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (70) T2IntSys 62.38/16.78 (71) T2 [EQUIVALENT, 962 ms] 62.38/16.78 (72) YES 62.38/16.78 (73) LLVM Symbolic Execution Lasso 62.38/16.78 (74) Lasso2IRS [EQUIVALENT, 101 ms] 62.38/16.78 (75) IntTRS 62.38/16.78 (76) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (77) T2IntSys 62.38/16.78 (78) T2 [EQUIVALENT, 903 ms] 62.38/16.78 (79) YES 62.38/16.78 (80) LLVM Symbolic Execution Lasso 62.38/16.78 (81) Lasso2IRS [EQUIVALENT, 74 ms] 62.38/16.78 (82) IntTRS 62.38/16.78 (83) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (84) T2IntSys 62.38/16.78 (85) T2 [EQUIVALENT, 913 ms] 62.38/16.78 (86) YES 62.38/16.78 (87) LLVM Symbolic Execution Lasso 62.38/16.78 (88) Lasso2IRS [EQUIVALENT, 100 ms] 62.38/16.78 (89) IntTRS 62.38/16.78 (90) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (91) T2IntSys 62.38/16.78 (92) T2 [EQUIVALENT, 872 ms] 62.38/16.78 (93) YES 62.38/16.78 (94) LLVM Symbolic Execution Lasso 62.38/16.78 (95) Lasso2IRS [EQUIVALENT, 97 ms] 62.38/16.78 (96) IntTRS 62.38/16.78 (97) IRS2T2 [EQUIVALENT, 0 ms] 62.38/16.78 (98) T2IntSys 62.38/16.78 (99) T2 [EQUIVALENT, 872 ms] 62.38/16.78 (100) YES 62.38/16.78 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (0) 62.38/16.78 Obligation: 62.38/16.78 c file /export/starexec/sandbox/benchmark/theBenchmark.c 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (1) CToLLVMProof (EQUIVALENT) 62.38/16.78 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (2) 62.38/16.78 Obligation: 62.38/16.78 LLVM Problem 62.38/16.78 62.38/16.78 Aliases: 62.38/16.78 62.38/16.78 Data layout: 62.38/16.78 62.38/16.78 "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" 62.38/16.78 62.38/16.78 Machine: 62.38/16.78 62.38/16.78 "x86_64-pc-linux-gnu" 62.38/16.78 62.38/16.78 Type definitions: 62.38/16.78 62.38/16.78 Global variables: 62.38/16.78 62.38/16.78 Function declarations and definitions: 62.38/16.78 62.38/16.78 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 62.38/16.78 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 62.38/16.78 0: 62.38/16.78 %1 = alloca i32, align 4 62.38/16.78 %i = alloca i32, align 4 62.38/16.78 %up = alloca i32, align 4 62.38/16.78 store 0, %1 62.38/16.78 %2 = call i32 @__VERIFIER_nondet_int() 62.38/16.78 store %2, %i 62.38/16.78 store 0, %up 62.38/16.78 br %3 62.38/16.78 3: 62.38/16.78 %4 = load %i 62.38/16.78 %5 = icmp sgt %4 0 62.38/16.78 br %5, %6, %24 62.38/16.78 6: 62.38/16.78 %7 = load %i 62.38/16.78 %8 = icmp eq %7 1 62.38/16.78 br %8, %9, %10 62.38/16.78 9: 62.38/16.78 store 1, %up 62.38/16.78 br %10 62.38/16.78 10: 62.38/16.78 %11 = load %i 62.38/16.78 %12 = icmp eq %11 10 62.38/16.78 br %12, %13, %14 62.38/16.78 13: 62.38/16.78 store 0, %up 62.38/16.78 br %14 62.38/16.78 14: 62.38/16.78 %15 = load %up 62.38/16.78 %16 = icmp eq %15 1 62.38/16.78 br %16, %17, %20 62.38/16.78 17: 62.38/16.78 %18 = load %i 62.38/16.78 %19 = add %18 1 62.38/16.78 store %19, %i 62.38/16.78 br %23 62.38/16.78 20: 62.38/16.78 %21 = load %i 62.38/16.78 %22 = sub %21 1 62.38/16.78 store %22, %i 62.38/16.78 br %23 62.38/16.78 23: 62.38/16.78 br %3 62.38/16.78 24: 62.38/16.78 ret 0 62.38/16.78 62.38/16.78 62.38/16.78 Analyze Termination of all function calls matching the pattern: 62.38/16.78 main() 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (3) LLVMToTerminationGraphProof (EQUIVALENT) 62.38/16.78 Constructed symbolic execution graph for LLVM program and proved memory safety. 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (4) 62.38/16.78 Obligation: 62.38/16.78 SE Graph 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (5) SymbolicExecutionGraphToLassoProof (COMPLETE) 62.38/16.78 Converted SEGraph to 14 dependent lassos. 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (6) 62.38/16.78 Complex Obligation (AND) 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (7) 62.38/16.78 Obligation: 62.38/16.78 Lasso 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (8) Lasso2IRS (EQUIVALENT) 62.38/16.78 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.38/16.78 Generated rules. Obtained 136 rulesP rules: 62.38/16.78 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.38/16.78 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.38/16.78 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.38/16.78 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.38/16.78 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.38/16.78 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.38/16.78 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.38/16.78 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.38/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.38/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.38/16.78 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.38/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.38/16.78 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.38/16.78 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.38/16.78 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.38/16.78 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.38/16.78 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.38/16.78 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.38/16.78 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.38/16.78 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.38/16.78 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.38/16.78 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.38/16.78 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.38/16.78 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.38/16.78 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.38/16.78 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.38/16.78 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.38/16.78 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.38/16.78 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: v7 != 10 62.38/16.78 f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.38/16.78 f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.38/16.78 f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.38/16.78 f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.38/16.78 f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.38/16.78 f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.38/16.78 f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: 1 + v12 = v7 && 1 <= v12 62.38/16.78 f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.38/16.78 f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.38/16.78 f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.38/16.78 f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_243(v1, v3, v5, v7, v7, 1, 0, v12, v2, v4, v6, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: v263 = 1 62.38/16.78 f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_686(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 Combined rules. Obtained 7 rulesP rules: 62.38/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.38/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.38/16.78 f_105 -> f_695(v1:0, v3:0, v5:0, v7:0, 2, 1, 0, 2, 1, v2:0, v4:0, v6:0, 3, 4) :|: FALSE 62.38/16.78 f_105 -> f_695(v1:0, v3:0, v5:0, 2, 2, 1, 0, 2, 1, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.38/16.78 Filtered unneeded arguments: 62.38/16.78 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.38/16.78 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.38/16.78 Removed division, modulo operations, cleaned up constraints. Obtained 7 rules.P rules: 62.38/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.38/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.38/16.78 f_105 -> f_695(2) :|: FALSE 62.38/16.78 f_105 -> f_695(2) :|: TRUE 62.38/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (9) 62.38/16.78 Obligation: 62.38/16.78 Rules: 62.38/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.38/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.38/16.78 f_105 -> f_695(2) :|: FALSE 62.38/16.78 f_105 -> f_695(2) :|: TRUE 62.38/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(x) -> f_695(1 + x) :|: x > 10 62.38/16.78 Start term: f_105 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (10) IRS2T2 (EQUIVALENT) 62.38/16.78 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.38/16.78 62.38/16.78 (f_649_1,1) 62.38/16.78 (f_695_1,2) 62.38/16.78 (f_105_1,3) 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (11) 62.38/16.78 Obligation: 62.38/16.78 START: 3; 62.38/16.78 62.38/16.78 FROM: 1; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 0 && oldX0 = 2); 62.38/16.78 x0 := 2; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 1; 62.38/16.78 oldX0 := x0; 62.38/16.78 oldX1 := oldX0 - 1; 62.38/16.78 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.38/16.78 x0 := oldX0 - 1; 62.38/16.78 TO: 1; 62.38/16.78 62.38/16.78 FROM: 3; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 1); 62.38/16.78 x0 := 2; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 3; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 0); 62.38/16.78 x0 := 2; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 0 && oldX0 = 10); 62.38/16.78 x0 := 9; 62.38/16.78 TO: 1; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(oldX0 > 1 && oldX0 < 10); 62.38/16.78 x0 := 1 + oldX0; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(oldX0 > 10); 62.38/16.78 x0 := 1 + oldX0; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (12) 62.38/16.78 Obligation: 62.38/16.78 Lasso 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (13) Lasso2IRS (EQUIVALENT) 62.38/16.78 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.38/16.78 Generated rules. Obtained 157 rulesP rules: 62.38/16.78 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.38/16.78 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.38/16.78 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.38/16.78 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.38/16.78 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.38/16.78 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.38/16.78 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.38/16.78 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.38/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.38/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.38/16.78 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.38/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.38/16.78 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.38/16.78 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.38/16.78 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.38/16.78 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.38/16.78 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.38/16.78 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.38/16.78 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.38/16.78 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.38/16.78 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.38/16.78 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.38/16.78 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.38/16.78 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.38/16.78 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.38/16.78 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.38/16.78 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.38/16.78 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.38/16.78 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: v7 = 10 62.38/16.78 f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_313(v1, v3, v5, 10, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_313(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) :|: TRUE 62.38/16.78 f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.38/16.78 f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.38/16.78 f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: TRUE 62.38/16.78 f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.38/16.78 f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.38/16.78 f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.38/16.78 f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.38/16.78 f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.38/16.78 f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.38/16.78 f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_277(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_277(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) -> f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: 1 + v503 = v421 && 1 <= v503 62.38/16.78 f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_243(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.38/16.78 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.38/16.78 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: v263 = 1 62.38/16.78 f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.38/16.78 f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_686(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.38/16.78 Combined rules. Obtained 6 rulesP rules: 62.38/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.38/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.38/16.78 f_105 -> f_695(v1:0, v3:0, v5:0, 10, 2, 1, 0, 2, 1, v2:0, v4:0, v6:0, 3, 4) :|: FALSE 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.38/16.78 Filtered unneeded arguments: 62.38/16.78 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.38/16.78 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.38/16.78 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.38/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.38/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.38/16.78 f_105 -> f_695(2) :|: FALSE 62.38/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (14) 62.38/16.78 Obligation: 62.38/16.78 Rules: 62.38/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.38/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.38/16.78 f_105 -> f_695(2) :|: FALSE 62.38/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(x) -> f_695(1 + x) :|: x > 10 62.38/16.78 Start term: f_105 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (15) IRS2T2 (EQUIVALENT) 62.38/16.78 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.38/16.78 62.38/16.78 (f_649_1,1) 62.38/16.78 (f_695_1,2) 62.38/16.78 (f_105_1,3) 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (16) 62.38/16.78 Obligation: 62.38/16.78 START: 3; 62.38/16.78 62.38/16.78 FROM: 1; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 0 && oldX0 = 2); 62.38/16.78 x0 := 2; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 1; 62.38/16.78 oldX0 := x0; 62.38/16.78 oldX1 := oldX0 - 1; 62.38/16.78 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.38/16.78 x0 := oldX0 - 1; 62.38/16.78 TO: 1; 62.38/16.78 62.38/16.78 FROM: 3; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 1); 62.38/16.78 x0 := 2; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 0 && oldX0 = 10); 62.38/16.78 x0 := 9; 62.38/16.78 TO: 1; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(oldX0 > 1 && oldX0 < 10); 62.38/16.78 x0 := 1 + oldX0; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(oldX0 > 10); 62.38/16.78 x0 := 1 + oldX0; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (17) T2 (EQUIVALENT) 62.38/16.78 No proof given by T2 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (18) 62.38/16.78 YES 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (19) 62.38/16.78 Obligation: 62.38/16.78 Lasso 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (20) Lasso2IRS (EQUIVALENT) 62.38/16.78 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.38/16.78 Generated rules. Obtained 140 rulesP rules: 62.38/16.78 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.38/16.78 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.38/16.78 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.38/16.78 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.38/16.78 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.38/16.78 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.38/16.78 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.38/16.78 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.38/16.78 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.38/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.38/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.38/16.78 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.38/16.78 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.38/16.78 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.38/16.78 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.38/16.78 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.38/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.38/16.78 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.38/16.78 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.38/16.78 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.38/16.78 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.38/16.78 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.38/16.78 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.38/16.78 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.38/16.78 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.38/16.78 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.38/16.78 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.38/16.78 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.38/16.78 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.38/16.78 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.38/16.78 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.38/16.78 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.38/16.78 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.38/16.78 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.38/16.78 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.38/16.78 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.38/16.78 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.38/16.78 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: v7 = 1 62.38/16.78 f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.38/16.78 f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.38/16.78 f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.38/16.78 f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.38/16.78 f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.38/16.78 f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.38/16.78 f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_253(v1, v3, v5, 1, 2, 0, 1, v2, v4, v6, 3, 2, 4) :|: TRUE 62.38/16.78 f_253(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) -> f_318(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) :|: TRUE 62.38/16.78 f_318(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) -> f_362(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) :|: TRUE 62.38/16.78 f_362(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) -> f_417(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) :|: TRUE 62.38/16.78 f_417(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) :|: 0 = 0 62.38/16.78 f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_421(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: v1371 = 10 62.38/16.78 f_421(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_424(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.38/16.78 f_424(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_428(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.38/16.78 f_428(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_431(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.38/16.78 f_431(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_434(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.38/16.78 f_434(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_437(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.38/16.78 f_437(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_440(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.38/16.78 f_440(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_443(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.38/16.78 f_443(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_446(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.38/16.78 f_446(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_449(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.38/16.78 f_449(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_452(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.38/16.78 f_452(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_455(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.38/16.78 f_455(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_719(v1367, v1368, v1369, 1, 10, 1, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.38/16.78 Combined rules. Obtained 6 rulesP rules: 62.38/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.38/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.38/16.78 f_105 -> f_649(v1:0, v3:0, v5:0, 1, 9, 1, 0, 9, 10, 10, v2:0, v4:0, v6:0, 3, 2, 4) :|: FALSE 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.38/16.78 Filtered unneeded arguments: 62.38/16.78 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.38/16.78 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.38/16.78 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.38/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.38/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.38/16.78 f_105 -> f_649(9) :|: FALSE 62.38/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (21) 62.38/16.78 Obligation: 62.38/16.78 Rules: 62.38/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.38/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.38/16.78 f_105 -> f_649(9) :|: FALSE 62.38/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.38/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.38/16.78 f_695(x) -> f_695(1 + x) :|: x > 10 62.38/16.78 Start term: f_105 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (22) IRS2T2 (EQUIVALENT) 62.38/16.78 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.38/16.78 62.38/16.78 (f_649_1,1) 62.38/16.78 (f_695_1,2) 62.38/16.78 (f_105_1,3) 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (23) 62.38/16.78 Obligation: 62.38/16.78 START: 3; 62.38/16.78 62.38/16.78 FROM: 1; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 0 && oldX0 = 2); 62.38/16.78 x0 := 2; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 1; 62.38/16.78 oldX0 := x0; 62.38/16.78 oldX1 := oldX0 - 1; 62.38/16.78 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.38/16.78 x0 := oldX0 - 1; 62.38/16.78 TO: 1; 62.38/16.78 62.38/16.78 FROM: 3; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 1); 62.38/16.78 x0 := 9; 62.38/16.78 TO: 1; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(0 = 0 && oldX0 = 10); 62.38/16.78 x0 := 9; 62.38/16.78 TO: 1; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(oldX0 > 1 && oldX0 < 10); 62.38/16.78 x0 := 1 + oldX0; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 FROM: 2; 62.38/16.78 oldX0 := x0; 62.38/16.78 assume(oldX0 > 10); 62.38/16.78 x0 := 1 + oldX0; 62.38/16.78 TO: 2; 62.38/16.78 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (24) T2 (EQUIVALENT) 62.38/16.78 No proof given by T2 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (25) 62.38/16.78 YES 62.38/16.78 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (26) 62.38/16.78 Obligation: 62.38/16.78 Lasso 62.38/16.78 ---------------------------------------- 62.38/16.78 62.38/16.78 (27) Lasso2IRS (EQUIVALENT) 62.38/16.78 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.78 Generated rules. Obtained 136 rulesP rules: 62.70/16.78 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.78 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.78 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.70/16.78 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.70/16.78 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.70/16.78 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.78 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.70/16.78 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.70/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.70/16.78 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.70/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.70/16.78 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.70/16.78 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.78 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.70/16.78 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.78 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.78 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.78 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.78 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.78 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.78 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.78 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.78 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.78 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.78 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.78 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.78 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.78 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.78 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.78 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: v7 != 10 62.70/16.78 f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.78 f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.78 f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.78 f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.78 f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.78 f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.78 f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: 1 + v12 = v7 && 1 <= v12 62.70/16.78 f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.78 f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.78 f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.78 f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_243(v1, v3, v5, v7, v7, 1, 0, v12, v2, v4, v6, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: v263 = 1 62.70/16.78 f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_686(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 Combined rules. Obtained 7 rulesP rules: 62.70/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.70/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.70/16.78 f_105 -> f_695(v1:0, v3:0, v5:0, v7:0, 2, 1, 0, 2, 1, v2:0, v4:0, v6:0, 3, 4) :|: FALSE 62.70/16.78 f_105 -> f_695(v1:0, v3:0, v5:0, 2, 2, 1, 0, 2, 1, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.70/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.70/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.70/16.78 Filtered unneeded arguments: 62.70/16.78 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.70/16.78 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.70/16.78 Removed division, modulo operations, cleaned up constraints. Obtained 7 rules.P rules: 62.70/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.78 f_105 -> f_695(2) :|: FALSE 62.70/16.78 f_105 -> f_695(2) :|: TRUE 62.70/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (28) 62.70/16.78 Obligation: 62.70/16.78 Rules: 62.70/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.78 f_105 -> f_695(2) :|: FALSE 62.70/16.78 f_105 -> f_695(2) :|: TRUE 62.70/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.78 f_695(x) -> f_695(1 + x) :|: x > 10 62.70/16.78 Start term: f_105 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (29) IRS2T2 (EQUIVALENT) 62.70/16.78 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.78 62.70/16.78 (f_649_1,1) 62.70/16.78 (f_695_1,2) 62.70/16.78 (f_105_1,3) 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (30) 62.70/16.78 Obligation: 62.70/16.78 START: 3; 62.70/16.78 62.70/16.78 FROM: 1; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(0 = 0 && oldX0 = 2); 62.70/16.78 x0 := 2; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 FROM: 1; 62.70/16.78 oldX0 := x0; 62.70/16.78 oldX1 := oldX0 - 1; 62.70/16.78 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.70/16.78 x0 := oldX0 - 1; 62.70/16.78 TO: 1; 62.70/16.78 62.70/16.78 FROM: 3; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(0 = 1); 62.70/16.78 x0 := 2; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 FROM: 3; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(0 = 0); 62.70/16.78 x0 := 2; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 FROM: 2; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(0 = 0 && oldX0 = 10); 62.70/16.78 x0 := 9; 62.70/16.78 TO: 1; 62.70/16.78 62.70/16.78 FROM: 2; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(oldX0 > 1 && oldX0 < 10); 62.70/16.78 x0 := 1 + oldX0; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 FROM: 2; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(oldX0 > 10); 62.70/16.78 x0 := 1 + oldX0; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (31) T2 (COMPLETE) 62.70/16.78 Found this recurrent set for cutpoint 7: 6 <= x0 and x0 <= 6 and x0+-10 <= 0 and -x0+10 <= 0 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (32) 62.70/16.78 NO 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (33) 62.70/16.78 Obligation: 62.70/16.78 Lasso 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (34) Lasso2IRS (EQUIVALENT) 62.70/16.78 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.78 Generated rules. Obtained 157 rulesP rules: 62.70/16.78 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.78 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.78 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.70/16.78 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.70/16.78 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.70/16.78 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.78 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.70/16.78 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.70/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.70/16.78 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.70/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.70/16.78 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.70/16.78 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.78 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.70/16.78 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.78 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.78 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.78 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.78 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.78 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.78 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.78 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.78 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.78 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.78 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.78 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.78 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.78 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.78 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.78 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: v7 = 10 62.70/16.78 f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.78 f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.78 f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.78 f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.78 f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.78 f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.78 f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.78 f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.78 f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.78 f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.78 f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.78 f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_313(v1, v3, v5, 10, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.78 f_313(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.78 f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.78 f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.78 f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.78 f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.78 f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.78 f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.78 f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.78 f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.78 f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.78 f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_277(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_277(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) -> f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: 1 + v503 = v421 && 1 <= v503 62.70/16.78 f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_243(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.78 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.78 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: v263 = 1 62.70/16.78 f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.78 f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_686(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.78 Combined rules. Obtained 6 rulesP rules: 62.70/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.70/16.78 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.70/16.78 f_105 -> f_695(v1:0, v3:0, v5:0, 10, 2, 1, 0, 2, 1, v2:0, v4:0, v6:0, 3, 4) :|: FALSE 62.70/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.70/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.78 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.70/16.78 Filtered unneeded arguments: 62.70/16.78 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.70/16.78 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.70/16.78 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.70/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.78 f_105 -> f_695(2) :|: FALSE 62.70/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (35) 62.70/16.78 Obligation: 62.70/16.78 Rules: 62.70/16.78 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.78 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.78 f_105 -> f_695(2) :|: FALSE 62.70/16.78 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.78 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.78 f_695(x) -> f_695(1 + x) :|: x > 10 62.70/16.78 Start term: f_105 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (36) IRS2T2 (EQUIVALENT) 62.70/16.78 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.78 62.70/16.78 (f_649_1,1) 62.70/16.78 (f_695_1,2) 62.70/16.78 (f_105_1,3) 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (37) 62.70/16.78 Obligation: 62.70/16.78 START: 3; 62.70/16.78 62.70/16.78 FROM: 1; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(0 = 0 && oldX0 = 2); 62.70/16.78 x0 := 2; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 FROM: 1; 62.70/16.78 oldX0 := x0; 62.70/16.78 oldX1 := oldX0 - 1; 62.70/16.78 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.70/16.78 x0 := oldX0 - 1; 62.70/16.78 TO: 1; 62.70/16.78 62.70/16.78 FROM: 3; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(0 = 1); 62.70/16.78 x0 := 2; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 FROM: 2; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(0 = 0 && oldX0 = 10); 62.70/16.78 x0 := 9; 62.70/16.78 TO: 1; 62.70/16.78 62.70/16.78 FROM: 2; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(oldX0 > 1 && oldX0 < 10); 62.70/16.78 x0 := 1 + oldX0; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 FROM: 2; 62.70/16.78 oldX0 := x0; 62.70/16.78 assume(oldX0 > 10); 62.70/16.78 x0 := 1 + oldX0; 62.70/16.78 TO: 2; 62.70/16.78 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (38) T2 (EQUIVALENT) 62.70/16.78 No proof given by T2 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (39) 62.70/16.78 YES 62.70/16.78 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (40) 62.70/16.78 Obligation: 62.70/16.78 Lasso 62.70/16.78 ---------------------------------------- 62.70/16.78 62.70/16.78 (41) Lasso2IRS (EQUIVALENT) 62.70/16.78 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.78 Generated rules. Obtained 140 rulesP rules: 62.70/16.78 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.78 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.78 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.70/16.78 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.78 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.70/16.78 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.70/16.78 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.78 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.70/16.78 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.70/16.78 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.70/16.78 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.78 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.78 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.78 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.78 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.70/16.78 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.70/16.78 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.78 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.78 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.78 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.70/16.78 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.78 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.70/16.78 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.78 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.78 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.78 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.78 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.78 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.78 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.78 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.78 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.78 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.78 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.78 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.78 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.78 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.78 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.78 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.78 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: v7 = 1 62.70/16.78 f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.78 f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.78 f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_253(v1, v3, v5, 1, 2, 0, 1, v2, v4, v6, 3, 2, 4) :|: TRUE 62.70/16.79 f_253(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) -> f_318(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) :|: TRUE 62.70/16.79 f_318(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) -> f_362(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) :|: TRUE 62.70/16.79 f_362(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) -> f_417(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) :|: TRUE 62.70/16.79 f_417(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_421(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: v1371 = 10 62.70/16.79 f_421(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_424(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_424(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_428(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_428(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_431(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_431(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_434(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_434(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_437(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_437(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_440(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_440(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_443(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_443(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_446(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_446(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_449(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_449(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_452(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_452(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_455(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_455(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_719(v1367, v1368, v1369, 1, 10, 1, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 6 rulesP rules: 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.70/16.79 f_105 -> f_649(v1:0, v3:0, v5:0, 1, 9, 1, 0, 9, 10, 10, v2:0, v4:0, v6:0, 3, 2, 4) :|: FALSE 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.70/16.79 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_649(9) :|: FALSE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (42) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_649(9) :|: FALSE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(x) -> f_695(1 + x) :|: x > 10 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (43) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_649_1,1) 62.70/16.79 (f_695_1,2) 62.70/16.79 (f_105_1,3) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (44) 62.70/16.79 Obligation: 62.70/16.79 START: 3; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 2); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := oldX0 - 1; 62.70/16.79 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.70/16.79 x0 := oldX0 - 1; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 3; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 1); 62.70/16.79 x0 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 10); 62.70/16.79 x0 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 1 && oldX0 < 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (45) T2 (EQUIVALENT) 62.70/16.79 No proof given by T2 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (46) 62.70/16.79 YES 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (47) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (48) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 136 rulesP rules: 62.70/16.79 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.79 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.70/16.79 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.70/16.79 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.70/16.79 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.79 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.70/16.79 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.79 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.70/16.79 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.70/16.79 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.70/16.79 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.70/16.79 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.70/16.79 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.70/16.79 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.79 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.79 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.79 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.79 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.79 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.79 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: v7 != 10 62.70/16.79 f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: 1 + v12 = v7 && 1 <= v12 62.70/16.79 f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_243(v1, v3, v5, v7, v7, 1, 0, v12, v2, v4, v6, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: v263 = 1 62.70/16.79 f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_686(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 7 rulesP rules: 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.70/16.79 f_105 -> f_695(v1:0, v3:0, v5:0, v7:0, 2, 1, 0, 2, 1, v2:0, v4:0, v6:0, 3, 4) :|: FALSE 62.70/16.79 f_105 -> f_695(v1:0, v3:0, v5:0, 2, 2, 1, 0, 2, 1, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.70/16.79 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 7 rules.P rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_695(2) :|: FALSE 62.70/16.79 f_105 -> f_695(2) :|: TRUE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (49) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_695(2) :|: FALSE 62.70/16.79 f_105 -> f_695(2) :|: TRUE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(x) -> f_695(1 + x) :|: x > 10 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (50) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_649_1,1) 62.70/16.79 (f_695_1,2) 62.70/16.79 (f_105_1,3) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (51) 62.70/16.79 Obligation: 62.70/16.79 START: 3; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 2); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := oldX0 - 1; 62.70/16.79 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.70/16.79 x0 := oldX0 - 1; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 3; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 1); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 3; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 10); 62.70/16.79 x0 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 1 && oldX0 < 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (52) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (53) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 157 rulesP rules: 62.70/16.79 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.79 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.70/16.79 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.70/16.79 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.70/16.79 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.79 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.70/16.79 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.79 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.70/16.79 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.70/16.79 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.70/16.79 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.70/16.79 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.70/16.79 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.70/16.79 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.79 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.79 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.79 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.79 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.79 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.79 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: v7 = 10 62.70/16.79 f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_313(v1, v3, v5, 10, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_313(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_277(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_277(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) -> f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: 1 + v503 = v421 && 1 <= v503 62.70/16.79 f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_243(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: v263 = 1 62.70/16.79 f_254(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_257(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_260(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_263(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_266(v256, v257, v258, v259, 1, 2, 0, v264, v265, v266, 3, 4) -> f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_270(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_274(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_279(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_283(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_287(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_291(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_295(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_299(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_303(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_307(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) -> f_686(v256, v257, v258, v259, 1, 0, 2, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 6 rulesP rules: 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.70/16.79 f_105 -> f_695(v1:0, v3:0, v5:0, 10, 2, 1, 0, 2, 1, v2:0, v4:0, v6:0, 3, 4) :|: FALSE 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.70/16.79 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_695(2) :|: FALSE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (54) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_695(2) :|: FALSE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(x) -> f_695(1 + x) :|: x > 10 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (55) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_649_1,1) 62.70/16.79 (f_695_1,2) 62.70/16.79 (f_105_1,3) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (56) 62.70/16.79 Obligation: 62.70/16.79 START: 3; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 2); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := oldX0 - 1; 62.70/16.79 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.70/16.79 x0 := oldX0 - 1; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 3; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 1); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 10); 62.70/16.79 x0 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 1 && oldX0 < 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (57) T2 (EQUIVALENT) 62.70/16.79 No proof given by T2 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (58) 62.70/16.79 YES 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (59) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (60) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 140 rulesP rules: 62.70/16.79 f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_650(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.79 f_651(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_652(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: 1 + v3815 = v3791 && 0 <= v3815 && v3815 <= 8 62.70/16.79 f_653(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_654(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_655(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) :|: TRUE 62.70/16.79 f_656(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3815, v3797, v3798, v3799, 3, 4, 8) -> f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) :|: 0 = 0 62.70/16.79 f_657(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 4, 8) -> f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 < v3815 && 2 <= v3791 62.70/16.79 f_658(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.79 f_660(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: TRUE 62.70/16.79 f_662(v3787, v3788, v3789, v3790, v3815, 1, v3791, 0, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) :|: 0 = 0 62.70/16.79 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) :|: v3815 = 1 62.70/16.79 f_664(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 2, 4, 8) -> f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: v3815 != 1 && 2 <= v3815 && v3815 <= 8 && 3 <= v3791 62.70/16.79 f_665(v3787, v3788, v3789, v3790, 1, 0, 2, 9, 10, v3797, v3798, v3799, 3, 4) -> f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_667(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_669(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_671(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_673(v3787, v3788, v3789, v3790, 1, 2, 0, 9, 10, v3797, v3798, v3799, 3, 4) -> f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_675(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_677(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_678(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_679(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_680(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_681(v3787, v3788, v3789, v3790, 1, 0, 9, 10, 2, v3797, v3798, v3799, 3, 4) -> f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_682(v3787, v3788, v3789, v3790, 1, 0, 10, 2, v3797, v3798, v3799, 3, 4) -> f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: 0 = 0 62.70/16.79 f_683(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_684(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_685(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) -> f_686(v3787, v3788, v3789, v3790, 1, 0, 2, v3797, v3798, v3799, 3, 4) :|: TRUE 62.70/16.79 f_686(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_687(v4100, v4101, v4102, v4103, 1, 0, 2, v4107, v4108, v4109, 3, 4) -> f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_688(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_689(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_690(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_691(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: 0 = 0 62.70/16.79 f_692(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_693(v4100, v4101, v4102, v4103, 2, 1, 0, v4107, v4108, v4109, 3, 4) -> f_694(v4100, v4101, v4102, v4103, 2, 1, 0, 1, 2, v4107, v4108, v4109, 3, 4) :|: TRUE 62.70/16.79 f_694(v4276, v4277, v4278, v4279, v4280, 1, 0, v4283, 2, v4285, v4286, v4287, 3, 4) -> f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: v4280 = 10 62.70/16.79 f_695(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 4) -> f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: v4280 != 10 62.70/16.79 f_696(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_698(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_700(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_702(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_704(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_706(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_708(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_710(v4276, v4277, v4278, v4279, 10, 1, 0, 2, 9, v4285, v4286, v4287, 3, 4) -> f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_712(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: 0 = 0 62.70/16.79 f_714(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_716(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_718(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) -> f_719(v4276, v4277, v4278, v4279, 10, 1, 0, 9, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_719(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_721(v4635, v4636, v4637, v4638, 10, 1, 0, 9, v4643, v4644, v4645, 3, 4) -> f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_723(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_725(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_727(v4635, v4636, v4637, v4638, 9, 1, 10, 0, v4643, v4644, v4645, 3, 4) -> f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_729(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_731(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_732(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_733(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: 0 = 0 62.70/16.79 f_734(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) :|: TRUE 62.70/16.79 f_735(v4635, v4636, v4637, v4638, 9, 1, 0, 10, v4643, v4644, v4645, 3, 4) -> f_648(v4635, v4636, v4637, v4638, 9, 1, 0, 9, 10, 10, v4643, v4644, v4645, 3, 2, 4) :|: TRUE 62.70/16.79 f_648(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) -> f_649(v3787, v3788, v3789, v3790, v3791, 1, 0, 9, 10, v3796, v3797, v3798, v3799, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_697(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_699(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_701(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_703(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_705(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_707(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4283, v4285, v4286, v4287, 3, 10, 4) -> f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_709(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: v4505 = 1 + v4280 && 3 <= v4505 62.70/16.79 f_711(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_713(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_715(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_717(v4276, v4277, v4278, v4279, v4280, 1, 0, 2, v4505, v4285, v4286, v4287, 3, 10, 4) -> f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_720(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_722(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_724(v4276, v4277, v4278, v4279, v4505, 1, v4280, 0, 2, v4285, v4286, v4287, 3, 10, 4) -> f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_726(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: 0 = 0 62.70/16.79 f_728(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) :|: TRUE 62.70/16.79 f_730(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 10, 4) -> f_694(v4276, v4277, v4278, v4279, v4505, 1, 0, v4280, 2, v4285, v4286, v4287, 3, 4) :|: TRUE 62.70/16.79 f_666(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_668(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.79 f_670(v3787, v3788, v3789, v3790, v3815, 1, 0, v3791, 9, 10, v3797, v3798, v3799, 3, 4, 2, 8) -> f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_672(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: 0 = 0 62.70/16.79 f_674(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) :|: TRUE 62.70/16.79 f_676(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 4, 2, 8) -> f_648(v3787, v3788, v3789, v3790, v3815, 1, 0, 9, 10, v3791, v3797, v3798, v3799, 3, 2, 4) :|: TRUE 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.79 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.79 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: v7 = 1 62.70/16.79 f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_253(v1, v3, v5, 1, 2, 0, 1, v2, v4, v6, 3, 2, 4) :|: TRUE 62.70/16.79 f_253(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) -> f_318(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) :|: TRUE 62.70/16.79 f_318(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) -> f_362(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) :|: TRUE 62.70/16.79 f_362(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) -> f_417(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) :|: TRUE 62.70/16.79 f_417(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_421(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: v1371 = 10 62.70/16.79 f_421(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_424(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_424(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_428(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_428(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_431(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_431(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_434(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_434(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_437(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_437(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_440(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_440(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_443(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_443(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_446(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_446(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_449(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: 0 = 0 62.70/16.79 f_449(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_452(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_452(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_455(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 f_455(v1367, v1368, v1369, 1, 10, 0, 9, v1374, v1375, v1376, 3, 4) -> f_719(v1367, v1368, v1369, 1, 10, 1, 0, 9, v1374, v1375, v1376, 3, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 6 rulesP rules: 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_695(v3787:0, v3788:0, v3789:0, v3790:0, 2, 1, 0, 2, 1, v3797:0, v3798:0, v3799:0, 3, 4) :|: TRUE 62.70/16.79 f_649(v3787:0, v3788:0, v3789:0, v3790:0, 1 + v3815:0, 1, 0, 9, 10, v3796:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) -> f_649(v3787:0, v3788:0, v3789:0, v3790:0, v3815:0, 1, 0, 9, 10, 1 + v3815:0, v3797:0, v3798:0, v3799:0, 3, 2, 4) :|: v3815:0 > 1 && v3815:0 < 9 62.70/16.79 f_105 -> f_649(v1:0, v3:0, v5:0, 1, 9, 1, 0, 9, 10, 10, v2:0, v4:0, v6:0, 3, 2, 4) :|: FALSE 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, 10, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_649(v4276:0, v4277:0, v4278:0, v4279:0, 9, 1, 0, 9, 10, 10, v4285:0, v4286:0, v4287:0, 3, 2, 4) :|: TRUE 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4276:0, v4277:0, v4278:0, v4279:0, v4280:0, 1, 0, 2, v4283:0, v4285:0, v4286:0, v4287:0, 3, 4) -> f_695(v4276:0, v4277:0, v4278:0, v4279:0, 1 + v4280:0, 1, 0, 2, v4280:0, v4285:0, v4286:0, v4287:0, 3, 4) :|: v4280:0 > 10 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_649(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_649(x5) 62.70/16.79 f_695(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_695(x5) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_649(9) :|: FALSE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 10 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (61) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_649(cons_2) -> f_695(2) :|: TRUE && cons_2 = 2 62.70/16.79 f_649(sum~cons_1~v3815:0) -> f_649(v3815:0) :|: v3815:0 > 1 && v3815:0 < 9 && sum~cons_1~v3815:0 = 1 + v3815:0 62.70/16.79 f_105 -> f_649(9) :|: FALSE 62.70/16.79 f_695(cons_10) -> f_649(9) :|: TRUE && cons_10 = 10 62.70/16.79 f_695(v4280:0) -> f_695(1 + v4280:0) :|: v4280:0 > 1 && v4280:0 < 10 62.70/16.79 f_695(x) -> f_695(1 + x) :|: x > 10 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (62) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_649_1,1) 62.70/16.79 (f_695_1,2) 62.70/16.79 (f_105_1,3) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (63) 62.70/16.79 Obligation: 62.70/16.79 START: 3; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 2); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := oldX0 - 1; 62.70/16.79 assume(oldX1 > 1 && oldX1 < 9 && oldX0 = 1 + oldX1); 62.70/16.79 x0 := oldX0 - 1; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 3; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 1); 62.70/16.79 x0 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0 && oldX0 = 10); 62.70/16.79 x0 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 1 && oldX0 < 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 2; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (64) T2 (EQUIVALENT) 62.70/16.79 No proof given by T2 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (65) 62.70/16.79 YES 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (66) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (67) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 58 rulesP rules: 62.70/16.79 f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_422(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) :|: v1371 != 10 62.70/16.79 f_422(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) -> f_425(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_425(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) -> f_429(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_429(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) -> f_432(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_432(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) -> f_435(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_435(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) -> f_438(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_438(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 10, 2, 4) -> f_441(v1367, v1368, v1369, 1, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_441(v1367, v1368, v1369, 1, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) -> f_444(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) :|: v1523 = 1 + v1371 && 3 <= v1523 62.70/16.79 f_444(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) -> f_447(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_447(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) -> f_450(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_450(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) -> f_453(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_453(v1367, v1368, v1369, 1, v1371, 0, v1523, v1374, v1375, v1376, 3, 10, 2, 4) -> f_456(v1367, v1368, v1369, 1, v1523, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_456(v1367, v1368, v1369, 1, v1523, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) -> f_459(v1367, v1368, v1369, 1, v1523, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_459(v1367, v1368, v1369, 1, v1523, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) -> f_462(v1367, v1368, v1369, 1, v1523, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_462(v1367, v1368, v1369, 1, v1523, v1371, 0, v1374, v1375, v1376, 3, 10, 2, 4) -> f_465(v1367, v1368, v1369, 1, v1523, 0, v1371, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_465(v1367, v1368, v1369, 1, v1523, 0, v1371, v1374, v1375, v1376, 3, 10, 2, 4) -> f_468(v1367, v1368, v1369, 1, v1523, 0, v1371, v1374, v1375, v1376, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_468(v1367, v1368, v1369, 1, v1523, 0, v1371, v1374, v1375, v1376, 3, 10, 2, 4) -> f_471(v1367, v1368, v1369, 1, v1523, 0, v1371, v1374, v1375, v1376, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_471(v1367, v1368, v1369, 1, v1523, 0, v1371, v1374, v1375, v1376, 3, 10, 2, 4) -> f_417(v1367, v1368, v1369, 1, v1523, 0, v1371, v1374, v1375, v1376, 3, 2, 4) :|: TRUE 62.70/16.79 f_417(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) -> f_419(v1367, v1368, v1369, 1, v1371, 0, v1373, v1374, v1375, v1376, 3, 2, 4) :|: 0 = 0 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.79 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.79 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: v7 = 1 62.70/16.79 f_122(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_124(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_126(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_128(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_130(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_133(v1, v3, v5, 1, v2, v4, v6, 0, 3, 4) -> f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_136(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_139(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_142(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_145(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_148(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_151(v1, v3, v5, 1, 0, v2, v4, v6, 3, 4) -> f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_154(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_157(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_160(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_163(v1, v3, v5, 1, 0, 2, v2, v4, v6, 3, 4) -> f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_166(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_169(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_172(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_175(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_179(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_183(v1, v3, v5, 1, 2, 0, v2, v4, v6, 3, 4) -> f_253(v1, v3, v5, 1, 2, 0, 1, v2, v4, v6, 3, 2, 4) :|: TRUE 62.70/16.79 f_253(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) -> f_318(v331, v332, v333, 1, v335, 0, v337, v338, v339, v340, 3, 2, 4) :|: TRUE 62.70/16.79 f_318(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) -> f_362(v655, v656, v657, 1, v659, 0, v661, v662, v663, v664, 3, 2, 4) :|: TRUE 62.70/16.79 f_362(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) -> f_417(v1018, v1019, v1020, 1, v1022, 0, v1024, v1025, v1026, v1027, 3, 2, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 3 rulesP rules: 62.70/16.79 f_419(v1367:0, v1368:0, v1369:0, 1, v1371:0, 0, v1373:0, v1374:0, v1375:0, v1376:0, 3, 2, 4) -> f_419(v1367:0, v1368:0, v1369:0, 1, 1 + v1371:0, 0, v1371:0, v1374:0, v1375:0, v1376:0, 3, 2, 4) :|: v1371:0 > 1 && v1371:0 < 10 62.70/16.79 f_419(v1367:0, v1368:0, v1369:0, 1, v1371:0, 0, v1373:0, v1374:0, v1375:0, v1376:0, 3, 2, 4) -> f_419(v1367:0, v1368:0, v1369:0, 1, 1 + v1371:0, 0, v1371:0, v1374:0, v1375:0, v1376:0, 3, 2, 4) :|: v1371:0 > 10 62.70/16.79 f_105 -> f_419(v1:0, v3:0, v5:0, 1, 2, 0, 1, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 2, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_419(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) -> f_419(x5) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 3 rules.P rules: 62.70/16.79 f_419(v1371:0) -> f_419(1 + v1371:0) :|: v1371:0 > 1 && v1371:0 < 10 62.70/16.79 f_419(v1371:0) -> f_419(1 + v1371:0) :|: v1371:0 > 10 62.70/16.79 f_105 -> f_419(2) :|: TRUE 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (68) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_419(v1371:0) -> f_419(1 + v1371:0) :|: v1371:0 > 1 && v1371:0 < 10 62.70/16.79 f_419(x) -> f_419(1 + x) :|: x > 10 62.70/16.79 f_105 -> f_419(2) :|: TRUE 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (69) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_419_1,1) 62.70/16.79 (f_105_1,2) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (70) 62.70/16.79 Obligation: 62.70/16.79 START: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 1 && oldX0 < 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(oldX0 > 10); 62.70/16.79 x0 := 1 + oldX0; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 assume(0 = 0); 62.70/16.79 x0 := 2; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (71) T2 (EQUIVALENT) 62.70/16.79 Initially, performed program simplifications using lexicographic rank functions: 62.70/16.79 * Removed transitions 4 using the following rank functions: 62.70/16.79 - Rank function 1: 62.70/16.79 RF for loc. 5: 1-2*x0 62.70/16.79 RF for loc. 6: -2*x0 62.70/16.79 Bound for (chained) transitions 4: -18 62.70/16.79 Used the following cutpoint-specific lexicographic rank functions: 62.70/16.79 * For cutpoint 5, used the following rank functions/bounds (in descending priority order): 62.70/16.79 - RF -x0+__const_10, bound 1 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (72) 62.70/16.79 YES 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (73) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (74) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 74 rulesP rules: 62.70/16.79 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 1 && 2 <= v263 && 3 <= v260 && 3 <= v259 62.70/16.79 f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: v263 = 10 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 10 62.70/16.79 f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) -> f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_313(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_313(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_277(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_277(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) -> f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: 1 + v503 = v421 && 1 <= v503 62.70/16.79 f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_243(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_277(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.79 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.79 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.79 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.79 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: v7 != 10 62.70/16.79 f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: 1 + v12 = v7 && 1 <= v12 62.70/16.79 f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_243(v1, v3, v5, v7, v7, 1, 0, v12, v2, v4, v6, 3, 10, 2, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 6 rulesP rules: 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 10, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, 8, 1, 9, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v259:0 > 2 && v260:0 > 2 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 0 && v260:0 > 2 && v259:0 > 2 && v503:0 < 9 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 9 && v259:0 > 2 && v260:0 > 2 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, v7:0, v12:0, 1, v7:0, 0, v2:0, v4:0, v6:0, 3, 10, 2, 4) :|: FALSE 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, 1 + v12:0, v12:0, 1, 1 + v12:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 10, 2, 4) :|: v12:0 > 0 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v12:0 < 9 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, 1 + v12:0, v12:0, 1, 1 + v12:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 10, 2, 4) :|: v12:0 > 9 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_245(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) -> f_245(x4, x5, x7) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.70/16.79 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.79 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v260:0 > 2 && v503:0 > 0 && v503:0 < 9 && v259:0 > 2 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.79 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v259:0 > 2 && v260:0 > 2 && v503:0 > 9 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.79 f_105 -> f_245(v7:0, v12:0, v7:0) :|: FALSE 62.70/16.79 f_105 -> f_245(1 + v12:0, v12:0, 1 + v12:0) :|: v12:0 > 0 && v12:0 < 9 62.70/16.79 f_105 -> f_245(1 + v12:0, v12:0, 1 + v12:0) :|: v12:0 > 9 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (75) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.79 f_245(x, x1, x2) -> f_245(x, x3, 1 + x3) :|: x2 > 2 && x3 > 0 && x3 < 9 && x > 2 && x1 = 1 + x3 62.70/16.79 f_245(x4, x5, x6) -> f_245(x4, x7, 1 + x7) :|: x4 > 2 && x6 > 2 && x7 > 9 && x5 = 1 + x7 62.70/16.79 f_105 -> f_245(v7:0, v12:0, v7:0) :|: FALSE 62.70/16.79 f_105 -> f_245(1 + x8, x8, 1 + x8) :|: x8 > 0 && x8 < 9 62.70/16.79 f_105 -> f_245(1 + x9, x9, 1 + x9) :|: x9 > 9 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (76) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_245_3,1) 62.70/16.79 (f_105_3,2) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (77) 62.70/16.79 Obligation: 62.70/16.79 START: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 assume(oldX0 > 2 && oldX2 > 2 && oldX1 = 10); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := 8; 62.70/16.79 x2 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := oldX1 - 1; 62.70/16.79 assume(oldX2 > 2 && oldX3 > 0 && oldX3 < 9 && oldX0 > 2 && oldX1 = 1 + oldX3); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := oldX1 - 1; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := oldX1 - 1; 62.70/16.79 assume(oldX0 > 2 && oldX2 > 2 && oldX3 > 9 && oldX1 = 1 + oldX3); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := oldX1 - 1; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := nondet(); 62.70/16.79 oldX4 := nondet(); 62.70/16.79 assume(0 = 1); 62.70/16.79 x0 := oldX3; 62.70/16.79 x1 := oldX4; 62.70/16.79 x2 := oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := nondet(); 62.70/16.79 assume(oldX3 > 0 && oldX3 < 9); 62.70/16.79 x0 := 1 + oldX3; 62.70/16.79 x1 := oldX3; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := nondet(); 62.70/16.79 assume(oldX3 > 9); 62.70/16.79 x0 := 1 + oldX3; 62.70/16.79 x1 := oldX3; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (78) T2 (EQUIVALENT) 62.70/16.79 Initially, performed program simplifications using lexicographic rank functions: 62.70/16.79 * Removed transitions 3, 6, 7, 8 using the following rank functions: 62.70/16.79 - Rank function 1: 62.70/16.79 RF for loc. 5: 1+2*x1 62.70/16.79 RF for loc. 6: 2*x1 62.70/16.79 Bound for (chained) transitions 6: 20 62.70/16.79 Bound for (chained) transitions 7: 4 62.70/16.79 Bound for (chained) transitions 8: 22 62.70/16.79 - Rank function 2: 62.70/16.79 RF for loc. 5: 1 62.70/16.79 RF for loc. 6: 0 62.70/16.79 Bound for (chained) transitions 3: 1 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (79) 62.70/16.79 YES 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (80) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (81) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 75 rulesP rules: 62.70/16.79 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 1 && 2 <= v263 && 3 <= v260 && 3 <= v259 62.70/16.79 f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: v263 = 10 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 10 62.70/16.79 f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) -> f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_313(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_313(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_277(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_277(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) -> f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: 1 + v503 = v421 && 1 <= v503 62.70/16.79 f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_243(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_277(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.79 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.79 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.79 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.79 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: v7 = 10 62.70/16.79 f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.79 f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_313(v1, v3, v5, 10, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 5 rulesP rules: 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 10, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, 8, 1, 9, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v259:0 > 2 && v260:0 > 2 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, 10, v503:0, 1, 9, 0, v2:0, v4:0, v6:0, 3, 10, 2, 4) :|: FALSE 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, 10, 8, 1, 9, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 10, 2, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 0 && v260:0 > 2 && v259:0 > 2 && v503:0 < 9 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 9 && v259:0 > 2 && v260:0 > 2 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_245(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) -> f_245(x4, x5, x7) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: 62.70/16.79 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.79 f_105 -> f_245(10, v503:0, 9) :|: FALSE 62.70/16.79 f_105 -> f_245(10, 8, 9) :|: TRUE 62.70/16.79 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v260:0 > 2 && v503:0 > 0 && v503:0 < 9 && v259:0 > 2 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.79 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v259:0 > 2 && v260:0 > 2 && v503:0 > 9 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (82) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.79 f_105 -> f_245(10, v503:0, 9) :|: FALSE 62.70/16.79 f_105 -> f_245(10, 8, 9) :|: TRUE 62.70/16.79 f_245(x, x1, x2) -> f_245(x, x3, 1 + x3) :|: x2 > 2 && x3 > 0 && x3 < 9 && x > 2 && x1 = 1 + x3 62.70/16.79 f_245(x4, x5, x6) -> f_245(x4, x7, 1 + x7) :|: x4 > 2 && x6 > 2 && x7 > 9 && x5 = 1 + x7 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (83) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_245_3,1) 62.70/16.79 (f_105_3,2) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (84) 62.70/16.79 Obligation: 62.70/16.79 START: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 assume(oldX0 > 2 && oldX2 > 2 && oldX1 = 10); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := 8; 62.70/16.79 x2 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := nondet(); 62.70/16.79 assume(0 = 1); 62.70/16.79 x0 := 10; 62.70/16.79 x1 := oldX3; 62.70/16.79 x2 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 assume(0 = 0); 62.70/16.79 x0 := 10; 62.70/16.79 x1 := 8; 62.70/16.79 x2 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := oldX1 - 1; 62.70/16.79 assume(oldX2 > 2 && oldX3 > 0 && oldX3 < 9 && oldX0 > 2 && oldX1 = 1 + oldX3); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := oldX1 - 1; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := oldX1 - 1; 62.70/16.79 assume(oldX0 > 2 && oldX2 > 2 && oldX3 > 9 && oldX1 = 1 + oldX3); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := oldX1 - 1; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (85) T2 (EQUIVALENT) 62.70/16.79 Initially, performed program simplifications using lexicographic rank functions: 62.70/16.79 * Removed transitions 2, 5, 6, 7 using the following rank functions: 62.70/16.79 - Rank function 1: 62.70/16.79 RF for loc. 5: 1+2*x1 62.70/16.79 RF for loc. 6: 2*x1 62.70/16.79 Bound for (chained) transitions 5: 20 62.70/16.79 Bound for (chained) transitions 6: 4 62.70/16.79 Bound for (chained) transitions 7: 22 62.70/16.79 - Rank function 2: 62.70/16.79 RF for loc. 5: 1 62.70/16.79 RF for loc. 6: 0 62.70/16.79 Bound for (chained) transitions 2: 1 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (86) 62.70/16.79 YES 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (87) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (88) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 74 rulesP rules: 62.70/16.79 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 1 && 2 <= v263 && 3 <= v260 && 3 <= v259 62.70/16.79 f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: v263 = 10 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 10 62.70/16.79 f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) -> f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_313(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_313(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_277(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_277(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) -> f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: 1 + v503 = v421 && 1 <= v503 62.70/16.79 f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_243(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_277(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.79 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.79 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.79 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.79 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.79 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.79 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.79 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: v7 != 10 62.70/16.79 f_132(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_135(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_138(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_141(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_144(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_147(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) :|: 0 = 0 62.70/16.79 f_150(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 10, 4, 2) -> f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: 1 + v12 = v7 && 1 <= v12 62.70/16.79 f_153(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_156(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_159(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) :|: TRUE 62.70/16.79 f_162(v1, v3, v5, v7, 1, 0, v12, v2, v4, v6, 3, 10, 4, 2) -> f_243(v1, v3, v5, v7, v7, 1, 0, v12, v2, v4, v6, 3, 10, 2, 4) :|: TRUE 62.70/16.79 Combined rules. Obtained 6 rulesP rules: 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 10, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, 8, 1, 9, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v259:0 > 2 && v260:0 > 2 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 0 && v260:0 > 2 && v259:0 > 2 && v503:0 < 9 62.70/16.79 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 9 && v259:0 > 2 && v260:0 > 2 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, v7:0, v12:0, 1, v7:0, 0, v2:0, v4:0, v6:0, 3, 10, 2, 4) :|: FALSE 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, 1 + v12:0, v12:0, 1, 1 + v12:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 10, 2, 4) :|: v12:0 > 0 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v12:0 < 9 62.70/16.79 f_105 -> f_245(v1:0, v3:0, v5:0, 1 + v12:0, v12:0, 1, 1 + v12:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 10, 2, 4) :|: v12:0 > 9 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.70/16.79 Filtered unneeded arguments: 62.70/16.79 f_245(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) -> f_245(x4, x5, x7) 62.70/16.79 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 62.70/16.79 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.79 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v260:0 > 2 && v503:0 > 0 && v503:0 < 9 && v259:0 > 2 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.79 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v259:0 > 2 && v260:0 > 2 && v503:0 > 9 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.79 f_105 -> f_245(v7:0, v12:0, v7:0) :|: FALSE 62.70/16.79 f_105 -> f_245(1 + v12:0, v12:0, 1 + v12:0) :|: v12:0 > 0 && v12:0 < 9 62.70/16.79 f_105 -> f_245(1 + v12:0, v12:0, 1 + v12:0) :|: v12:0 > 9 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (89) 62.70/16.79 Obligation: 62.70/16.79 Rules: 62.70/16.79 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.79 f_245(x, x1, x2) -> f_245(x, x3, 1 + x3) :|: x2 > 2 && x3 > 0 && x3 < 9 && x > 2 && x1 = 1 + x3 62.70/16.79 f_245(x4, x5, x6) -> f_245(x4, x7, 1 + x7) :|: x4 > 2 && x6 > 2 && x7 > 9 && x5 = 1 + x7 62.70/16.79 f_105 -> f_245(v7:0, v12:0, v7:0) :|: FALSE 62.70/16.79 f_105 -> f_245(1 + x8, x8, 1 + x8) :|: x8 > 0 && x8 < 9 62.70/16.79 f_105 -> f_245(1 + x9, x9, 1 + x9) :|: x9 > 9 62.70/16.79 Start term: f_105 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (90) IRS2T2 (EQUIVALENT) 62.70/16.79 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.79 62.70/16.79 (f_245_3,1) 62.70/16.79 (f_105_3,2) 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (91) 62.70/16.79 Obligation: 62.70/16.79 START: 2; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 assume(oldX0 > 2 && oldX2 > 2 && oldX1 = 10); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := 8; 62.70/16.79 x2 := 9; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := oldX1 - 1; 62.70/16.79 assume(oldX2 > 2 && oldX3 > 0 && oldX3 < 9 && oldX0 > 2 && oldX1 = 1 + oldX3); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := oldX1 - 1; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 1; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := oldX1 - 1; 62.70/16.79 assume(oldX0 > 2 && oldX2 > 2 && oldX3 > 9 && oldX1 = 1 + oldX3); 62.70/16.79 x0 := oldX0; 62.70/16.79 x1 := oldX1 - 1; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := nondet(); 62.70/16.79 oldX4 := nondet(); 62.70/16.79 assume(0 = 1); 62.70/16.79 x0 := oldX3; 62.70/16.79 x1 := oldX4; 62.70/16.79 x2 := oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := nondet(); 62.70/16.79 assume(oldX3 > 0 && oldX3 < 9); 62.70/16.79 x0 := 1 + oldX3; 62.70/16.79 x1 := oldX3; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 FROM: 2; 62.70/16.79 oldX0 := x0; 62.70/16.79 oldX1 := x1; 62.70/16.79 oldX2 := x2; 62.70/16.79 oldX3 := nondet(); 62.70/16.79 assume(oldX3 > 9); 62.70/16.79 x0 := 1 + oldX3; 62.70/16.79 x1 := oldX3; 62.70/16.79 x2 := 1 + oldX3; 62.70/16.79 TO: 1; 62.70/16.79 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (92) T2 (EQUIVALENT) 62.70/16.79 Initially, performed program simplifications using lexicographic rank functions: 62.70/16.79 * Removed transitions 3, 6, 7, 8 using the following rank functions: 62.70/16.79 - Rank function 1: 62.70/16.79 RF for loc. 5: 1+2*x1 62.70/16.79 RF for loc. 6: 2*x1 62.70/16.79 Bound for (chained) transitions 6: 20 62.70/16.79 Bound for (chained) transitions 7: 4 62.70/16.79 Bound for (chained) transitions 8: 22 62.70/16.79 - Rank function 2: 62.70/16.79 RF for loc. 5: 1 62.70/16.79 RF for loc. 6: 0 62.70/16.79 Bound for (chained) transitions 3: 1 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (93) 62.70/16.79 YES 62.70/16.79 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (94) 62.70/16.79 Obligation: 62.70/16.79 Lasso 62.70/16.79 ---------------------------------------- 62.70/16.79 62.70/16.79 (95) Lasso2IRS (EQUIVALENT) 62.70/16.79 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 62.70/16.79 Generated rules. Obtained 75 rulesP rules: 62.70/16.79 f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_247(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_249(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) -> f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_251(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 1 && 2 <= v263 && 3 <= v260 && 3 <= v259 62.70/16.79 f_255(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_258(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_261(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: v263 = 10 62.70/16.79 f_264(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: v263 != 10 62.70/16.79 f_267(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_271(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_275(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_280(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_284(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_288(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: 0 = 0 62.70/16.79 f_292(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_296(v256, v257, v258, v259, 10, 1, 0, 11, v264, v265, v266, 3, 4) -> f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_300(v256, v257, v258, v259, 10, 1, 0, v264, v265, v266, 3, 11, 4) -> f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: 0 = 0 62.70/16.79 f_304(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_308(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) :|: TRUE 62.70/16.79 f_312(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 11, 4) -> f_313(v256, v257, v258, v259, 10, 1, 0, 9, v264, v265, v266, 3, 4) :|: TRUE 62.70/16.79 f_313(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_316(v594, v595, v596, v597, 10, 1, 0, 9, v602, v603, v604, 3, 4) -> f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_320(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_323(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_326(v594, v595, v596, v597, 9, 1, 10, 0, v602, v603, v604, 3, 4) -> f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_329(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_332(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_335(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_338(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: 0 = 0 62.70/16.79 f_341(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) :|: TRUE 62.70/16.79 f_344(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 4) -> f_277(v594, v595, v596, v597, 9, 1, 0, 10, v602, v603, v604, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_277(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_281(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_285(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_289(v417, v418, v419, v420, v421, 1, 0, v424, v425, v426, v427, 3, 10, 2, 4) -> f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_293(v417, v418, v419, v420, v421, 1, 0, v425, v426, v427, 3, 10, 2, 4) -> f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: 1 + v503 = v421 && 1 <= v503 62.70/16.79 f_297(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_301(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_305(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_309(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) -> f_243(v417, v418, v419, v420, v421, 1, 0, v503, v425, v426, v427, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_243(v256, v257, v258, v259, v260, 1, 0, v263, v264, v265, v266, 3, 10, 2, 4) -> f_245(v256, v257, v258, v259, v263, 1, v260, 0, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_268(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: 0 = 0 62.70/16.79 f_272(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_276(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) -> f_277(v256, v257, v258, v259, v263, 1, 0, v260, v264, v265, v266, 3, 10, 2, 4) :|: TRUE 62.70/16.79 f_105 -> f_106(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 62.70/16.79 f_106(v1, v2, 3, 1, 4) -> f_107(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 62.70/16.79 f_107(v1, v3, v2, v4, 3, 1, 4) -> f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 62.70/16.79 f_108(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.79 f_109(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.80 f_110(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.80 f_111(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.80 f_112(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 62.70/16.80 f_113(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 62.70/16.80 f_114(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 < v7 62.70/16.80 f_115(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.80 f_117(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: TRUE 62.70/16.80 f_119(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 62.70/16.80 f_121(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4) -> f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) :|: v7 != 1 && 2 <= v7 62.70/16.80 f_123(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 4, 2) -> f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.80 f_125(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: TRUE 62.70/16.80 f_127(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) :|: 0 = 0 62.70/16.80 f_129(v1, v3, v5, v7, 1, 0, v2, v4, v6, 3, 4, 2) -> f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: v7 = 10 62.70/16.80 f_131(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.80 f_134(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.80 f_137(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.80 f_140(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.80 f_143(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.80 f_146(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.80 f_149(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.80 f_152(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.80 f_155(v1, v3, v5, 10, 1, 0, v2, v4, v6, 3, 4) -> f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: 0 = 0 62.70/16.80 f_158(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.80 f_161(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.80 f_164(v1, v3, v5, 10, 1, 0, 9, v2, v4, v6, 3, 4) -> f_313(v1, v3, v5, 10, 10, 1, 0, 9, v2, v4, v6, 3, 4) :|: TRUE 62.70/16.80 Combined rules. Obtained 5 rulesP rules: 62.70/16.80 f_245(v256:0, v257:0, v258:0, v259:0, 10, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, 8, 1, 9, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v259:0 > 2 && v260:0 > 2 62.70/16.80 f_105 -> f_245(v1:0, v3:0, v5:0, 10, v503:0, 1, 9, 0, v2:0, v4:0, v6:0, 3, 10, 2, 4) :|: FALSE 62.70/16.80 f_105 -> f_245(v1:0, v3:0, v5:0, 10, 8, 1, 9, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 10, 2, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 62.70/16.80 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 0 && v260:0 > 2 && v259:0 > 2 && v503:0 < 9 62.70/16.80 f_245(v256:0, v257:0, v258:0, v259:0, 1 + v503:0, 1, v260:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) -> f_245(v256:0, v257:0, v258:0, v259:0, v503:0, 1, 1 + v503:0, 0, v264:0, v265:0, v266:0, 3, 10, 2, 4) :|: v503:0 > 9 && v259:0 > 2 && v260:0 > 2 62.70/16.80 Filtered unneeded arguments: 62.70/16.80 f_245(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) -> f_245(x4, x5, x7) 62.70/16.80 Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: 62.70/16.80 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.80 f_105 -> f_245(10, v503:0, 9) :|: FALSE 62.70/16.80 f_105 -> f_245(10, 8, 9) :|: TRUE 62.70/16.80 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v260:0 > 2 && v503:0 > 0 && v503:0 < 9 && v259:0 > 2 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.80 f_245(v259:0, sum~cons_1~v503:0, v260:0) -> f_245(v259:0, v503:0, 1 + v503:0) :|: v259:0 > 2 && v260:0 > 2 && v503:0 > 9 && sum~cons_1~v503:0 = 1 + v503:0 62.70/16.80 62.70/16.80 ---------------------------------------- 62.70/16.80 62.70/16.80 (96) 62.70/16.80 Obligation: 62.70/16.80 Rules: 62.70/16.80 f_245(v259:0, cons_10, v260:0) -> f_245(v259:0, 8, 9) :|: v259:0 > 2 && v260:0 > 2 && cons_10 = 10 62.70/16.80 f_105 -> f_245(10, v503:0, 9) :|: FALSE 62.70/16.80 f_105 -> f_245(10, 8, 9) :|: TRUE 62.70/16.80 f_245(x, x1, x2) -> f_245(x, x3, 1 + x3) :|: x2 > 2 && x3 > 0 && x3 < 9 && x > 2 && x1 = 1 + x3 62.70/16.80 f_245(x4, x5, x6) -> f_245(x4, x7, 1 + x7) :|: x4 > 2 && x6 > 2 && x7 > 9 && x5 = 1 + x7 62.70/16.80 Start term: f_105 62.70/16.80 62.70/16.80 ---------------------------------------- 62.70/16.80 62.70/16.80 (97) IRS2T2 (EQUIVALENT) 62.70/16.80 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 62.70/16.80 62.70/16.80 (f_245_3,1) 62.70/16.80 (f_105_3,2) 62.70/16.80 62.70/16.80 ---------------------------------------- 62.70/16.80 62.70/16.80 (98) 62.70/16.80 Obligation: 62.70/16.80 START: 2; 62.70/16.80 62.70/16.80 FROM: 1; 62.70/16.80 oldX0 := x0; 62.70/16.80 oldX1 := x1; 62.70/16.80 oldX2 := x2; 62.70/16.80 assume(oldX0 > 2 && oldX2 > 2 && oldX1 = 10); 62.70/16.80 x0 := oldX0; 62.70/16.80 x1 := 8; 62.70/16.80 x2 := 9; 62.70/16.80 TO: 1; 62.70/16.80 62.70/16.80 FROM: 2; 62.70/16.80 oldX0 := x0; 62.70/16.80 oldX1 := x1; 62.70/16.80 oldX2 := x2; 62.70/16.80 oldX3 := nondet(); 62.70/16.80 assume(0 = 1); 62.70/16.80 x0 := 10; 62.70/16.80 x1 := oldX3; 62.70/16.80 x2 := 9; 62.70/16.80 TO: 1; 62.70/16.80 62.70/16.80 FROM: 2; 62.70/16.80 oldX0 := x0; 62.70/16.80 oldX1 := x1; 62.70/16.80 oldX2 := x2; 62.70/16.80 assume(0 = 0); 62.70/16.80 x0 := 10; 62.70/16.80 x1 := 8; 62.70/16.80 x2 := 9; 62.70/16.80 TO: 1; 62.70/16.80 62.70/16.80 FROM: 1; 62.70/16.80 oldX0 := x0; 62.70/16.80 oldX1 := x1; 62.70/16.80 oldX2 := x2; 62.70/16.80 oldX3 := oldX1 - 1; 62.70/16.80 assume(oldX2 > 2 && oldX3 > 0 && oldX3 < 9 && oldX0 > 2 && oldX1 = 1 + oldX3); 62.70/16.80 x0 := oldX0; 62.70/16.80 x1 := oldX1 - 1; 62.70/16.80 x2 := 1 + oldX3; 62.70/16.80 TO: 1; 62.70/16.80 62.70/16.80 FROM: 1; 62.70/16.80 oldX0 := x0; 62.70/16.80 oldX1 := x1; 62.70/16.80 oldX2 := x2; 62.70/16.80 oldX3 := oldX1 - 1; 62.70/16.80 assume(oldX0 > 2 && oldX2 > 2 && oldX3 > 9 && oldX1 = 1 + oldX3); 62.70/16.80 x0 := oldX0; 62.70/16.80 x1 := oldX1 - 1; 62.70/16.80 x2 := 1 + oldX3; 62.70/16.80 TO: 1; 62.70/16.80 62.70/16.80 62.70/16.80 ---------------------------------------- 62.70/16.80 62.70/16.80 (99) T2 (EQUIVALENT) 62.70/16.80 Initially, performed program simplifications using lexicographic rank functions: 62.70/16.80 * Removed transitions 2, 5, 6, 7 using the following rank functions: 62.70/16.80 - Rank function 1: 62.70/16.80 RF for loc. 5: 1+2*x1 62.70/16.80 RF for loc. 6: 2*x1 62.70/16.80 Bound for (chained) transitions 5: 20 62.70/16.80 Bound for (chained) transitions 6: 4 62.70/16.80 Bound for (chained) transitions 7: 22 62.70/16.80 - Rank function 2: 62.70/16.80 RF for loc. 5: 1 62.70/16.80 RF for loc. 6: 0 62.70/16.80 Bound for (chained) transitions 2: 1 62.70/16.80 62.70/16.80 ---------------------------------------- 62.70/16.80 62.70/16.80 (100) 62.70/16.80 YES 62.70/16.83 EOF