/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/loopacceleration/qvasr/qvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench/bresenham-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 01:35:36,485 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 01:35:36,487 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 01:35:36,509 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 01:35:36,509 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 01:35:36,510 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 01:35:36,514 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 01:35:36,518 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 01:35:36,519 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 01:35:36,523 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 01:35:36,524 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 01:35:36,524 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 01:35:36,525 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 01:35:36,526 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 01:35:36,527 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 01:35:36,528 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 01:35:36,528 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 01:35:36,529 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 01:35:36,532 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 01:35:36,535 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 01:35:36,537 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 01:35:36,537 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 01:35:36,538 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 01:35:36,538 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 01:35:36,539 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 01:35:36,544 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 01:35:36,544 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 01:35:36,544 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 01:35:36,545 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 01:35:36,545 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 01:35:36,546 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 01:35:36,546 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 01:35:36,547 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 01:35:36,548 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 01:35:36,548 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 01:35:36,549 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 01:35:36,549 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 01:35:36,549 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 01:35:36,549 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 01:35:36,549 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 01:35:36,550 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 01:35:36,551 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 01:35:36,552 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/loopacceleration/qvasr/qvasr_64.epf [2022-04-15 01:35:36,573 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 01:35:36,574 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 01:35:36,574 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-15 01:35:36,574 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-15 01:35:36,575 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-15 01:35:36,575 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-15 01:35:36,575 INFO L138 SettingsManager]: * Use SBE=true [2022-04-15 01:35:36,575 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 01:35:36,575 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 01:35:36,576 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 01:35:36,576 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 01:35:36,576 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 01:35:36,577 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 01:35:36,577 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 01:35:36,577 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-15 01:35:36,578 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-15 01:35:36,578 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-15 01:35:36,578 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-15 01:35:36,578 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 01:35:36,578 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2022-04-15 01:35:36,578 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-04-15 01:35:36,579 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-15 01:35:36,579 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_QVASR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 01:35:36,799 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 01:35:36,829 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 01:35:36,830 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 01:35:36,831 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 01:35:36,831 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 01:35:36,832 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/bresenham-ll.c [2022-04-15 01:35:36,871 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3dc3bbe45/0369d64795444481b3e0e21aebe6f61b/FLAG7614288a6 [2022-04-15 01:35:37,160 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 01:35:37,160 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/bresenham-ll.c [2022-04-15 01:35:37,165 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3dc3bbe45/0369d64795444481b3e0e21aebe6f61b/FLAG7614288a6 [2022-04-15 01:35:37,593 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3dc3bbe45/0369d64795444481b3e0e21aebe6f61b [2022-04-15 01:35:37,595 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 01:35:37,597 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-15 01:35:37,620 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 01:35:37,621 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 01:35:37,623 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 01:35:37,624 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,625 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@698b9562 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37, skipping insertion in model container [2022-04-15 01:35:37,625 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,630 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 01:35:37,641 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 01:35:37,767 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/bresenham-ll.c[597,610] [2022-04-15 01:35:37,795 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 01:35:37,802 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 01:35:37,812 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/bresenham-ll.c[597,610] [2022-04-15 01:35:37,830 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 01:35:37,837 INFO L208 MainTranslator]: Completed translation [2022-04-15 01:35:37,838 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37 WrapperNode [2022-04-15 01:35:37,838 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 01:35:37,839 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 01:35:37,840 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 01:35:37,840 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 01:35:37,846 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,847 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,851 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,851 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,861 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,864 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,867 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,869 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 01:35:37,869 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 01:35:37,869 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 01:35:37,869 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 01:35:37,870 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (1/1) ... [2022-04-15 01:35:37,875 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 01:35:37,881 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:35:37,891 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 01:35:37,910 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 01:35:37,921 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 01:35:37,922 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 01:35:37,922 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 01:35:37,922 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 01:35:37,922 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 01:35:37,923 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 01:35:37,923 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 01:35:37,923 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 01:35:37,925 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 01:35:37,925 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 01:35:37,925 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 01:35:37,925 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 01:35:37,925 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 01:35:37,926 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 01:35:37,926 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 01:35:37,926 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 01:35:37,926 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 01:35:37,926 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 01:35:37,926 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 01:35:37,926 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 01:35:37,972 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 01:35:37,973 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 01:35:38,123 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 01:35:38,127 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 01:35:38,128 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 01:35:38,129 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 01:35:38 BoogieIcfgContainer [2022-04-15 01:35:38,129 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 01:35:38,129 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-15 01:35:38,129 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-15 01:35:38,141 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-15 01:35:38,154 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 01:35:38" (1/1) ... [2022-04-15 01:35:38,155 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_QVASR [2022-04-15 01:35:38,172 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 15.04 01:35:38 BasicIcfg [2022-04-15 01:35:38,172 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-15 01:35:38,173 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 01:35:38,173 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 01:35:38,178 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 01:35:38,178 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 01:35:37" (1/4) ... [2022-04-15 01:35:38,178 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@bb07a05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 01:35:38, skipping insertion in model container [2022-04-15 01:35:38,178 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:35:37" (2/4) ... [2022-04-15 01:35:38,178 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@bb07a05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 01:35:38, skipping insertion in model container [2022-04-15 01:35:38,179 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 01:35:38" (3/4) ... [2022-04-15 01:35:38,179 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@bb07a05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 01:35:38, skipping insertion in model container [2022-04-15 01:35:38,179 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 15.04 01:35:38" (4/4) ... [2022-04-15 01:35:38,179 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll.cqvasr [2022-04-15 01:35:38,182 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-15 01:35:38,182 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 01:35:38,223 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 01:35:38,234 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 01:35:38,235 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 01:35:38,247 INFO L276 IsEmpty]: Start isEmpty. Operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:38,249 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-04-15 01:35:38,249 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 01:35:38,250 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 01:35:38,250 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 01:35:38,253 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 01:35:38,253 INFO L85 PathProgramCache]: Analyzing trace with hash 908069110, now seen corresponding path program 1 times [2022-04-15 01:35:38,259 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 01:35:38,260 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [808760995] [2022-04-15 01:35:38,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:38,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 01:35:38,325 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 01:35:38,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1292885575] [2022-04-15 01:35:38,326 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:38,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:35:38,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:35:38,327 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 01:35:38,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 01:35:38,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:38,393 INFO L263 TraceCheckSpWp]: Trace formula consists of 66 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 01:35:38,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:38,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 01:35:38,666 INFO L272 TraceCheckUtils]: 0: Hoare triple {27#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {27#true} is VALID [2022-04-15 01:35:38,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {27#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {27#true} is VALID [2022-04-15 01:35:38,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {27#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {27#true} is VALID [2022-04-15 01:35:38,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27#true} {27#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {27#true} is VALID [2022-04-15 01:35:38,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {27#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {27#true} is VALID [2022-04-15 01:35:38,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {27#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {47#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:38,677 INFO L290 TraceCheckUtils]: 6: Hoare triple {47#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {51#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-15 01:35:38,678 INFO L272 TraceCheckUtils]: 7: Hoare triple {51#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {55#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 01:35:38,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {55#(<= 1 |__VERIFIER_assert_#in~cond|)} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {59#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:35:38,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {59#(<= 1 __VERIFIER_assert_~cond)} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {28#false} is VALID [2022-04-15 01:35:38,680 INFO L290 TraceCheckUtils]: 10: Hoare triple {28#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {28#false} is VALID [2022-04-15 01:35:38,681 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-15 01:35:38,681 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 01:35:38,681 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 01:35:38,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [808760995] [2022-04-15 01:35:38,681 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 01:35:38,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1292885575] [2022-04-15 01:35:38,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1292885575] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 01:35:38,682 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 01:35:38,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 01:35:38,683 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1218952676] [2022-04-15 01:35:38,684 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 01:35:38,687 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-15 01:35:38,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 01:35:38,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-15 01:35:38,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:35:38,702 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 01:35:38,702 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-15 01:35:38,723 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 01:35:38,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 01:35:38,726 INFO L87 Difference]: Start difference. First operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-15 01:35:38,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:38,994 INFO L93 Difference]: Finished difference Result 55 states and 75 transitions. [2022-04-15 01:35:38,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 01:35:38,994 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-15 01:35:38,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 01:35:38,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-15 01:35:39,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 01:35:39,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-15 01:35:39,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 01:35:39,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 01:35:39,085 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:35:39,099 INFO L225 Difference]: With dead ends: 55 [2022-04-15 01:35:39,099 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 01:35:39,102 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 01:35:39,106 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 14 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 63 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 01:35:39,107 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 79 Invalid, 63 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 01:35:39,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 01:35:39,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2022-04-15 01:35:39,130 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 01:35:39,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 26 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:39,131 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 26 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:39,131 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 26 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:39,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:39,136 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 01:35:39,136 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 01:35:39,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:35:39,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:35:39,138 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-15 01:35:39,138 INFO L87 Difference]: Start difference. First operand has 26 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-15 01:35:39,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:39,140 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 01:35:39,140 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 01:35:39,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:35:39,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:35:39,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 01:35:39,141 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 01:35:39,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:39,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 28 transitions. [2022-04-15 01:35:39,143 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 28 transitions. Word has length 11 [2022-04-15 01:35:39,144 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 01:35:39,144 INFO L478 AbstractCegarLoop]: Abstraction has 26 states and 28 transitions. [2022-04-15 01:35:39,144 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-15 01:35:39,144 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2022-04-15 01:35:39,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-15 01:35:39,145 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 01:35:39,145 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 01:35:39,164 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 01:35:39,359 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-15 01:35:39,360 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 01:35:39,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 01:35:39,360 INFO L85 PathProgramCache]: Analyzing trace with hash 1167660322, now seen corresponding path program 1 times [2022-04-15 01:35:39,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 01:35:39,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986663771] [2022-04-15 01:35:39,361 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:39,361 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 01:35:39,383 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 01:35:39,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [175788047] [2022-04-15 01:35:39,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:39,384 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:35:39,384 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:35:39,396 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 01:35:39,398 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 01:35:39,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:39,446 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 01:35:39,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:39,471 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 01:35:39,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {231#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:39,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {231#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {231#true} is VALID [2022-04-15 01:35:39,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {231#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:39,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {231#true} {231#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:39,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {231#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:39,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {231#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {251#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:39,795 INFO L290 TraceCheckUtils]: 6: Hoare triple {251#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {255#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 01:35:39,795 INFO L272 TraceCheckUtils]: 7: Hoare triple {255#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {231#true} is VALID [2022-04-15 01:35:39,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {231#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {262#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:35:39,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {262#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:39,798 INFO L290 TraceCheckUtils]: 10: Hoare triple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:39,799 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} {255#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {251#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:39,799 INFO L290 TraceCheckUtils]: 12: Hoare triple {251#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {251#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:39,800 INFO L290 TraceCheckUtils]: 13: Hoare triple {251#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {279#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 01:35:39,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {279#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {283#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 01:35:39,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {283#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {287#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 01:35:39,803 INFO L272 TraceCheckUtils]: 16: Hoare triple {287#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {291#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 01:35:39,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {291#(<= 1 |__VERIFIER_assert_#in~cond|)} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {295#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:35:39,804 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#(<= 1 __VERIFIER_assert_~cond)} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {232#false} is VALID [2022-04-15 01:35:39,804 INFO L290 TraceCheckUtils]: 19: Hoare triple {232#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {232#false} is VALID [2022-04-15 01:35:39,805 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-15 01:35:39,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 01:35:42,498 INFO L290 TraceCheckUtils]: 19: Hoare triple {232#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {232#false} is VALID [2022-04-15 01:35:42,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#(<= 1 __VERIFIER_assert_~cond)} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {232#false} is VALID [2022-04-15 01:35:42,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {291#(<= 1 |__VERIFIER_assert_#in~cond|)} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {295#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:35:42,500 INFO L272 TraceCheckUtils]: 16: Hoare triple {311#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {291#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 01:35:42,501 INFO L290 TraceCheckUtils]: 15: Hoare triple {315#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {311#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 01:35:42,502 INFO L290 TraceCheckUtils]: 14: Hoare triple {319#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {315#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 01:35:42,503 INFO L290 TraceCheckUtils]: 13: Hoare triple {315#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {319#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 01:35:42,504 INFO L290 TraceCheckUtils]: 12: Hoare triple {315#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {315#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 01:35:42,505 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} {329#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {315#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 01:35:42,505 INFO L290 TraceCheckUtils]: 10: Hoare triple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:42,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {339#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:42,506 INFO L290 TraceCheckUtils]: 8: Hoare triple {231#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {339#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 01:35:42,506 INFO L272 TraceCheckUtils]: 7: Hoare triple {329#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {231#true} is VALID [2022-04-15 01:35:42,507 INFO L290 TraceCheckUtils]: 6: Hoare triple {231#true} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {329#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 01:35:42,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {231#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {231#true} is VALID [2022-04-15 01:35:42,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {231#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:42,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {231#true} {231#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:42,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {231#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:42,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {231#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {231#true} is VALID [2022-04-15 01:35:42,508 INFO L272 TraceCheckUtils]: 0: Hoare triple {231#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {231#true} is VALID [2022-04-15 01:35:42,509 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-15 01:35:42,509 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 01:35:42,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986663771] [2022-04-15 01:35:42,509 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 01:35:42,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [175788047] [2022-04-15 01:35:42,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [175788047] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 01:35:42,509 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 01:35:42,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-15 01:35:42,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2003459908] [2022-04-15 01:35:42,510 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-15 01:35:42,511 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 15 states have internal predecessors, (22), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 20 [2022-04-15 01:35:42,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 01:35:42,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 15 states have internal predecessors, (22), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:42,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:35:42,540 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 01:35:42,540 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-15 01:35:42,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 01:35:42,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-15 01:35:42,541 INFO L87 Difference]: Start difference. First operand 26 states and 28 transitions. Second operand has 16 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 15 states have internal predecessors, (22), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:43,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:43,085 INFO L93 Difference]: Finished difference Result 41 states and 46 transitions. [2022-04-15 01:35:43,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 01:35:43,085 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 15 states have internal predecessors, (22), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 20 [2022-04-15 01:35:43,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 01:35:43,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 15 states have internal predecessors, (22), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:43,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 43 transitions. [2022-04-15 01:35:43,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 15 states have internal predecessors, (22), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:43,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 43 transitions. [2022-04-15 01:35:43,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 43 transitions. [2022-04-15 01:35:43,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:35:43,143 INFO L225 Difference]: With dead ends: 41 [2022-04-15 01:35:43,143 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 01:35:43,144 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 22 SyntacticMatches, 3 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=81, Invalid=381, Unknown=0, NotChecked=0, Total=462 [2022-04-15 01:35:43,145 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 27 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 194 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 219 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 194 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 01:35:43,145 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 75 Invalid, 219 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 194 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 01:35:43,146 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 01:35:43,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-15 01:35:43,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 01:35:43,152 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:43,152 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:43,152 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:43,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:43,154 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 01:35:43,154 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 01:35:43,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:35:43,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:35:43,155 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-15 01:35:43,155 INFO L87 Difference]: Start difference. First operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-15 01:35:43,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:43,157 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 01:35:43,157 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 01:35:43,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:35:43,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:35:43,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 01:35:43,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 01:35:43,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:43,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-15 01:35:43,186 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 20 [2022-04-15 01:35:43,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 01:35:43,186 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-15 01:35:43,186 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 15 states have internal predecessors, (22), 5 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-15 01:35:43,186 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-15 01:35:43,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-15 01:35:43,187 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 01:35:43,187 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 01:35:43,206 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 01:35:43,387 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-04-15 01:35:43,390 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 01:35:43,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 01:35:43,391 INFO L85 PathProgramCache]: Analyzing trace with hash -898552581, now seen corresponding path program 1 times [2022-04-15 01:35:43,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 01:35:43,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [397395032] [2022-04-15 01:35:43,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:43,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 01:35:43,401 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 01:35:43,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [388770354] [2022-04-15 01:35:43,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:43,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:35:43,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:35:43,418 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 01:35:43,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 01:35:43,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:43,457 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 01:35:43,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:43,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 01:35:43,842 INFO L272 TraceCheckUtils]: 0: Hoare triple {551#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:43,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {551#true} is VALID [2022-04-15 01:35:43,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:43,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:43,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:43,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {551#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {571#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:43,844 INFO L290 TraceCheckUtils]: 6: Hoare triple {571#(and (= main_~x~0 0) (= main_~y~0 0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {571#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:43,846 INFO L272 TraceCheckUtils]: 7: Hoare triple {571#(and (= main_~x~0 0) (= main_~y~0 0))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {551#true} is VALID [2022-04-15 01:35:43,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {551#true} is VALID [2022-04-15 01:35:43,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:43,847 INFO L290 TraceCheckUtils]: 10: Hoare triple {551#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:43,848 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {551#true} {571#(and (= main_~x~0 0) (= main_~y~0 0))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {571#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:43,848 INFO L290 TraceCheckUtils]: 12: Hoare triple {571#(and (= main_~x~0 0) (= main_~y~0 0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {593#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 01:35:43,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {593#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} [81] L38-->L38-2: Formula: (and (= (+ v_main_~y~0_8 1) v_main_~y~0_7) (not (< v_main_~v~0_9 0)) (= (+ (* v_main_~Y~0_9 2) v_main_~v~0_9 (* (- 2) v_main_~X~0_9)) v_main_~v~0_8)) InVars {main_~y~0=v_main_~y~0_8, main_~v~0=v_main_~v~0_9, main_~Y~0=v_main_~Y~0_9, main_~X~0=v_main_~X~0_9} OutVars{main_~y~0=v_main_~y~0_7, main_~v~0=v_main_~v~0_8, main_~Y~0=v_main_~Y~0_9, main_#t~post6=|v_main_#t~post6_1|, main_~X~0=v_main_~X~0_9} AuxVars[] AssignedVars[main_~v~0, main_~y~0, main_#t~post6] {597#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-15 01:35:43,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {597#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {601#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 01:35:43,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {601#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {605#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 01:35:43,850 INFO L272 TraceCheckUtils]: 16: Hoare triple {605#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {551#true} is VALID [2022-04-15 01:35:43,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {551#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {612#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:35:43,850 INFO L290 TraceCheckUtils]: 18: Hoare triple {612#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {616#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:43,851 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#(not (= |__VERIFIER_assert_#in~cond| 0))} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {616#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:43,852 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {616#(not (= |__VERIFIER_assert_#in~cond| 0))} {605#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {623#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 01:35:43,853 INFO L290 TraceCheckUtils]: 21: Hoare triple {623#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {627#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 01:35:43,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {627#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {631#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-15 01:35:43,855 INFO L272 TraceCheckUtils]: 23: Hoare triple {631#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {635#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 01:35:43,855 INFO L290 TraceCheckUtils]: 24: Hoare triple {635#(<= 1 |__VERIFIER_assert_#in~cond|)} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {639#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:35:43,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {639#(<= 1 __VERIFIER_assert_~cond)} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {552#false} is VALID [2022-04-15 01:35:43,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {552#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {552#false} is VALID [2022-04-15 01:35:43,856 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 01:35:43,856 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 01:35:44,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {552#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {552#false} is VALID [2022-04-15 01:35:44,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {639#(<= 1 __VERIFIER_assert_~cond)} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {552#false} is VALID [2022-04-15 01:35:44,553 INFO L290 TraceCheckUtils]: 24: Hoare triple {635#(<= 1 |__VERIFIER_assert_#in~cond|)} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {639#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:35:44,554 INFO L272 TraceCheckUtils]: 23: Hoare triple {655#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {635#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 01:35:44,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {659#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {655#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 01:35:44,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {663#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {659#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 01:35:44,558 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {616#(not (= |__VERIFIER_assert_#in~cond| 0))} {667#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {663#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 01:35:44,558 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#(not (= |__VERIFIER_assert_#in~cond| 0))} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {616#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:44,558 INFO L290 TraceCheckUtils]: 18: Hoare triple {677#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {616#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:35:44,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {551#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {677#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 01:35:44,559 INFO L272 TraceCheckUtils]: 16: Hoare triple {667#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {551#true} is VALID [2022-04-15 01:35:44,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {684#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {667#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 01:35:44,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {688#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {684#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-15 01:35:44,563 INFO L290 TraceCheckUtils]: 13: Hoare triple {692#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} [81] L38-->L38-2: Formula: (and (= (+ v_main_~y~0_8 1) v_main_~y~0_7) (not (< v_main_~v~0_9 0)) (= (+ (* v_main_~Y~0_9 2) v_main_~v~0_9 (* (- 2) v_main_~X~0_9)) v_main_~v~0_8)) InVars {main_~y~0=v_main_~y~0_8, main_~v~0=v_main_~v~0_9, main_~Y~0=v_main_~Y~0_9, main_~X~0=v_main_~X~0_9} OutVars{main_~y~0=v_main_~y~0_7, main_~v~0=v_main_~v~0_8, main_~Y~0=v_main_~Y~0_9, main_#t~post6=|v_main_#t~post6_1|, main_~X~0=v_main_~X~0_9} AuxVars[] AssignedVars[main_~v~0, main_~y~0, main_#t~post6] {688#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-15 01:35:44,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {551#true} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {692#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 01:35:44,565 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {551#true} {551#true} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {551#true} is VALID [2022-04-15 01:35:44,565 INFO L290 TraceCheckUtils]: 10: Hoare triple {551#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:44,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:44,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {551#true} is VALID [2022-04-15 01:35:44,566 INFO L272 TraceCheckUtils]: 7: Hoare triple {551#true} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {551#true} is VALID [2022-04-15 01:35:44,566 INFO L290 TraceCheckUtils]: 6: Hoare triple {551#true} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {551#true} is VALID [2022-04-15 01:35:44,566 INFO L290 TraceCheckUtils]: 5: Hoare triple {551#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {551#true} is VALID [2022-04-15 01:35:44,566 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:44,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:44,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:44,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {551#true} is VALID [2022-04-15 01:35:44,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {551#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#true} is VALID [2022-04-15 01:35:44,569 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 01:35:44,569 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 01:35:44,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [397395032] [2022-04-15 01:35:44,569 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 01:35:44,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [388770354] [2022-04-15 01:35:44,570 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [388770354] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 01:35:44,570 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 01:35:44,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 01:35:44,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [995246356] [2022-04-15 01:35:44,570 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-15 01:35:44,571 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 19 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 27 [2022-04-15 01:35:44,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 01:35:44,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 19 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 01:35:44,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:35:44,606 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 01:35:44,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-15 01:35:44,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 01:35:44,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-15 01:35:44,608 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 22 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 19 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 01:35:45,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:45,492 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2022-04-15 01:35:45,493 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 01:35:45,493 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 19 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 27 [2022-04-15 01:35:45,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 01:35:45,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 19 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 01:35:45,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 52 transitions. [2022-04-15 01:35:45,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 19 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 01:35:45,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 52 transitions. [2022-04-15 01:35:45,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 52 transitions. [2022-04-15 01:35:45,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:35:45,577 INFO L225 Difference]: With dead ends: 52 [2022-04-15 01:35:45,577 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 01:35:45,578 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 251 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=201, Invalid=1059, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 01:35:45,579 INFO L913 BasicCegarLoop]: 11 mSDtfsCounter, 25 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 194 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 194 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 66 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 01:35:45,579 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 89 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 194 Invalid, 0 Unknown, 66 Unchecked, 0.2s Time] [2022-04-15 01:35:45,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 01:35:45,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 33. [2022-04-15 01:35:45,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 01:35:45,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:45,588 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:45,589 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:45,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:45,591 INFO L93 Difference]: Finished difference Result 44 states and 50 transitions. [2022-04-15 01:35:45,591 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 50 transitions. [2022-04-15 01:35:45,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:35:45,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:35:45,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 44 states. [2022-04-15 01:35:45,591 INFO L87 Difference]: Start difference. First operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 44 states. [2022-04-15 01:35:45,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:35:45,593 INFO L93 Difference]: Finished difference Result 44 states and 50 transitions. [2022-04-15 01:35:45,593 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 50 transitions. [2022-04-15 01:35:45,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:35:45,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:35:45,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 01:35:45,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 01:35:45,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:35:45,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-15 01:35:45,595 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 27 [2022-04-15 01:35:45,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 01:35:45,595 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-15 01:35:45,595 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 19 states have internal predecessors, (29), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-15 01:35:45,596 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-15 01:35:45,596 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-15 01:35:45,596 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 01:35:45,596 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 01:35:45,619 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 01:35:45,811 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:35:45,812 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 01:35:45,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 01:35:45,812 INFO L85 PathProgramCache]: Analyzing trace with hash -1180264568, now seen corresponding path program 1 times [2022-04-15 01:35:45,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 01:35:45,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [363341726] [2022-04-15 01:35:45,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:45,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 01:35:45,822 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 01:35:45,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [54154013] [2022-04-15 01:35:45,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:35:45,823 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:35:45,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:35:45,824 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 01:35:45,848 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 01:35:45,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:45,875 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 01:35:45,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:35:45,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 01:36:02,627 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 01:36:07,387 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 01:36:15,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {971#true} is VALID [2022-04-15 01:36:15,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,121 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,123 INFO L290 TraceCheckUtils]: 6: Hoare triple {991#(= main_~y~0 0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,123 INFO L272 TraceCheckUtils]: 7: Hoare triple {991#(= main_~y~0 0)} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {971#true} is VALID [2022-04-15 01:36:15,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {971#true} is VALID [2022-04-15 01:36:15,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,123 INFO L290 TraceCheckUtils]: 10: Hoare triple {971#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,124 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {971#true} {991#(= main_~y~0 0)} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,124 INFO L290 TraceCheckUtils]: 12: Hoare triple {991#(= main_~y~0 0)} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {991#(= main_~y~0 0)} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,126 INFO L290 TraceCheckUtils]: 14: Hoare triple {991#(= main_~y~0 0)} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,126 INFO L290 TraceCheckUtils]: 15: Hoare triple {991#(= main_~y~0 0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,126 INFO L272 TraceCheckUtils]: 16: Hoare triple {991#(= main_~y~0 0)} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {971#true} is VALID [2022-04-15 01:36:15,126 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {971#true} is VALID [2022-04-15 01:36:15,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {971#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {971#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:15,128 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {971#true} {991#(= main_~y~0 0)} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,129 INFO L290 TraceCheckUtils]: 21: Hoare triple {991#(= main_~y~0 0)} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {991#(= main_~y~0 0)} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {991#(= main_~y~0 0)} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:15,140 INFO L290 TraceCheckUtils]: 24: Hoare triple {991#(= main_~y~0 0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1049#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 01:36:15,140 INFO L272 TraceCheckUtils]: 25: Hoare triple {1049#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {971#true} is VALID [2022-04-15 01:36:15,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {971#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1056#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:36:15,141 INFO L290 TraceCheckUtils]: 27: Hoare triple {1056#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:36:15,142 INFO L290 TraceCheckUtils]: 28: Hoare triple {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:36:15,143 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} {1049#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1067#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 01:36:15,143 INFO L290 TraceCheckUtils]: 30: Hoare triple {1067#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {1067#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 01:36:17,145 WARN L290 TraceCheckUtils]: 31: Hoare triple {1067#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1074#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-15 01:36:17,147 INFO L272 TraceCheckUtils]: 32: Hoare triple {1074#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {1078#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 01:36:17,148 INFO L290 TraceCheckUtils]: 33: Hoare triple {1078#(<= 1 |__VERIFIER_assert_#in~cond|)} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1082#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:36:17,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {1082#(<= 1 __VERIFIER_assert_~cond)} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {972#false} is VALID [2022-04-15 01:36:17,148 INFO L290 TraceCheckUtils]: 35: Hoare triple {972#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#false} is VALID [2022-04-15 01:36:17,149 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 01:36:17,149 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 01:36:20,682 INFO L290 TraceCheckUtils]: 35: Hoare triple {972#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#false} is VALID [2022-04-15 01:36:20,682 INFO L290 TraceCheckUtils]: 34: Hoare triple {1082#(<= 1 __VERIFIER_assert_~cond)} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {972#false} is VALID [2022-04-15 01:36:20,683 INFO L290 TraceCheckUtils]: 33: Hoare triple {1078#(<= 1 |__VERIFIER_assert_#in~cond|)} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1082#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 01:36:20,684 INFO L272 TraceCheckUtils]: 32: Hoare triple {1098#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {1078#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 01:36:20,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {1102#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1098#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 01:36:20,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {1102#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {1102#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 01:36:20,686 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} {1109#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1102#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 01:36:20,686 INFO L290 TraceCheckUtils]: 28: Hoare triple {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:36:20,687 INFO L290 TraceCheckUtils]: 27: Hoare triple {1119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1060#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 01:36:20,687 INFO L290 TraceCheckUtils]: 26: Hoare triple {971#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 01:36:20,687 INFO L272 TraceCheckUtils]: 25: Hoare triple {1109#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {971#true} is VALID [2022-04-15 01:36:20,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {991#(= main_~y~0 0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1109#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 01:36:20,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {991#(= main_~y~0 0)} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {991#(= main_~y~0 0)} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {991#(= main_~y~0 0)} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,689 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {971#true} {991#(= main_~y~0 0)} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {971#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {971#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,690 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {971#true} is VALID [2022-04-15 01:36:20,690 INFO L272 TraceCheckUtils]: 16: Hoare triple {991#(= main_~y~0 0)} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {971#true} is VALID [2022-04-15 01:36:20,690 INFO L290 TraceCheckUtils]: 15: Hoare triple {991#(= main_~y~0 0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {991#(= main_~y~0 0)} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,691 INFO L290 TraceCheckUtils]: 13: Hoare triple {991#(= main_~y~0 0)} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,691 INFO L290 TraceCheckUtils]: 12: Hoare triple {991#(= main_~y~0 0)} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,692 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {971#true} {991#(= main_~y~0 0)} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,692 INFO L290 TraceCheckUtils]: 10: Hoare triple {971#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {971#true} is VALID [2022-04-15 01:36:20,692 INFO L272 TraceCheckUtils]: 7: Hoare triple {991#(= main_~y~0 0)} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {971#true} is VALID [2022-04-15 01:36:20,692 INFO L290 TraceCheckUtils]: 6: Hoare triple {991#(= main_~y~0 0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {991#(= main_~y~0 0)} is VALID [2022-04-15 01:36:20,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {971#true} is VALID [2022-04-15 01:36:20,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {971#true} is VALID [2022-04-15 01:36:20,694 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 11 proven. 5 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 01:36:20,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 01:36:20,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [363341726] [2022-04-15 01:36:20,695 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 01:36:20,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [54154013] [2022-04-15 01:36:20,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [54154013] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 01:36:20,696 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 01:36:20,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 14 [2022-04-15 01:36:20,698 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [903436490] [2022-04-15 01:36:20,698 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-15 01:36:20,698 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 10 states have (on average 2.4) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 36 [2022-04-15 01:36:20,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 01:36:20,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 10 states have (on average 2.4) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:36:22,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 01:36:22,727 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 01:36:22,727 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-15 01:36:22,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 01:36:22,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-15 01:36:22,727 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 14 states, 10 states have (on average 2.4) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:36:24,766 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 01:36:28,916 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 01:36:30,931 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 01:36:32,941 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 01:36:35,030 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 01:36:37,099 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 01:36:39,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:39,536 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-15 01:36:39,536 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 01:36:39,536 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 10 states have (on average 2.4) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 36 [2022-04-15 01:36:39,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 01:36:39,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 10 states have (on average 2.4) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:36:39,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 39 transitions. [2022-04-15 01:36:39,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 10 states have (on average 2.4) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:36:39,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 39 transitions. [2022-04-15 01:36:39,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 39 transitions. [2022-04-15 01:36:41,570 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 01:36:41,571 INFO L225 Difference]: With dead ends: 48 [2022-04-15 01:36:41,572 INFO L226 Difference]: Without dead ends: 42 [2022-04-15 01:36:41,572 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 57 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 4.4s TimeCoverageRelationStatistics Valid=66, Invalid=238, Unknown=2, NotChecked=0, Total=306 [2022-04-15 01:36:41,573 INFO L913 BasicCegarLoop]: 13 mSDtfsCounter, 26 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 17 mSolverCounterUnsat, 6 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 6 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.2s IncrementalHoareTripleChecker+Time [2022-04-15 01:36:41,573 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 74 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 118 Invalid, 6 Unknown, 0 Unchecked, 12.2s Time] [2022-04-15 01:36:41,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-15 01:36:41,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 36. [2022-04-15 01:36:41,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 01:36:41,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 36 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 01:36:41,587 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 36 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 01:36:41,587 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 36 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 01:36:41,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:41,589 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-15 01:36:41,589 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-15 01:36:41,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:36:41,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:36:41,589 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-15 01:36:41,590 INFO L87 Difference]: Start difference. First operand has 36 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-15 01:36:41,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:41,591 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-15 01:36:41,591 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-15 01:36:41,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:36:41,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:36:41,592 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 01:36:41,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 01:36:41,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 01:36:41,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2022-04-15 01:36:41,593 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 36 [2022-04-15 01:36:41,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 01:36:41,593 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2022-04-15 01:36:41,593 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 10 states have (on average 2.4) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 01:36:41,594 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2022-04-15 01:36:41,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-15 01:36:41,594 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 01:36:41,594 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 01:36:41,628 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 01:36:41,798 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:36:41,798 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 01:36:41,799 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 01:36:41,799 INFO L85 PathProgramCache]: Analyzing trace with hash 64499913, now seen corresponding path program 1 times [2022-04-15 01:36:41,799 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 01:36:41,799 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1817816798] [2022-04-15 01:36:41,799 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:36:41,799 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 01:36:41,810 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 01:36:41,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1369674686] [2022-04-15 01:36:41,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:36:41,811 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:36:41,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:36:41,812 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 01:36:41,814 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 01:36:41,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:36:41,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 01:36:41,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:36:41,867 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 01:36:43,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {1412#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {1412#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1412#true} is VALID [2022-04-15 01:36:43,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {1412#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1412#true} {1412#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {1412#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {1412#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 01:36:43,477 INFO L290 TraceCheckUtils]: 6: Hoare triple {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 01:36:43,478 INFO L272 TraceCheckUtils]: 7: Hoare triple {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1412#true} is VALID [2022-04-15 01:36:43,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {1412#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1412#true} is VALID [2022-04-15 01:36:43,478 INFO L290 TraceCheckUtils]: 9: Hoare triple {1412#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,478 INFO L290 TraceCheckUtils]: 10: Hoare triple {1412#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,479 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1412#true} {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 01:36:43,479 INFO L290 TraceCheckUtils]: 12: Hoare triple {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 01:36:43,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} [81] L38-->L38-2: Formula: (and (= (+ v_main_~y~0_8 1) v_main_~y~0_7) (not (< v_main_~v~0_9 0)) (= (+ (* v_main_~Y~0_9 2) v_main_~v~0_9 (* (- 2) v_main_~X~0_9)) v_main_~v~0_8)) InVars {main_~y~0=v_main_~y~0_8, main_~v~0=v_main_~v~0_9, main_~Y~0=v_main_~Y~0_9, main_~X~0=v_main_~X~0_9} OutVars{main_~y~0=v_main_~y~0_7, main_~v~0=v_main_~v~0_8, main_~Y~0=v_main_~Y~0_9, main_#t~post6=|v_main_#t~post6_1|, main_~X~0=v_main_~X~0_9} AuxVars[] AssignedVars[main_~v~0, main_~y~0, main_#t~post6] {1457#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 01:36:43,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 01:36:43,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 01:36:43,482 INFO L272 TraceCheckUtils]: 16: Hoare triple {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1412#true} is VALID [2022-04-15 01:36:43,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {1412#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1412#true} is VALID [2022-04-15 01:36:43,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {1412#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {1412#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,483 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1412#true} {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 01:36:43,484 INFO L290 TraceCheckUtils]: 21: Hoare triple {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-15 01:36:43,485 INFO L290 TraceCheckUtils]: 22: Hoare triple {1461#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {1486#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-15 01:36:43,485 INFO L290 TraceCheckUtils]: 23: Hoare triple {1486#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {1490#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 01:36:43,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {1490#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1490#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 01:36:43,486 INFO L272 TraceCheckUtils]: 25: Hoare triple {1490#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1412#true} is VALID [2022-04-15 01:36:43,486 INFO L290 TraceCheckUtils]: 26: Hoare triple {1412#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1412#true} is VALID [2022-04-15 01:36:43,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {1412#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,487 INFO L290 TraceCheckUtils]: 28: Hoare triple {1412#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,488 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1412#true} {1490#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1490#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 01:36:43,489 INFO L290 TraceCheckUtils]: 30: Hoare triple {1490#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {1413#false} is VALID [2022-04-15 01:36:43,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#false} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1413#false} is VALID [2022-04-15 01:36:43,489 INFO L272 TraceCheckUtils]: 32: Hoare triple {1413#false} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {1413#false} is VALID [2022-04-15 01:36:43,489 INFO L290 TraceCheckUtils]: 33: Hoare triple {1413#false} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1413#false} is VALID [2022-04-15 01:36:43,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {1413#false} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1413#false} is VALID [2022-04-15 01:36:43,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1413#false} is VALID [2022-04-15 01:36:43,490 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 01:36:43,490 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 01:36:43,809 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1413#false} is VALID [2022-04-15 01:36:43,809 INFO L290 TraceCheckUtils]: 34: Hoare triple {1413#false} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1413#false} is VALID [2022-04-15 01:36:43,809 INFO L290 TraceCheckUtils]: 33: Hoare triple {1413#false} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1413#false} is VALID [2022-04-15 01:36:43,809 INFO L272 TraceCheckUtils]: 32: Hoare triple {1413#false} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {1413#false} is VALID [2022-04-15 01:36:43,810 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#false} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1413#false} is VALID [2022-04-15 01:36:43,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {1542#(<= main_~x~0 main_~X~0)} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {1413#false} is VALID [2022-04-15 01:36:43,810 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1412#true} {1542#(<= main_~x~0 main_~X~0)} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1542#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 01:36:43,810 INFO L290 TraceCheckUtils]: 28: Hoare triple {1412#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,811 INFO L290 TraceCheckUtils]: 27: Hoare triple {1412#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,811 INFO L290 TraceCheckUtils]: 26: Hoare triple {1412#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1412#true} is VALID [2022-04-15 01:36:43,811 INFO L272 TraceCheckUtils]: 25: Hoare triple {1542#(<= main_~x~0 main_~X~0)} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1412#true} is VALID [2022-04-15 01:36:43,811 INFO L290 TraceCheckUtils]: 24: Hoare triple {1542#(<= main_~x~0 main_~X~0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1542#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 01:36:43,811 INFO L290 TraceCheckUtils]: 23: Hoare triple {1564#(<= (+ main_~x~0 1) main_~X~0)} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {1542#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 01:36:43,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {1564#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 01:36:43,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 01:36:43,813 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1412#true} {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 01:36:43,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {1412#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {1412#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {1412#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1412#true} is VALID [2022-04-15 01:36:43,813 INFO L272 TraceCheckUtils]: 16: Hoare triple {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1412#true} is VALID [2022-04-15 01:36:43,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 01:36:43,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {1593#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {1568#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 01:36:43,816 INFO L290 TraceCheckUtils]: 13: Hoare triple {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} [81] L38-->L38-2: Formula: (and (= (+ v_main_~y~0_8 1) v_main_~y~0_7) (not (< v_main_~v~0_9 0)) (= (+ (* v_main_~Y~0_9 2) v_main_~v~0_9 (* (- 2) v_main_~X~0_9)) v_main_~v~0_8)) InVars {main_~y~0=v_main_~y~0_8, main_~v~0=v_main_~v~0_9, main_~Y~0=v_main_~Y~0_9, main_~X~0=v_main_~X~0_9} OutVars{main_~y~0=v_main_~y~0_7, main_~v~0=v_main_~v~0_8, main_~Y~0=v_main_~Y~0_9, main_#t~post6=|v_main_#t~post6_1|, main_~X~0=v_main_~X~0_9} AuxVars[] AssignedVars[main_~v~0, main_~y~0, main_#t~post6] {1593#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-15 01:36:43,816 INFO L290 TraceCheckUtils]: 12: Hoare triple {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 01:36:43,817 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1412#true} {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 01:36:43,817 INFO L290 TraceCheckUtils]: 10: Hoare triple {1412#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {1412#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {1412#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1412#true} is VALID [2022-04-15 01:36:43,817 INFO L272 TraceCheckUtils]: 7: Hoare triple {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1412#true} is VALID [2022-04-15 01:36:43,818 INFO L290 TraceCheckUtils]: 6: Hoare triple {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 01:36:43,819 INFO L290 TraceCheckUtils]: 5: Hoare triple {1412#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {1597#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-15 01:36:43,819 INFO L272 TraceCheckUtils]: 4: Hoare triple {1412#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,819 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1412#true} {1412#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {1412#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {1412#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1412#true} is VALID [2022-04-15 01:36:43,820 INFO L272 TraceCheckUtils]: 0: Hoare triple {1412#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1412#true} is VALID [2022-04-15 01:36:43,820 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 01:36:43,820 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 01:36:43,820 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1817816798] [2022-04-15 01:36:43,820 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 01:36:43,820 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1369674686] [2022-04-15 01:36:43,820 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1369674686] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 01:36:43,820 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 01:36:43,820 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 01:36:43,820 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385538907] [2022-04-15 01:36:43,821 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-15 01:36:43,821 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 36 [2022-04-15 01:36:43,822 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 01:36:43,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:43,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:36:43,856 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 01:36:43,856 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-15 01:36:43,856 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 01:36:43,856 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 01:36:43,856 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:44,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:44,298 INFO L93 Difference]: Finished difference Result 57 states and 66 transitions. [2022-04-15 01:36:44,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 01:36:44,298 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 36 [2022-04-15 01:36:44,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 01:36:44,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:44,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 49 transitions. [2022-04-15 01:36:44,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:44,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 49 transitions. [2022-04-15 01:36:44,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 49 transitions. [2022-04-15 01:36:44,338 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:36:44,339 INFO L225 Difference]: With dead ends: 57 [2022-04-15 01:36:44,339 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 01:36:44,340 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-15 01:36:44,340 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 5 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 01:36:44,340 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 111 Invalid, 190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 01:36:44,341 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 01:36:44,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 43. [2022-04-15 01:36:44,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 01:36:44,358 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 43 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 31 states have internal predecessors, (36), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 01:36:44,359 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 43 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 31 states have internal predecessors, (36), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 01:36:44,359 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 43 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 31 states have internal predecessors, (36), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 01:36:44,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:44,361 INFO L93 Difference]: Finished difference Result 51 states and 60 transitions. [2022-04-15 01:36:44,361 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 60 transitions. [2022-04-15 01:36:44,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:36:44,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:36:44,364 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 31 states have internal predecessors, (36), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-15 01:36:44,365 INFO L87 Difference]: Start difference. First operand has 43 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 31 states have internal predecessors, (36), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-15 01:36:44,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:44,367 INFO L93 Difference]: Finished difference Result 51 states and 60 transitions. [2022-04-15 01:36:44,367 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 60 transitions. [2022-04-15 01:36:44,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:36:44,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:36:44,367 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 01:36:44,367 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 01:36:44,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 31 states have (on average 1.1612903225806452) internal successors, (36), 31 states have internal predecessors, (36), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 01:36:44,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 50 transitions. [2022-04-15 01:36:44,369 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 50 transitions. Word has length 36 [2022-04-15 01:36:44,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 01:36:44,369 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 50 transitions. [2022-04-15 01:36:44,369 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:44,369 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2022-04-15 01:36:44,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 01:36:44,370 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 01:36:44,370 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 01:36:44,390 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 01:36:44,590 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:36:44,591 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 01:36:44,591 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 01:36:44,591 INFO L85 PathProgramCache]: Analyzing trace with hash -1614877155, now seen corresponding path program 2 times [2022-04-15 01:36:44,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 01:36:44,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [965257364] [2022-04-15 01:36:44,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:36:44,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 01:36:44,601 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 01:36:44,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [26381468] [2022-04-15 01:36:44,602 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 01:36:44,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:36:44,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:36:44,605 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 01:36:44,615 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 01:36:44,666 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 01:36:44,666 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 01:36:44,666 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 01:36:44,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:36:44,679 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 01:36:45,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {1889#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {1889#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1889#true} is VALID [2022-04-15 01:36:45,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {1889#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1889#true} {1889#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {1889#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {1889#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 01:36:45,572 INFO L290 TraceCheckUtils]: 6: Hoare triple {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 01:36:45,572 INFO L272 TraceCheckUtils]: 7: Hoare triple {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,572 INFO L290 TraceCheckUtils]: 10: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,573 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1889#true} {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 01:36:45,574 INFO L290 TraceCheckUtils]: 12: Hoare triple {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 01:36:45,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {1909#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {1934#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 01:36:45,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {1934#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 01:36:45,576 INFO L290 TraceCheckUtils]: 15: Hoare triple {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 01:36:45,576 INFO L272 TraceCheckUtils]: 16: Hoare triple {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,576 INFO L290 TraceCheckUtils]: 17: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,576 INFO L290 TraceCheckUtils]: 18: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,577 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1889#true} {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 01:36:45,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 01:36:45,578 INFO L290 TraceCheckUtils]: 22: Hoare triple {1938#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} [81] L38-->L38-2: Formula: (and (= (+ v_main_~y~0_8 1) v_main_~y~0_7) (not (< v_main_~v~0_9 0)) (= (+ (* v_main_~Y~0_9 2) v_main_~v~0_9 (* (- 2) v_main_~X~0_9)) v_main_~v~0_8)) InVars {main_~y~0=v_main_~y~0_8, main_~v~0=v_main_~v~0_9, main_~Y~0=v_main_~Y~0_9, main_~X~0=v_main_~X~0_9} OutVars{main_~y~0=v_main_~y~0_7, main_~v~0=v_main_~v~0_8, main_~Y~0=v_main_~Y~0_9, main_#t~post6=|v_main_#t~post6_1|, main_~X~0=v_main_~X~0_9} AuxVars[] AssignedVars[main_~v~0, main_~y~0, main_#t~post6] {1963#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,579 INFO L290 TraceCheckUtils]: 23: Hoare triple {1963#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,579 INFO L290 TraceCheckUtils]: 24: Hoare triple {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,579 INFO L272 TraceCheckUtils]: 25: Hoare triple {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,579 INFO L290 TraceCheckUtils]: 26: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,580 INFO L290 TraceCheckUtils]: 27: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,580 INFO L290 TraceCheckUtils]: 28: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,580 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1889#true} {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,581 INFO L290 TraceCheckUtils]: 30: Hoare triple {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,581 INFO L290 TraceCheckUtils]: 31: Hoare triple {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,582 INFO L290 TraceCheckUtils]: 32: Hoare triple {1967#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {1995#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {1995#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1995#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,583 INFO L272 TraceCheckUtils]: 34: Hoare triple {1995#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,583 INFO L290 TraceCheckUtils]: 36: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,583 INFO L290 TraceCheckUtils]: 37: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,584 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1889#true} {1995#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1995#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 01:36:45,584 INFO L290 TraceCheckUtils]: 39: Hoare triple {1995#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {1890#false} is VALID [2022-04-15 01:36:45,584 INFO L290 TraceCheckUtils]: 40: Hoare triple {1890#false} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1890#false} is VALID [2022-04-15 01:36:45,584 INFO L272 TraceCheckUtils]: 41: Hoare triple {1890#false} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {1890#false} is VALID [2022-04-15 01:36:45,585 INFO L290 TraceCheckUtils]: 42: Hoare triple {1890#false} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1890#false} is VALID [2022-04-15 01:36:45,585 INFO L290 TraceCheckUtils]: 43: Hoare triple {1890#false} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1890#false} is VALID [2022-04-15 01:36:45,585 INFO L290 TraceCheckUtils]: 44: Hoare triple {1890#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1890#false} is VALID [2022-04-15 01:36:45,585 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 01:36:45,585 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 01:36:45,898 INFO L290 TraceCheckUtils]: 44: Hoare triple {1890#false} [86] L15-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1890#false} is VALID [2022-04-15 01:36:45,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {1890#false} [82] L14-->L15: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1890#false} is VALID [2022-04-15 01:36:45,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {1890#false} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1890#false} is VALID [2022-04-15 01:36:45,898 INFO L272 TraceCheckUtils]: 41: Hoare triple {1890#false} [75] L48-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= 0 (+ (* v_main_~xy~0_7 (- 2)) (* v_main_~y~0_9 2) (* (- 1) v_main_~X~0_11) (* v_main_~yx~0_7 2) (* (- 1) v_main_~v~0_11) (* 2 v_main_~Y~0_11))) 1 0)) InVars {main_~v~0=v_main_~v~0_11, main_~yx~0=v_main_~yx~0_7, main_~Y~0=v_main_~Y~0_11, main_~X~0=v_main_~X~0_11, main_~xy~0=v_main_~xy~0_7, main_~y~0=v_main_~y~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0, main_~y~0] {1890#false} is VALID [2022-04-15 01:36:45,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {1890#false} [73] L30-3-->L48: Formula: (and (= v_main_~xy~0_1 (* v_main_~x~0_3 v_main_~y~0_1)) (= v_main_~yx~0_1 (* v_main_~Y~0_1 v_main_~x~0_3))) InVars {main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~Y~0=v_main_~Y~0_1} OutVars{main_~xy~0=v_main_~xy~0_1, main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_3, main_~yx~0=v_main_~yx~0_1, main_~Y~0=v_main_~Y~0_1} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {1890#false} is VALID [2022-04-15 01:36:45,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {2047#(<= main_~x~0 main_~X~0)} [76] L33-1-->L30-3: Formula: (not (<= v_main_~x~0_8 v_main_~X~0_7)) InVars {main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} OutVars{main_~x~0=v_main_~x~0_8, main_~X~0=v_main_~X~0_7} AuxVars[] AssignedVars[] {1890#false} is VALID [2022-04-15 01:36:45,900 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1889#true} {2047#(<= main_~x~0 main_~X~0)} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {2047#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 01:36:45,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,900 INFO L272 TraceCheckUtils]: 34: Hoare triple {2047#(<= main_~x~0 main_~X~0)} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,900 INFO L290 TraceCheckUtils]: 33: Hoare triple {2047#(<= main_~x~0 main_~X~0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {2047#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 01:36:45,901 INFO L290 TraceCheckUtils]: 32: Hoare triple {2069#(<= (+ main_~x~0 1) main_~X~0)} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {2047#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 01:36:45,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {2069#(<= (+ main_~x~0 1) main_~X~0)} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {2069#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 01:36:45,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {2069#(<= (+ main_~x~0 1) main_~X~0)} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {2069#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 01:36:45,902 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1889#true} {2069#(<= (+ main_~x~0 1) main_~X~0)} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {2069#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 01:36:45,902 INFO L290 TraceCheckUtils]: 28: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,903 INFO L290 TraceCheckUtils]: 26: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,903 INFO L272 TraceCheckUtils]: 25: Hoare triple {2069#(<= (+ main_~x~0 1) main_~X~0)} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,903 INFO L290 TraceCheckUtils]: 24: Hoare triple {2069#(<= (+ main_~x~0 1) main_~X~0)} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {2069#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 01:36:45,904 INFO L290 TraceCheckUtils]: 23: Hoare triple {2097#(<= (+ main_~x~0 2) main_~X~0)} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {2069#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 01:36:45,904 INFO L290 TraceCheckUtils]: 22: Hoare triple {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} [81] L38-->L38-2: Formula: (and (= (+ v_main_~y~0_8 1) v_main_~y~0_7) (not (< v_main_~v~0_9 0)) (= (+ (* v_main_~Y~0_9 2) v_main_~v~0_9 (* (- 2) v_main_~X~0_9)) v_main_~v~0_8)) InVars {main_~y~0=v_main_~y~0_8, main_~v~0=v_main_~v~0_9, main_~Y~0=v_main_~Y~0_9, main_~X~0=v_main_~X~0_9} OutVars{main_~y~0=v_main_~y~0_7, main_~v~0=v_main_~v~0_8, main_~Y~0=v_main_~Y~0_9, main_#t~post6=|v_main_#t~post6_1|, main_~X~0=v_main_~X~0_9} AuxVars[] AssignedVars[main_~v~0, main_~y~0, main_#t~post6] {2097#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-15 01:36:45,904 INFO L290 TraceCheckUtils]: 21: Hoare triple {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 01:36:45,905 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1889#true} {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 01:36:45,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,905 INFO L290 TraceCheckUtils]: 17: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,906 INFO L272 TraceCheckUtils]: 16: Hoare triple {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 01:36:45,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {2126#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} [85] L38-2-->L30-2: Formula: (= v_main_~x~0_1 (+ v_main_~x~0_2 1)) InVars {main_~x~0=v_main_~x~0_2} OutVars{main_~x~0=v_main_~x~0_1, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[main_~x~0, main_#t~post7] {2101#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 01:36:45,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} [80] L38-->L38-2: Formula: (and (= v_main_~v~0_6 (+ v_main_~v~0_7 (* v_main_~Y~0_8 2))) (< v_main_~v~0_7 0)) InVars {main_~v~0=v_main_~v~0_7, main_~Y~0=v_main_~Y~0_8} OutVars{main_~v~0=v_main_~v~0_6, main_~Y~0=v_main_~Y~0_8} AuxVars[] AssignedVars[main_~v~0] {2126#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 01:36:45,908 INFO L290 TraceCheckUtils]: 12: Hoare triple {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} [77] L33-1-->L38: Formula: (<= v_main_~x~0_9 v_main_~X~0_8) InVars {main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} OutVars{main_~x~0=v_main_~x~0_9, main_~X~0=v_main_~X~0_8} AuxVars[] AssignedVars[] {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 01:36:45,908 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1889#true} {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} [91] __VERIFIER_assertEXIT-->L33-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 01:36:45,909 INFO L290 TraceCheckUtils]: 10: Hoare triple {1889#true} [88] L14-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {1889#true} [83] L14-->L14-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {1889#true} [78] __VERIFIER_assertENTRY-->L14: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1889#true} is VALID [2022-04-15 01:36:45,909 INFO L272 TraceCheckUtils]: 7: Hoare triple {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} [74] L33-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 1) v_main_~X~0_10) (* (- 1) v_main_~v~0_10) (* v_main_~xy~0_6 (- 2)) (* 2 v_main_~Y~0_10) (* v_main_~yx~0_6 2)) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~xy~0=v_main_~xy~0_6, main_~v~0=v_main_~v~0_10, main_~yx~0=v_main_~yx~0_6, main_~Y~0=v_main_~Y~0_10, main_~X~0=v_main_~X~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~yx~0, main_~Y~0, main_~X~0, main_~xy~0] {1889#true} is VALID [2022-04-15 01:36:45,909 INFO L290 TraceCheckUtils]: 6: Hoare triple {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} [72] L30-2-->L33: Formula: (and (= v_main_~yx~0_4 (* v_main_~Y~0_6 v_main_~x~0_7)) (= v_main_~xy~0_4 (* v_main_~X~0_5 v_main_~y~0_6))) InVars {main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_7, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5} OutVars{main_~x~0=v_main_~x~0_7, main_~yx~0=v_main_~yx~0_4, main_~Y~0=v_main_~Y~0_6, main_~X~0=v_main_~X~0_5, main_~xy~0=v_main_~xy~0_4, main_~y~0=v_main_~y~0_6} AuxVars[] AssignedVars[main_~yx~0, main_~xy~0] {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 01:36:45,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {1889#true} [68] mainENTRY-->L30-2: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~X~0_2 |v_main_#t~nondet4_2|) (= v_main_~Y~0_3 |v_main_#t~nondet5_2|) (= (+ (* v_main_~Y~0_3 2) (* (- 1) v_main_~X~0_2)) v_main_~v~0_2) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (= v_main_~x~0_4 0) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_3 0)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~x~0=v_main_~x~0_4, main_~Y~0=v_main_~Y~0_3, main_~yx~0=v_main_~yx~0_3, main_~X~0=v_main_~X~0_2, main_~y~0=v_main_~y~0_3, main_~xy~0=v_main_~xy~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~x~0, main_~Y~0, main_~yx~0, main_~X~0, main_~y~0, main_~xy~0] {2130#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 01:36:45,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {1889#true} [65] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1889#true} {1889#true} [89] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {1889#true} [69] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {1889#true} [66] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= (select |v_#length_1| 2) 15) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1889#true} is VALID [2022-04-15 01:36:45,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {1889#true} [64] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1889#true} is VALID [2022-04-15 01:36:45,911 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 01:36:45,911 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 01:36:45,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [965257364] [2022-04-15 01:36:45,911 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 01:36:45,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [26381468] [2022-04-15 01:36:45,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [26381468] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 01:36:45,911 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 01:36:45,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-15 01:36:45,912 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1225258590] [2022-04-15 01:36:45,912 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-15 01:36:45,912 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 14 states have internal predecessors, (39), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 45 [2022-04-15 01:36:45,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 01:36:45,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 14 states have internal predecessors, (39), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 01:36:45,957 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:36:45,957 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 01:36:45,957 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-15 01:36:45,958 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 01:36:45,958 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-15 01:36:45,958 INFO L87 Difference]: Start difference. First operand 43 states and 50 transitions. Second operand has 14 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 14 states have internal predecessors, (39), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 01:36:46,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:46,461 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-04-15 01:36:46,461 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 01:36:46,461 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 14 states have internal predecessors, (39), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 45 [2022-04-15 01:36:46,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 01:36:46,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 14 states have internal predecessors, (39), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 01:36:46,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 55 transitions. [2022-04-15 01:36:46,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 14 states have internal predecessors, (39), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 01:36:46,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 55 transitions. [2022-04-15 01:36:46,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 55 transitions. [2022-04-15 01:36:46,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 01:36:46,500 INFO L225 Difference]: With dead ends: 70 [2022-04-15 01:36:46,500 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 01:36:46,500 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=64, Invalid=208, Unknown=0, NotChecked=0, Total=272 [2022-04-15 01:36:46,500 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 10 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 01:36:46,501 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 102 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 01:36:46,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 01:36:46,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 48. [2022-04-15 01:36:46,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 01:36:46,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 35 states have internal predecessors, (41), 9 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:46,539 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 35 states have internal predecessors, (41), 9 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:46,539 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 35 states have internal predecessors, (41), 9 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:46,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:46,542 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-15 01:36:46,542 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-15 01:36:46,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:36:46,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:36:46,546 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 35 states have internal predecessors, (41), 9 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 64 states. [2022-04-15 01:36:46,548 INFO L87 Difference]: Start difference. First operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 35 states have internal predecessors, (41), 9 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 64 states. [2022-04-15 01:36:46,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 01:36:46,562 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-15 01:36:46,562 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-15 01:36:46,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 01:36:46,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 01:36:46,562 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 01:36:46,562 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 01:36:46,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 35 states have internal predecessors, (41), 9 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 01:36:46,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-15 01:36:46,566 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 45 [2022-04-15 01:36:46,566 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 01:36:46,566 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-15 01:36:46,567 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 14 states have internal predecessors, (39), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 01:36:46,567 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-15 01:36:46,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 01:36:46,568 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 01:36:46,568 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 01:36:46,594 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 01:36:46,784 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:36:46,784 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 01:36:46,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 01:36:46,785 INFO L85 PathProgramCache]: Analyzing trace with hash -574778181, now seen corresponding path program 3 times [2022-04-15 01:36:46,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 01:36:46,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1799431182] [2022-04-15 01:36:46,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 01:36:46,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 01:36:46,797 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 01:36:46,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1144166831] [2022-04-15 01:36:46,797 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-15 01:36:46,797 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 01:36:46,797 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 01:36:46,798 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 01:36:46,799 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 01:36:47,109 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-15 01:36:47,109 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 01:36:47,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 01:36:47,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 01:36:47,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 01:37:01,692 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 01:37:07,484 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 01:37:09,792 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 01:37:15,876 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse3 (+ c_main_~X~0 1)) (.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) (* c_main_~X~0 c_main_~y~0))) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) is different from false