/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/automizer/LoopAccelerationJordanC.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 20:39:57,217 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 20:39:57,219 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 20:39:57,245 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 20:39:57,245 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 20:39:57,246 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 20:39:57,248 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 20:39:57,252 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 20:39:57,253 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 20:39:57,256 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 20:39:57,256 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 20:39:57,257 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 20:39:57,257 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 20:39:57,259 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 20:39:57,259 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 20:39:57,261 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 20:39:57,262 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 20:39:57,263 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 20:39:57,264 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 20:39:57,266 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 20:39:57,266 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 20:39:57,267 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 20:39:57,267 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 20:39:57,268 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 20:39:57,269 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 20:39:57,273 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 20:39:57,273 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 20:39:57,273 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 20:39:57,274 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 20:39:57,274 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 20:39:57,274 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 20:39:57,274 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 20:39:57,275 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 20:39:57,275 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 20:39:57,275 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 20:39:57,276 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 20:39:57,276 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 20:39:57,276 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 20:39:57,277 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 20:39:57,277 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 20:39:57,277 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 20:39:57,280 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 20:39:57,280 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-07 20:39:57,288 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 20:39:57,288 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 20:39:57,289 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 20:39:57,289 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 20:39:57,289 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 20:39:57,289 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 20:39:57,289 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 20:39:57,290 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 20:39:57,290 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 20:39:57,290 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 20:39:57,290 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 20:39:57,290 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 20:39:57,290 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 20:39:57,290 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 20:39:57,291 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 20:39:57,291 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 20:39:57,291 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-07 20:39:57,291 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 20:39:57,291 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 20:39:57,291 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 20:39:57,291 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 20:39:57,292 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-07 20:39:57,292 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_JORDAN 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-07 20:39:57,469 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 20:39:57,482 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 20:39:57,483 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 20:39:57,484 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 20:39:57,485 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 20:39:57,485 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c [2022-04-07 20:39:57,532 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7ea27166d/ab59e087c0d743ecb35da34009e95f1a/FLAG2bcdc1b2d [2022-04-07 20:39:57,877 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 20:39:57,877 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c [2022-04-07 20:39:57,881 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7ea27166d/ab59e087c0d743ecb35da34009e95f1a/FLAG2bcdc1b2d [2022-04-07 20:39:58,316 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7ea27166d/ab59e087c0d743ecb35da34009e95f1a [2022-04-07 20:39:58,318 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 20:39:58,318 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-07 20:39:58,331 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 20:39:58,331 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 20:39:58,334 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 20:39:58,334 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,335 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@69e8c983 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58, skipping insertion in model container [2022-04-07 20:39:58,335 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,339 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 20:39:58,347 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 20:39:58,446 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-scaling/prodbin-ll_unwindbound50.c[537,550] [2022-04-07 20:39:58,457 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 20:39:58,463 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 20:39:58,470 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-scaling/prodbin-ll_unwindbound50.c[537,550] [2022-04-07 20:39:58,473 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 20:39:58,481 INFO L208 MainTranslator]: Completed translation [2022-04-07 20:39:58,482 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58 WrapperNode [2022-04-07 20:39:58,482 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 20:39:58,482 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 20:39:58,482 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 20:39:58,482 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 20:39:58,488 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,489 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,492 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,492 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,496 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,498 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,515 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,516 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 20:39:58,517 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 20:39:58,517 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 20:39:58,517 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 20:39:58,518 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,526 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 20:39:58,533 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:39:58,542 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-07 20:39:58,548 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-07 20:39:58,574 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 20:39:58,575 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 20:39:58,575 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 20:39:58,575 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 20:39:58,575 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 20:39:58,576 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 20:39:58,576 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 20:39:58,577 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 20:39:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 20:39:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 20:39:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 20:39:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 20:39:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 20:39:58,621 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 20:39:58,622 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 20:39:58,746 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 20:39:58,751 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 20:39:58,751 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 20:39:58,752 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 08:39:58 BoogieIcfgContainer [2022-04-07 20:39:58,752 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 20:39:58,753 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-07 20:39:58,753 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-07 20:39:58,755 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-07 20:39:58,761 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 08:39:58" (1/1) ... [2022-04-07 20:39:58,763 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-07 20:39:58,792 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 08:39:58 BasicIcfg [2022-04-07 20:39:58,793 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-07 20:39:58,793 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 20:39:58,794 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 20:39:58,795 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 20:39:58,796 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 08:39:58" (1/4) ... [2022-04-07 20:39:58,796 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@52a9a77a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 08:39:58, skipping insertion in model container [2022-04-07 20:39:58,796 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 08:39:58" (2/4) ... [2022-04-07 20:39:58,796 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@52a9a77a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 08:39:58, skipping insertion in model container [2022-04-07 20:39:58,796 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 08:39:58" (3/4) ... [2022-04-07 20:39:58,797 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@52a9a77a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 08:39:58, skipping insertion in model container [2022-04-07 20:39:58,797 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 08:39:58" (4/4) ... [2022-04-07 20:39:58,797 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound50.cJordan [2022-04-07 20:39:58,800 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-07 20:39:58,800 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 20:39:58,825 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 20:39:58,829 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=ForwardPredicates, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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-07 20:39:58,829 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 20:39:58,840 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 20:39:58,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-07 20:39:58,844 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:39:58,845 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:39:58,845 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:39:58,848 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:39:58,848 INFO L85 PathProgramCache]: Analyzing trace with hash 1957529129, now seen corresponding path program 1 times [2022-04-07 20:39:58,854 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:39:58,854 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [414740904] [2022-04-07 20:39:58,854 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:39:58,855 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:39:58,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:39:59,004 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 20:39:59,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:39:59,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {33#true} is VALID [2022-04-07 20:39:59,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,021 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,022 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 20:39:59,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:39:59,035 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {33#true} is VALID [2022-04-07 20:39:59,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {33#true} is VALID [2022-04-07 20:39:59,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 20:39:59,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {33#true} is VALID [2022-04-07 20:39:59,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {33#true} is VALID [2022-04-07 20:39:59,038 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {33#true} is VALID [2022-04-07 20:39:59,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {33#true} is VALID [2022-04-07 20:39:59,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 20:39:59,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33#true} {33#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {33#true} is VALID [2022-04-07 20:39:59,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {33#true} is VALID [2022-04-07 20:39:59,039 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#true} [77] L33-3-->L33-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 20:39:59,039 INFO L272 TraceCheckUtils]: 13: Hoare triple {34#false} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {34#false} is VALID [2022-04-07 20:39:59,040 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} [86] __VERIFIER_assertENTRY-->L13: 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] {34#false} is VALID [2022-04-07 20:39:59,040 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} [89] L13-->L14: 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[] {34#false} is VALID [2022-04-07 20:39:59,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 20:39:59,040 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-07 20:39:59,041 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:39:59,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [414740904] [2022-04-07 20:39:59,041 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [414740904] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 20:39:59,041 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 20:39:59,041 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 20:39:59,042 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [835222174] [2022-04-07 20:39:59,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 20:39:59,046 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 20:39:59,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:39:59,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:39:59,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:39:59,065 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 20:39:59,066 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:39:59,091 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 20:39:59,092 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 20:39:59,093 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:39:59,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:39:59,211 INFO L93 Difference]: Finished difference Result 31 states and 34 transitions. [2022-04-07 20:39:59,211 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 20:39:59,212 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 20:39:59,212 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:39:59,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:39:59,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2022-04-07 20:39:59,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:39:59,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2022-04-07 20:39:59,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 38 transitions. [2022-04-07 20:39:59,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:39:59,272 INFO L225 Difference]: With dead ends: 31 [2022-04-07 20:39:59,273 INFO L226 Difference]: Without dead ends: 26 [2022-04-07 20:39:59,274 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 20:39:59,278 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 20:39:59,279 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 35 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 20:39:59,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-07 20:39:59,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-07 20:39:59,296 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:39:59,296 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 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-07 20:39:59,297 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 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-07 20:39:59,297 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 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-07 20:39:59,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:39:59,300 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-07 20:39:59,300 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-07 20:39:59,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:39:59,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:39:59,301 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 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 26 states. [2022-04-07 20:39:59,301 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 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 26 states. [2022-04-07 20:39:59,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:39:59,303 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-07 20:39:59,303 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-07 20:39:59,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:39:59,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:39:59,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:39:59,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:39:59,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 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-07 20:39:59,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-07 20:39:59,306 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-07 20:39:59,306 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:39:59,306 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-07 20:39:59,307 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:39:59,307 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-07 20:39:59,307 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 20:39:59,307 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:39:59,307 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:39:59,307 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 20:39:59,308 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:39:59,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:39:59,308 INFO L85 PathProgramCache]: Analyzing trace with hash 583261658, now seen corresponding path program 1 times [2022-04-07 20:39:59,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:39:59,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1238797591] [2022-04-07 20:39:59,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:39:59,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:39:59,343 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:39:59,343 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1954111617] [2022-04-07 20:39:59,343 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:39:59,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:39:59,344 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:39:59,346 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-07 20:39:59,347 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-07 20:39:59,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:39:59,386 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 20:39:59,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:39:59,396 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:39:59,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {153#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {153#true} is VALID [2022-04-07 20:39:59,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {153#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {161#(<= ~counter~0 0)} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {161#(<= ~counter~0 0)} {153#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,516 INFO L272 TraceCheckUtils]: 4: Hoare triple {161#(<= ~counter~0 0)} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,516 INFO L290 TraceCheckUtils]: 5: Hoare triple {161#(<= ~counter~0 0)} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,517 INFO L272 TraceCheckUtils]: 6: Hoare triple {161#(<= ~counter~0 0)} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {161#(<= ~counter~0 0)} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {161#(<= ~counter~0 0)} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {161#(<= ~counter~0 0)} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,518 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {161#(<= ~counter~0 0)} {161#(<= ~counter~0 0)} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {161#(<= ~counter~0 0)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {161#(<= ~counter~0 0)} is VALID [2022-04-07 20:39:59,519 INFO L290 TraceCheckUtils]: 12: Hoare triple {161#(<= ~counter~0 0)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {195#(<= |main_#t~post6| 0)} is VALID [2022-04-07 20:39:59,520 INFO L290 TraceCheckUtils]: 13: Hoare triple {195#(<= |main_#t~post6| 0)} [82] L33-1-->L33-4: Formula: (not (< |v_main_#t~post6_3| 50)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {154#false} is VALID [2022-04-07 20:39:59,520 INFO L272 TraceCheckUtils]: 14: Hoare triple {154#false} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {154#false} is VALID [2022-04-07 20:39:59,520 INFO L290 TraceCheckUtils]: 15: Hoare triple {154#false} [86] __VERIFIER_assertENTRY-->L13: 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] {154#false} is VALID [2022-04-07 20:39:59,520 INFO L290 TraceCheckUtils]: 16: Hoare triple {154#false} [89] L13-->L14: 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[] {154#false} is VALID [2022-04-07 20:39:59,521 INFO L290 TraceCheckUtils]: 17: Hoare triple {154#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {154#false} is VALID [2022-04-07 20:39:59,521 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-07 20:39:59,521 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 20:39:59,521 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:39:59,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1238797591] [2022-04-07 20:39:59,521 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:39:59,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1954111617] [2022-04-07 20:39:59,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1954111617] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 20:39:59,522 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 20:39:59,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 20:39:59,522 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2097913692] [2022-04-07 20:39:59,522 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 20:39:59,523 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 20:39:59,523 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:39:59,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 20:39:59,537 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:39:59,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 20:39:59,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:39:59,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 20:39:59,538 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 20:39:59,538 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 20:39:59,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:39:59,575 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 20:39:59,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 20:39:59,576 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 20:39:59,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:39:59,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 20:39:59,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 31 transitions. [2022-04-07 20:39:59,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 20:39:59,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 31 transitions. [2022-04-07 20:39:59,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 31 transitions. [2022-04-07 20:39:59,600 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-07 20:39:59,601 INFO L225 Difference]: With dead ends: 27 [2022-04-07 20:39:59,601 INFO L226 Difference]: Without dead ends: 27 [2022-04-07 20:39:59,602 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 20:39:59,602 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 20:39:59,603 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 20:39:59,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-07 20:39:59,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-07 20:39:59,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:39:59,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 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-07 20:39:59,605 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 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-07 20:39:59,606 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 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-07 20:39:59,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:39:59,607 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 20:39:59,607 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 20:39:59,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:39:59,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:39:59,608 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 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-07 20:39:59,608 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 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-07 20:39:59,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:39:59,609 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 20:39:59,609 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 20:39:59,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:39:59,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:39:59,610 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:39:59,610 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:39:59,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 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-07 20:39:59,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-07 20:39:59,611 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-07 20:39:59,611 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:39:59,611 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-07 20:39:59,611 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 20:39:59,612 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 20:39:59,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 20:39:59,612 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:39:59,612 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:39:59,633 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-07 20:39:59,824 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:39:59,825 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:39:59,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:39:59,826 INFO L85 PathProgramCache]: Analyzing trace with hash 584363925, now seen corresponding path program 1 times [2022-04-07 20:39:59,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:39:59,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1470470634] [2022-04-07 20:39:59,826 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:39:59,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:39:59,839 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:39:59,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2113890584] [2022-04-07 20:39:59,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:39:59,840 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:39:59,840 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:39:59,841 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-07 20:39:59,842 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-07 20:39:59,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:39:59,873 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 20:39:59,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:39:59,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:39:59,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {318#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {318#true} is VALID [2022-04-07 20:39:59,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {318#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {318#true} is VALID [2022-04-07 20:39:59,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {318#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {318#true} is VALID [2022-04-07 20:39:59,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {318#true} {318#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {318#true} is VALID [2022-04-07 20:39:59,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {318#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {318#true} is VALID [2022-04-07 20:39:59,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {318#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {318#true} is VALID [2022-04-07 20:39:59,998 INFO L272 TraceCheckUtils]: 6: Hoare triple {318#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {318#true} is VALID [2022-04-07 20:39:59,998 INFO L290 TraceCheckUtils]: 7: Hoare triple {318#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {318#true} is VALID [2022-04-07 20:39:59,998 INFO L290 TraceCheckUtils]: 8: Hoare triple {318#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {318#true} is VALID [2022-04-07 20:39:59,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {318#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {318#true} is VALID [2022-04-07 20:39:59,999 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {318#true} {318#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {318#true} is VALID [2022-04-07 20:39:59,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {318#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {356#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:00,000 INFO L290 TraceCheckUtils]: 12: Hoare triple {356#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {356#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:00,001 INFO L290 TraceCheckUtils]: 13: Hoare triple {356#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {356#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:00,001 INFO L272 TraceCheckUtils]: 14: Hoare triple {356#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {366#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:40:00,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {366#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {370#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:40:00,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {370#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {319#false} is VALID [2022-04-07 20:40:00,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {319#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {319#false} is VALID [2022-04-07 20:40:00,003 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-07 20:40:00,003 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 20:40:00,003 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:40:00,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1470470634] [2022-04-07 20:40:00,003 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:40:00,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2113890584] [2022-04-07 20:40:00,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2113890584] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 20:40:00,004 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 20:40:00,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 20:40:00,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1085620371] [2022-04-07 20:40:00,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 20:40:00,004 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 20:40:00,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:40:00,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:40:00,017 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:40:00,017 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 20:40:00,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:40:00,017 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 20:40:00,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 20:40:00,018 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:40:00,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:00,113 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-07 20:40:00,113 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 20:40:00,114 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 20:40:00,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:40:00,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:40:00,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-07 20:40:00,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:40:00,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-07 20:40:00,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-07 20:40:00,148 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-07 20:40:00,149 INFO L225 Difference]: With dead ends: 36 [2022-04-07 20:40:00,150 INFO L226 Difference]: Without dead ends: 36 [2022-04-07 20:40:00,150 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 20:40:00,152 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 8 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 20:40:00,153 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 78 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 20:40:00,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-07 20:40:00,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-07 20:40:00,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:40:00,161 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,161 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,162 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:00,169 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-07 20:40:00,169 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-07 20:40:00,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:40:00,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:40:00,170 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-07 20:40:00,171 INFO L87 Difference]: Start difference. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-07 20:40:00,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:00,175 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-07 20:40:00,176 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-07 20:40:00,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:40:00,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:40:00,176 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:40:00,176 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:40:00,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-07 20:40:00,178 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-07 20:40:00,178 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:40:00,178 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-07 20:40:00,178 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 20:40:00,178 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-07 20:40:00,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-07 20:40:00,178 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:40:00,178 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:40:00,196 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-07 20:40:00,391 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,SelfDestructingSolverStorable2 [2022-04-07 20:40:00,391 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:40:00,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:40:00,392 INFO L85 PathProgramCache]: Analyzing trace with hash 1698322804, now seen corresponding path program 1 times [2022-04-07 20:40:00,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:40:00,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2110398541] [2022-04-07 20:40:00,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:40:00,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:40:00,406 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:40:00,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [934402116] [2022-04-07 20:40:00,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:40:00,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:40:00,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:40:00,408 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-07 20:40:00,409 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-07 20:40:00,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:40:00,445 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 20:40:00,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:40:00,450 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:40:00,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {518#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {518#true} is VALID [2022-04-07 20:40:00,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {518#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {518#true} is VALID [2022-04-07 20:40:00,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {518#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {518#true} is VALID [2022-04-07 20:40:00,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {518#true} {518#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {518#true} is VALID [2022-04-07 20:40:00,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {518#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {518#true} is VALID [2022-04-07 20:40:00,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {518#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {518#true} is VALID [2022-04-07 20:40:00,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {518#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {518#true} is VALID [2022-04-07 20:40:00,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {518#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {544#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 20:40:00,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {544#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {548#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:40:00,543 INFO L290 TraceCheckUtils]: 9: Hoare triple {548#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {548#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:40:00,543 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {548#(not (= |assume_abort_if_not_#in~cond| 0))} {518#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {555#(<= 1 main_~b~0)} is VALID [2022-04-07 20:40:00,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {555#(<= 1 main_~b~0)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {559#(<= 1 main_~y~0)} is VALID [2022-04-07 20:40:00,544 INFO L290 TraceCheckUtils]: 12: Hoare triple {559#(<= 1 main_~y~0)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {559#(<= 1 main_~y~0)} is VALID [2022-04-07 20:40:00,545 INFO L290 TraceCheckUtils]: 13: Hoare triple {559#(<= 1 main_~y~0)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {559#(<= 1 main_~y~0)} is VALID [2022-04-07 20:40:00,545 INFO L272 TraceCheckUtils]: 14: Hoare triple {559#(<= 1 main_~y~0)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {518#true} is VALID [2022-04-07 20:40:00,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {518#true} [86] __VERIFIER_assertENTRY-->L13: 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] {518#true} is VALID [2022-04-07 20:40:00,546 INFO L290 TraceCheckUtils]: 16: Hoare triple {518#true} [90] L13-->L13-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[] {518#true} is VALID [2022-04-07 20:40:00,549 INFO L290 TraceCheckUtils]: 17: Hoare triple {518#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {518#true} is VALID [2022-04-07 20:40:00,550 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {518#true} {559#(<= 1 main_~y~0)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {559#(<= 1 main_~y~0)} is VALID [2022-04-07 20:40:00,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {559#(<= 1 main_~y~0)} [91] L34-1-->L33-4: Formula: (= v_main_~y~0_7 0) InVars {main_~y~0=v_main_~y~0_7} OutVars{main_~y~0=v_main_~y~0_7} AuxVars[] AssignedVars[] {519#false} is VALID [2022-04-07 20:40:00,554 INFO L272 TraceCheckUtils]: 20: Hoare triple {519#false} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {519#false} is VALID [2022-04-07 20:40:00,554 INFO L290 TraceCheckUtils]: 21: Hoare triple {519#false} [86] __VERIFIER_assertENTRY-->L13: 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] {519#false} is VALID [2022-04-07 20:40:00,554 INFO L290 TraceCheckUtils]: 22: Hoare triple {519#false} [89] L13-->L14: 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[] {519#false} is VALID [2022-04-07 20:40:00,554 INFO L290 TraceCheckUtils]: 23: Hoare triple {519#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {519#false} is VALID [2022-04-07 20:40:00,555 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 20:40:00,555 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 20:40:00,555 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:40:00,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2110398541] [2022-04-07 20:40:00,555 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:40:00,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [934402116] [2022-04-07 20:40:00,555 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [934402116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 20:40:00,555 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 20:40:00,555 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 20:40:00,555 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [452596058] [2022-04-07 20:40:00,555 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 20:40:00,556 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-07 20:40:00,556 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:40:00,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 20:40:00,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:40:00,569 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 20:40:00,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:40:00,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 20:40:00,569 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 20:40:00,570 INFO L87 Difference]: Start difference. First operand 32 states and 35 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 20:40:00,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:00,673 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 20:40:00,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 20:40:00,674 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-07 20:40:00,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:40:00,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 20:40:00,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 37 transitions. [2022-04-07 20:40:00,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 20:40:00,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 37 transitions. [2022-04-07 20:40:00,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 37 transitions. [2022-04-07 20:40:00,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:40:00,701 INFO L225 Difference]: With dead ends: 35 [2022-04-07 20:40:00,701 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 20:40:00,701 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-07 20:40:00,703 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 17 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 20:40:00,704 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 88 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 20:40:00,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 20:40:00,709 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-07 20:40:00,710 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:40:00,710 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,710 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,710 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:00,711 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 20:40:00,711 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 20:40:00,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:40:00,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:40:00,712 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-07 20:40:00,712 INFO L87 Difference]: Start difference. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-07 20:40:00,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:00,713 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 20:40:00,713 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 20:40:00,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:40:00,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:40:00,713 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:40:00,713 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:40:00,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 20:40:00,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-07 20:40:00,714 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-07 20:40:00,714 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:40:00,714 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-07 20:40:00,714 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 20:40:00,715 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-07 20:40:00,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 20:40:00,715 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:40:00,715 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:40:00,731 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 20:40:00,917 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:40:00,918 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:40:00,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:40:00,918 INFO L85 PathProgramCache]: Analyzing trace with hash 919545147, now seen corresponding path program 1 times [2022-04-07 20:40:00,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:40:00,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1622294955] [2022-04-07 20:40:00,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:40:00,918 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:40:00,929 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:40:00,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [896638075] [2022-04-07 20:40:00,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:40:00,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:40:00,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:40:00,930 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-07 20:40:00,931 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-07 20:40:00,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:40:00,963 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 20:40:00,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:40:00,976 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:40:01,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {737#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {737#true} is VALID [2022-04-07 20:40:01,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {737#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,086 INFO L290 TraceCheckUtils]: 2: Hoare triple {745#(<= ~counter~0 0)} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,086 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {745#(<= ~counter~0 0)} {737#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,086 INFO L272 TraceCheckUtils]: 4: Hoare triple {745#(<= ~counter~0 0)} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,087 INFO L290 TraceCheckUtils]: 5: Hoare triple {745#(<= ~counter~0 0)} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,087 INFO L272 TraceCheckUtils]: 6: Hoare triple {745#(<= ~counter~0 0)} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,088 INFO L290 TraceCheckUtils]: 7: Hoare triple {745#(<= ~counter~0 0)} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,088 INFO L290 TraceCheckUtils]: 8: Hoare triple {745#(<= ~counter~0 0)} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,088 INFO L290 TraceCheckUtils]: 9: Hoare triple {745#(<= ~counter~0 0)} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,089 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {745#(<= ~counter~0 0)} {745#(<= ~counter~0 0)} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,089 INFO L290 TraceCheckUtils]: 11: Hoare triple {745#(<= ~counter~0 0)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {745#(<= ~counter~0 0)} is VALID [2022-04-07 20:40:01,089 INFO L290 TraceCheckUtils]: 12: Hoare triple {745#(<= ~counter~0 0)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,090 INFO L290 TraceCheckUtils]: 13: Hoare triple {779#(<= ~counter~0 1)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,090 INFO L272 TraceCheckUtils]: 14: Hoare triple {779#(<= ~counter~0 1)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,091 INFO L290 TraceCheckUtils]: 15: Hoare triple {779#(<= ~counter~0 1)} [86] __VERIFIER_assertENTRY-->L13: 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] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {779#(<= ~counter~0 1)} [90] L13-->L13-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[] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,091 INFO L290 TraceCheckUtils]: 17: Hoare triple {779#(<= ~counter~0 1)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,094 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {779#(<= ~counter~0 1)} {779#(<= ~counter~0 1)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {779#(<= ~counter~0 1)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {779#(<= ~counter~0 1)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,094 INFO L290 TraceCheckUtils]: 21: Hoare triple {779#(<= ~counter~0 1)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {779#(<= ~counter~0 1)} is VALID [2022-04-07 20:40:01,095 INFO L290 TraceCheckUtils]: 22: Hoare triple {779#(<= ~counter~0 1)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {810#(<= |main_#t~post6| 1)} is VALID [2022-04-07 20:40:01,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {810#(<= |main_#t~post6| 1)} [82] L33-1-->L33-4: Formula: (not (< |v_main_#t~post6_3| 50)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {738#false} is VALID [2022-04-07 20:40:01,095 INFO L272 TraceCheckUtils]: 24: Hoare triple {738#false} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {738#false} is VALID [2022-04-07 20:40:01,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {738#false} [86] __VERIFIER_assertENTRY-->L13: 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] {738#false} is VALID [2022-04-07 20:40:01,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {738#false} [89] L13-->L14: 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[] {738#false} is VALID [2022-04-07 20:40:01,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {738#false} is VALID [2022-04-07 20:40:01,096 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-07 20:40:01,096 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 20:40:01,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {738#false} is VALID [2022-04-07 20:40:01,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {738#false} [89] L13-->L14: 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[] {738#false} is VALID [2022-04-07 20:40:01,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {738#false} [86] __VERIFIER_assertENTRY-->L13: 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] {738#false} is VALID [2022-04-07 20:40:01,231 INFO L272 TraceCheckUtils]: 24: Hoare triple {738#false} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {738#false} is VALID [2022-04-07 20:40:01,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {838#(< |main_#t~post6| 50)} [82] L33-1-->L33-4: Formula: (not (< |v_main_#t~post6_3| 50)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {738#false} is VALID [2022-04-07 20:40:01,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {842#(< ~counter~0 50)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {838#(< |main_#t~post6| 50)} is VALID [2022-04-07 20:40:01,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {842#(< ~counter~0 50)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {842#(< ~counter~0 50)} is VALID [2022-04-07 20:40:01,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {842#(< ~counter~0 50)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {842#(< ~counter~0 50)} is VALID [2022-04-07 20:40:01,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {842#(< ~counter~0 50)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {842#(< ~counter~0 50)} is VALID [2022-04-07 20:40:01,238 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {737#true} {842#(< ~counter~0 50)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {842#(< ~counter~0 50)} is VALID [2022-04-07 20:40:01,238 INFO L290 TraceCheckUtils]: 17: Hoare triple {737#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {737#true} is VALID [2022-04-07 20:40:01,238 INFO L290 TraceCheckUtils]: 16: Hoare triple {737#true} [90] L13-->L13-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[] {737#true} is VALID [2022-04-07 20:40:01,238 INFO L290 TraceCheckUtils]: 15: Hoare triple {737#true} [86] __VERIFIER_assertENTRY-->L13: 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] {737#true} is VALID [2022-04-07 20:40:01,238 INFO L272 TraceCheckUtils]: 14: Hoare triple {842#(< ~counter~0 50)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {737#true} is VALID [2022-04-07 20:40:01,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {842#(< ~counter~0 50)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {842#(< ~counter~0 50)} is VALID [2022-04-07 20:40:01,239 INFO L290 TraceCheckUtils]: 12: Hoare triple {873#(< ~counter~0 49)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {842#(< ~counter~0 50)} is VALID [2022-04-07 20:40:01,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {873#(< ~counter~0 49)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {873#(< ~counter~0 49)} is VALID [2022-04-07 20:40:01,240 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {737#true} {873#(< ~counter~0 49)} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {873#(< ~counter~0 49)} is VALID [2022-04-07 20:40:01,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {737#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {737#true} is VALID [2022-04-07 20:40:01,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {737#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {737#true} is VALID [2022-04-07 20:40:01,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {737#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {737#true} is VALID [2022-04-07 20:40:01,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {873#(< ~counter~0 49)} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {737#true} is VALID [2022-04-07 20:40:01,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {873#(< ~counter~0 49)} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {873#(< ~counter~0 49)} is VALID [2022-04-07 20:40:01,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {873#(< ~counter~0 49)} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#(< ~counter~0 49)} is VALID [2022-04-07 20:40:01,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {873#(< ~counter~0 49)} {737#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#(< ~counter~0 49)} is VALID [2022-04-07 20:40:01,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {873#(< ~counter~0 49)} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#(< ~counter~0 49)} is VALID [2022-04-07 20:40:01,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {737#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {873#(< ~counter~0 49)} is VALID [2022-04-07 20:40:01,242 INFO L272 TraceCheckUtils]: 0: Hoare triple {737#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {737#true} is VALID [2022-04-07 20:40:01,242 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-07 20:40:01,243 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:40:01,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1622294955] [2022-04-07 20:40:01,243 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:40:01,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [896638075] [2022-04-07 20:40:01,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [896638075] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 20:40:01,243 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 20:40:01,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-07 20:40:01,243 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [3862263] [2022-04-07 20:40:01,243 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 20:40:01,244 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-07 20:40:01,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:40:01,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 20:40:01,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:40:01,282 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 20:40:01,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:40:01,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 20:40:01,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-07 20:40:01,283 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 20:40:01,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:01,417 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-07 20:40:01,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 20:40:01,417 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-07 20:40:01,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:40:01,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 20:40:01,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2022-04-07 20:40:01,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 20:40:01,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2022-04-07 20:40:01,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 74 transitions. [2022-04-07 20:40:01,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:40:01,473 INFO L225 Difference]: With dead ends: 63 [2022-04-07 20:40:01,473 INFO L226 Difference]: Without dead ends: 63 [2022-04-07 20:40:01,473 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-07 20:40:01,473 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 39 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 20:40:01,474 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 102 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 20:40:01,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-07 20:40:01,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-07 20:40:01,476 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:40:01,476 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 20:40:01,477 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 20:40:01,477 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 20:40:01,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:01,478 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-07 20:40:01,478 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-07 20:40:01,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:40:01,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:40:01,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-07 20:40:01,479 INFO L87 Difference]: Start difference. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-07 20:40:01,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:40:01,481 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-07 20:40:01,481 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-07 20:40:01,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:40:01,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:40:01,481 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:40:01,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:40:01,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 20:40:01,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-07 20:40:01,483 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 28 [2022-04-07 20:40:01,483 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:40:01,483 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-07 20:40:01,483 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 20:40:01,483 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-07 20:40:01,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 20:40:01,484 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:40:01,484 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:40:01,509 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-07 20:40:01,695 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:40:01,695 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:40:01,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:40:01,696 INFO L85 PathProgramCache]: Analyzing trace with hash 920647414, now seen corresponding path program 1 times [2022-04-07 20:40:01,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:40:01,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146622531] [2022-04-07 20:40:01,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:40:01,696 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:40:01,706 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:40:01,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1236764566] [2022-04-07 20:40:01,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:40:01,706 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:40:01,706 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:40:01,707 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-07 20:40:01,708 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-07 20:40:01,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:40:01,749 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-07 20:40:01,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:40:01,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:40:02,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {1166#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {1166#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {1166#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1166#true} {1166#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {1166#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {1166#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L272 TraceCheckUtils]: 6: Hoare triple {1166#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {1166#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1166#true} is VALID [2022-04-07 20:40:02,571 INFO L290 TraceCheckUtils]: 8: Hoare triple {1166#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:40:02,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {1166#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:40:02,572 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1166#true} {1166#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1166#true} is VALID [2022-04-07 20:40:02,575 INFO L290 TraceCheckUtils]: 11: Hoare triple {1166#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:02,576 INFO L290 TraceCheckUtils]: 12: Hoare triple {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:02,576 INFO L290 TraceCheckUtils]: 13: Hoare triple {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:02,576 INFO L272 TraceCheckUtils]: 14: Hoare triple {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1166#true} is VALID [2022-04-07 20:40:02,576 INFO L290 TraceCheckUtils]: 15: Hoare triple {1166#true} [86] __VERIFIER_assertENTRY-->L13: 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] {1217#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:40:02,577 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [90] L13-->L13-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[] {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:40:02,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:40:02,578 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:02,578 INFO L290 TraceCheckUtils]: 19: Hoare triple {1204#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {1231#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:02,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {1231#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {1235#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:40:02,580 INFO L290 TraceCheckUtils]: 21: Hoare triple {1235#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1239#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:40:02,580 INFO L290 TraceCheckUtils]: 22: Hoare triple {1239#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1239#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:40:02,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {1239#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1239#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:40:02,897 INFO L272 TraceCheckUtils]: 24: Hoare triple {1239#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1249#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:40:02,897 INFO L290 TraceCheckUtils]: 25: Hoare triple {1249#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {1253#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:40:02,897 INFO L290 TraceCheckUtils]: 26: Hoare triple {1253#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {1167#false} is VALID [2022-04-07 20:40:02,898 INFO L290 TraceCheckUtils]: 27: Hoare triple {1167#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1167#false} is VALID [2022-04-07 20:40:02,898 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 20:40:02,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 20:41:12,725 INFO L290 TraceCheckUtils]: 27: Hoare triple {1167#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1167#false} is VALID [2022-04-07 20:41:12,725 INFO L290 TraceCheckUtils]: 26: Hoare triple {1253#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {1167#false} is VALID [2022-04-07 20:41:12,726 INFO L290 TraceCheckUtils]: 25: Hoare triple {1249#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {1253#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:41:12,727 INFO L272 TraceCheckUtils]: 24: Hoare triple {1269#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1249#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:41:12,727 INFO L290 TraceCheckUtils]: 23: Hoare triple {1269#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1269#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:41:12,727 INFO L290 TraceCheckUtils]: 22: Hoare triple {1269#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1269#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:41:12,732 INFO L290 TraceCheckUtils]: 21: Hoare triple {1279#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1269#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:41:12,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {1283#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {1279#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-07 20:41:12,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {1283#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {1283#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-07 20:41:13,197 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} {1166#true} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1283#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-07 20:41:13,197 INFO L290 TraceCheckUtils]: 17: Hoare triple {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:41:13,197 INFO L290 TraceCheckUtils]: 16: Hoare triple {1299#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [90] L13-->L13-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[] {1221#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:41:13,198 INFO L290 TraceCheckUtils]: 15: Hoare triple {1166#true} [86] __VERIFIER_assertENTRY-->L13: 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] {1299#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 20:41:13,198 INFO L272 TraceCheckUtils]: 14: Hoare triple {1166#true} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1166#true} is VALID [2022-04-07 20:41:13,198 INFO L290 TraceCheckUtils]: 13: Hoare triple {1166#true} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1166#true} is VALID [2022-04-07 20:41:13,198 INFO L290 TraceCheckUtils]: 12: Hoare triple {1166#true} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1166#true} is VALID [2022-04-07 20:41:13,198 INFO L290 TraceCheckUtils]: 11: Hoare triple {1166#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {1166#true} is VALID [2022-04-07 20:41:13,198 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1166#true} {1166#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1166#true} is VALID [2022-04-07 20:41:13,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {1166#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:41:13,198 INFO L290 TraceCheckUtils]: 8: Hoare triple {1166#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {1166#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {1166#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {1166#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {1166#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1166#true} {1166#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {1166#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {1166#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L272 TraceCheckUtils]: 0: Hoare triple {1166#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-07 20:41:13,199 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 20:41:13,200 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:41:13,200 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146622531] [2022-04-07 20:41:13,200 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:41:13,200 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1236764566] [2022-04-07 20:41:13,200 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1236764566] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 20:41:13,200 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 20:41:13,200 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-07 20:41:13,200 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [729548724] [2022-04-07 20:41:13,200 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 20:41:13,200 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-07 20:41:13,201 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:41:13,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 20:41:15,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:41:15,590 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 20:41:15,590 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:41:15,590 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 20:41:15,591 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=142, Unknown=1, NotChecked=0, Total=182 [2022-04-07 20:41:15,591 INFO L87 Difference]: Start difference. First operand 59 states and 69 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 20:41:26,977 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.29s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 20:41:31,130 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-07 20:41:40,211 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 20:41:43,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:41:43,106 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-04-07 20:41:43,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 20:41:43,106 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-07 20:41:43,106 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:41:43,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 20:41:43,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 59 transitions. [2022-04-07 20:41:43,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 20:41:43,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 59 transitions. [2022-04-07 20:41:43,109 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 59 transitions. [2022-04-07 20:41:46,009 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 58 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 20:41:46,011 INFO L225 Difference]: With dead ends: 92 [2022-04-07 20:41:46,011 INFO L226 Difference]: Without dead ends: 92 [2022-04-07 20:41:46,011 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 41 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 11.9s TimeCoverageRelationStatistics Valid=74, Invalid=266, Unknown=2, NotChecked=0, Total=342 [2022-04-07 20:41:46,012 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 45 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 22 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 152 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.9s IncrementalHoareTripleChecker+Time [2022-04-07 20:41:46,012 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 114 Invalid, 152 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 129 Invalid, 1 Unknown, 0 Unchecked, 9.9s Time] [2022-04-07 20:41:46,012 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-07 20:41:46,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 88. [2022-04-07 20:41:46,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:41:46,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 88 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 70 states have internal predecessors, (79), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:41:46,016 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 88 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 70 states have internal predecessors, (79), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:41:46,016 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 88 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 70 states have internal predecessors, (79), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:41:46,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:41:46,019 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-04-07 20:41:46,019 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 105 transitions. [2022-04-07 20:41:46,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:41:46,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:41:46,019 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 70 states have internal predecessors, (79), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 92 states. [2022-04-07 20:41:46,019 INFO L87 Difference]: Start difference. First operand has 88 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 70 states have internal predecessors, (79), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 92 states. [2022-04-07 20:41:46,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:41:46,021 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-04-07 20:41:46,021 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 105 transitions. [2022-04-07 20:41:46,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:41:46,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:41:46,022 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:41:46,022 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:41:46,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 70 states have internal predecessors, (79), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:41:46,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 101 transitions. [2022-04-07 20:41:46,024 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 101 transitions. Word has length 28 [2022-04-07 20:41:46,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:41:46,024 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 101 transitions. [2022-04-07 20:41:46,024 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 20:41:46,024 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 101 transitions. [2022-04-07 20:41:46,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 20:41:46,024 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:41:46,024 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:41:46,043 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-07 20:41:46,241 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:41:46,241 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:41:46,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:41:46,241 INFO L85 PathProgramCache]: Analyzing trace with hash -1631509547, now seen corresponding path program 1 times [2022-04-07 20:41:46,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:41:46,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2121120338] [2022-04-07 20:41:46,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:41:46,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:41:46,251 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:41:46,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [46055964] [2022-04-07 20:41:46,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:41:46,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:41:46,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:41:46,263 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-07 20:41:46,268 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-07 20:41:46,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:41:46,299 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-07 20:41:46,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:41:46,308 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:41:47,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {1722#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:41:47,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {1722#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {1722#true} is VALID [2022-04-07 20:41:47,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {1722#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:41:47,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1722#true} {1722#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:41:47,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {1722#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:41:47,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {1722#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1722#true} is VALID [2022-04-07 20:41:47,521 INFO L272 TraceCheckUtils]: 6: Hoare triple {1722#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1722#true} is VALID [2022-04-07 20:41:47,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {1722#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1748#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 20:41:47,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {1748#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:41:47,522 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:41:47,523 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1752#(not (= |assume_abort_if_not_#in~cond| 0))} {1722#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1759#(<= 1 main_~b~0)} is VALID [2022-04-07 20:41:47,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {1759#(<= 1 main_~b~0)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {1763#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:41:47,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {1763#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1763#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:41:47,524 INFO L290 TraceCheckUtils]: 13: Hoare triple {1763#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1763#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:41:47,524 INFO L272 TraceCheckUtils]: 14: Hoare triple {1763#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1722#true} is VALID [2022-04-07 20:41:47,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {1722#true} [86] __VERIFIER_assertENTRY-->L13: 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] {1776#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:41:47,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {1776#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [90] L13-->L13-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[] {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:41:47,525 INFO L290 TraceCheckUtils]: 17: Hoare triple {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:41:47,526 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} {1763#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1787#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:41:47,526 INFO L290 TraceCheckUtils]: 19: Hoare triple {1787#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {1787#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:41:47,527 INFO L290 TraceCheckUtils]: 20: Hoare triple {1787#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [97] L38-->L38-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~y~0_1 0)) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_1} OutVars{main_~y~0=v_main_~y~0_1} AuxVars[] AssignedVars[] {1794#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:41:47,528 INFO L290 TraceCheckUtils]: 21: Hoare triple {1794#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1798#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 20:41:47,528 INFO L290 TraceCheckUtils]: 22: Hoare triple {1798#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1798#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 20:41:47,528 INFO L290 TraceCheckUtils]: 23: Hoare triple {1798#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1798#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 20:41:47,530 INFO L272 TraceCheckUtils]: 24: Hoare triple {1798#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1808#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:41:47,531 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {1812#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:41:47,531 INFO L290 TraceCheckUtils]: 26: Hoare triple {1812#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {1723#false} is VALID [2022-04-07 20:41:47,531 INFO L290 TraceCheckUtils]: 27: Hoare triple {1723#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1723#false} is VALID [2022-04-07 20:41:47,531 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 20:41:47,531 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 20:42:15,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {1723#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1723#false} is VALID [2022-04-07 20:42:15,306 INFO L290 TraceCheckUtils]: 26: Hoare triple {1812#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {1723#false} is VALID [2022-04-07 20:42:15,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {1812#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:42:15,307 INFO L272 TraceCheckUtils]: 24: Hoare triple {1828#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1808#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:42:15,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {1828#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1828#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:42:15,308 INFO L290 TraceCheckUtils]: 22: Hoare triple {1828#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1828#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:42:15,313 INFO L290 TraceCheckUtils]: 21: Hoare triple {1838#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1828#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:42:15,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {1842#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} [97] L38-->L38-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~y~0_1 0)) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_1} OutVars{main_~y~0=v_main_~y~0_1} AuxVars[] AssignedVars[] {1838#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-07 20:42:15,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {1842#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {1842#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 20:42:15,318 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} {1849#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1842#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 20:42:15,319 INFO L290 TraceCheckUtils]: 17: Hoare triple {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:42:15,319 INFO L290 TraceCheckUtils]: 16: Hoare triple {1859#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [90] L13-->L13-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[] {1780#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:42:15,319 INFO L290 TraceCheckUtils]: 15: Hoare triple {1722#true} [86] __VERIFIER_assertENTRY-->L13: 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] {1859#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 20:42:15,319 INFO L272 TraceCheckUtils]: 14: Hoare triple {1849#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1722#true} is VALID [2022-04-07 20:42:15,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {1849#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1849#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 20:42:15,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {1849#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1849#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 20:42:15,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {1872#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {1849#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 20:42:15,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1752#(not (= |assume_abort_if_not_#in~cond| 0))} {1722#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1872#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-07 20:42:15,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:42:15,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {1885#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:42:15,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {1722#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1885#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 20:42:15,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {1722#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1722#true} is VALID [2022-04-07 20:42:15,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {1722#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1722#true} is VALID [2022-04-07 20:42:15,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {1722#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:42:15,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1722#true} {1722#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:42:15,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {1722#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:42:15,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {1722#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {1722#true} is VALID [2022-04-07 20:42:15,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {1722#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1722#true} is VALID [2022-04-07 20:42:15,323 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 20:42:15,323 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:42:15,323 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2121120338] [2022-04-07 20:42:15,324 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:42:15,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [46055964] [2022-04-07 20:42:15,324 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [46055964] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 20:42:15,324 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 20:42:15,324 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-07 20:42:15,324 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [539366309] [2022-04-07 20:42:15,324 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 20:42:15,324 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-07 20:42:15,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:42:15,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 20:42:15,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:42:15,359 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-07 20:42:15,359 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:42:15,359 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-07 20:42:15,360 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-07 20:42:15,360 INFO L87 Difference]: Start difference. First operand 88 states and 101 transitions. Second operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 20:42:17,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:42:17,264 INFO L93 Difference]: Finished difference Result 116 states and 128 transitions. [2022-04-07 20:42:17,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-07 20:42:17,264 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-07 20:42:17,264 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:42:17,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 20:42:17,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-07 20:42:17,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 20:42:17,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-07 20:42:17,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 65 transitions. [2022-04-07 20:42:17,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:42:17,335 INFO L225 Difference]: With dead ends: 116 [2022-04-07 20:42:17,335 INFO L226 Difference]: Without dead ends: 112 [2022-04-07 20:42:17,335 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=127, Invalid=575, Unknown=0, NotChecked=0, Total=702 [2022-04-07 20:42:17,335 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 47 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 302 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 270 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-07 20:42:17,336 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 176 Invalid, 302 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 270 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-07 20:42:17,336 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2022-04-07 20:42:17,339 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 91. [2022-04-07 20:42:17,339 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:42:17,339 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand has 91 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 71 states have internal predecessors, (82), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:17,340 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand has 91 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 71 states have internal predecessors, (82), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:17,340 INFO L87 Difference]: Start difference. First operand 112 states. Second operand has 91 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 71 states have internal predecessors, (82), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:17,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:42:17,342 INFO L93 Difference]: Finished difference Result 112 states and 124 transitions. [2022-04-07 20:42:17,342 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 124 transitions. [2022-04-07 20:42:17,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:42:17,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:42:17,343 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 71 states have internal predecessors, (82), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 112 states. [2022-04-07 20:42:17,343 INFO L87 Difference]: Start difference. First operand has 91 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 71 states have internal predecessors, (82), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 112 states. [2022-04-07 20:42:17,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:42:17,345 INFO L93 Difference]: Finished difference Result 112 states and 124 transitions. [2022-04-07 20:42:17,345 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 124 transitions. [2022-04-07 20:42:17,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:42:17,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:42:17,345 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:42:17,346 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:42:17,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 71 states have internal predecessors, (82), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:17,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 103 transitions. [2022-04-07 20:42:17,347 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 103 transitions. Word has length 28 [2022-04-07 20:42:17,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:42:17,348 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 103 transitions. [2022-04-07 20:42:17,348 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 20:42:17,348 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 103 transitions. [2022-04-07 20:42:17,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-07 20:42:17,348 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:42:17,348 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:42:17,364 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-07 20:42:17,564 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:42:17,564 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:42:17,565 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:42:17,565 INFO L85 PathProgramCache]: Analyzing trace with hash -357510123, now seen corresponding path program 1 times [2022-04-07 20:42:17,565 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:42:17,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1965023635] [2022-04-07 20:42:17,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:42:17,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:42:17,575 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:42:17,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1931323535] [2022-04-07 20:42:17,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:42:17,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:42:17,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:42:17,577 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-07 20:42:17,578 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-07 20:42:17,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:42:17,612 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 20:42:17,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:42:17,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:42:19,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {2354#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {2354#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {2354#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2354#true} {2354#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L272 TraceCheckUtils]: 4: Hoare triple {2354#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L290 TraceCheckUtils]: 5: Hoare triple {2354#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L272 TraceCheckUtils]: 6: Hoare triple {2354#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L290 TraceCheckUtils]: 7: Hoare triple {2354#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2354#true} is VALID [2022-04-07 20:42:19,769 INFO L290 TraceCheckUtils]: 8: Hoare triple {2354#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {2354#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2354#true} {2354#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {2354#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {2354#true} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {2354#true} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L272 TraceCheckUtils]: 14: Hoare triple {2354#true} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {2354#true} [86] __VERIFIER_assertENTRY-->L13: 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] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 16: Hoare triple {2354#true} [90] L13-->L13-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[] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 17: Hoare triple {2354#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2354#true} {2354#true} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {2354#true} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:19,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {2354#true} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {2354#true} is VALID [2022-04-07 20:42:19,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {2354#true} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2354#true} is VALID [2022-04-07 20:42:19,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {2354#true} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:19,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {2354#true} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:19,771 INFO L272 TraceCheckUtils]: 24: Hoare triple {2354#true} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:19,771 INFO L290 TraceCheckUtils]: 25: Hoare triple {2354#true} [86] __VERIFIER_assertENTRY-->L13: 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] {2434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:42:19,771 INFO L290 TraceCheckUtils]: 26: Hoare triple {2434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [90] L13-->L13-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[] {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:42:19,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:42:21,774 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} {2354#true} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2445#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-07 20:42:21,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {2445#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} [91] L34-1-->L33-4: Formula: (= v_main_~y~0_7 0) InVars {main_~y~0=v_main_~y~0_7} OutVars{main_~y~0=v_main_~y~0_7} AuxVars[] AssignedVars[] {2449#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:42:21,775 INFO L272 TraceCheckUtils]: 30: Hoare triple {2449#(= main_~z~0 (* main_~b~0 main_~a~0))} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {2453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:42:21,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {2453#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {2457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:42:21,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {2457#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {2355#false} is VALID [2022-04-07 20:42:21,776 INFO L290 TraceCheckUtils]: 33: Hoare triple {2355#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2355#false} is VALID [2022-04-07 20:42:21,776 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 20:42:21,776 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 20:42:24,898 INFO L290 TraceCheckUtils]: 33: Hoare triple {2355#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2355#false} is VALID [2022-04-07 20:42:24,898 INFO L290 TraceCheckUtils]: 32: Hoare triple {2457#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {2355#false} is VALID [2022-04-07 20:42:24,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {2453#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {2457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:42:24,899 INFO L272 TraceCheckUtils]: 30: Hoare triple {2449#(= main_~z~0 (* main_~b~0 main_~a~0))} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {2453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:42:24,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {2476#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} [91] L34-1-->L33-4: Formula: (= v_main_~y~0_7 0) InVars {main_~y~0=v_main_~y~0_7} OutVars{main_~y~0=v_main_~y~0_7} AuxVars[] AssignedVars[] {2449#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:42:24,901 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} {2354#true} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2476#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 20:42:24,901 INFO L290 TraceCheckUtils]: 27: Hoare triple {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:42:24,901 INFO L290 TraceCheckUtils]: 26: Hoare triple {2489#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [90] L13-->L13-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[] {2438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:42:24,902 INFO L290 TraceCheckUtils]: 25: Hoare triple {2354#true} [86] __VERIFIER_assertENTRY-->L13: 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] {2489#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 20:42:24,902 INFO L272 TraceCheckUtils]: 24: Hoare triple {2354#true} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:24,902 INFO L290 TraceCheckUtils]: 23: Hoare triple {2354#true} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:24,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {2354#true} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:24,903 INFO L290 TraceCheckUtils]: 21: Hoare triple {2354#true} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2354#true} is VALID [2022-04-07 20:42:24,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {2354#true} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {2354#true} is VALID [2022-04-07 20:42:24,903 INFO L290 TraceCheckUtils]: 19: Hoare triple {2354#true} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,903 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2354#true} {2354#true} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:24,903 INFO L290 TraceCheckUtils]: 17: Hoare triple {2354#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {2354#true} [90] L13-->L13-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[] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L290 TraceCheckUtils]: 15: Hoare triple {2354#true} [86] __VERIFIER_assertENTRY-->L13: 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] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L272 TraceCheckUtils]: 14: Hoare triple {2354#true} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {2354#true} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {2354#true} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {2354#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2354#true} {2354#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {2354#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {2354#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {2354#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L272 TraceCheckUtils]: 6: Hoare triple {2354#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {2354#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {2354#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2354#true} {2354#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {2354#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {2354#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {2354#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2354#true} is VALID [2022-04-07 20:42:24,905 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 20:42:24,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:42:24,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1965023635] [2022-04-07 20:42:24,905 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:42:24,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1931323535] [2022-04-07 20:42:24,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1931323535] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 20:42:24,906 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 20:42:24,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-07 20:42:24,906 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [174287788] [2022-04-07 20:42:24,906 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 20:42:24,907 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-07 20:42:24,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:42:24,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 20:42:26,931 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-07 20:42:26,932 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 20:42:26,932 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:42:26,932 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 20:42:26,932 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-07 20:42:26,932 INFO L87 Difference]: Start difference. First operand 91 states and 103 transitions. Second operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 20:42:28,972 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-07 20:42:29,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:42:29,608 INFO L93 Difference]: Finished difference Result 98 states and 108 transitions. [2022-04-07 20:42:29,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 20:42:29,608 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-07 20:42:29,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:42:29,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 20:42:29,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 34 transitions. [2022-04-07 20:42:29,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 20:42:29,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 34 transitions. [2022-04-07 20:42:29,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 34 transitions. [2022-04-07 20:42:31,635 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 33 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 20:42:31,636 INFO L225 Difference]: With dead ends: 98 [2022-04-07 20:42:31,636 INFO L226 Difference]: Without dead ends: 90 [2022-04-07 20:42:31,636 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-07 20:42:31,636 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 13 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 83 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-07 20:42:31,637 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 83 Invalid, 1 Unknown, 0 Unchecked, 2.4s Time] [2022-04-07 20:42:31,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-07 20:42:31,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-07 20:42:31,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:42:31,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 88 states, 67 states have (on average 1.1343283582089552) internal successors, (76), 69 states have internal predecessors, (76), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:31,640 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 88 states, 67 states have (on average 1.1343283582089552) internal successors, (76), 69 states have internal predecessors, (76), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:31,640 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 88 states, 67 states have (on average 1.1343283582089552) internal successors, (76), 69 states have internal predecessors, (76), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:31,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:42:31,642 INFO L93 Difference]: Finished difference Result 90 states and 98 transitions. [2022-04-07 20:42:31,642 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 98 transitions. [2022-04-07 20:42:31,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:42:31,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:42:31,642 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 67 states have (on average 1.1343283582089552) internal successors, (76), 69 states have internal predecessors, (76), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 90 states. [2022-04-07 20:42:31,643 INFO L87 Difference]: Start difference. First operand has 88 states, 67 states have (on average 1.1343283582089552) internal successors, (76), 69 states have internal predecessors, (76), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 90 states. [2022-04-07 20:42:31,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:42:31,644 INFO L93 Difference]: Finished difference Result 90 states and 98 transitions. [2022-04-07 20:42:31,644 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 98 transitions. [2022-04-07 20:42:31,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:42:31,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:42:31,644 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:42:31,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:42:31,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 67 states have (on average 1.1343283582089552) internal successors, (76), 69 states have internal predecessors, (76), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 20:42:31,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 96 transitions. [2022-04-07 20:42:31,646 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 96 transitions. Word has length 34 [2022-04-07 20:42:31,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:42:31,646 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 96 transitions. [2022-04-07 20:42:31,646 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 20:42:31,646 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-07 20:42:31,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-07 20:42:31,647 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:42:31,647 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:42:31,671 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-07 20:42:31,863 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:42:31,864 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:42:31,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:42:31,864 INFO L85 PathProgramCache]: Analyzing trace with hash 199111383, now seen corresponding path program 1 times [2022-04-07 20:42:31,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:42:31,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [421587232] [2022-04-07 20:42:31,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:42:31,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:42:31,879 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:42:31,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [64071935] [2022-04-07 20:42:31,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:42:31,879 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:42:31,879 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:42:31,880 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 20:42:31,881 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-07 20:42:31,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:42:31,929 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-07 20:42:31,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:42:31,956 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:42:54,110 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 20:43:19,471 WARN L232 SmtUtils]: Spent 13.94s on a formula simplification. DAG size of input: 64 DAG size of output: 50 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 20:49:35,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {2937#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {2937#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {2937#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2937#true} {2937#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {2937#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {2937#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L272 TraceCheckUtils]: 6: Hoare triple {2937#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {2937#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2937#true} is VALID [2022-04-07 20:49:35,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {2937#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:49:35,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {2937#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:49:35,151 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2937#true} {2937#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2937#true} is VALID [2022-04-07 20:49:35,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {2937#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:49:35,161 INFO L290 TraceCheckUtils]: 12: Hoare triple {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:49:35,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:49:35,161 INFO L272 TraceCheckUtils]: 14: Hoare triple {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:49:35,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {2937#true} [86] __VERIFIER_assertENTRY-->L13: 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] {2937#true} is VALID [2022-04-07 20:49:35,162 INFO L290 TraceCheckUtils]: 16: Hoare triple {2937#true} [90] L13-->L13-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[] {2937#true} is VALID [2022-04-07 20:49:35,162 INFO L290 TraceCheckUtils]: 17: Hoare triple {2937#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:49:35,162 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2937#true} {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:49:35,181 INFO L290 TraceCheckUtils]: 19: Hoare triple {2975#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3000#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:49:35,184 INFO L290 TraceCheckUtils]: 20: Hoare triple {3000#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3004#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:49:35,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {3004#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3008#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:49:35,186 INFO L290 TraceCheckUtils]: 22: Hoare triple {3008#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3008#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:49:35,187 INFO L290 TraceCheckUtils]: 23: Hoare triple {3008#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3008#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:49:35,187 INFO L272 TraceCheckUtils]: 24: Hoare triple {3008#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:49:35,187 INFO L290 TraceCheckUtils]: 25: Hoare triple {2937#true} [86] __VERIFIER_assertENTRY-->L13: 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] {3021#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:49:35,187 INFO L290 TraceCheckUtils]: 26: Hoare triple {3021#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [90] L13-->L13-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[] {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:49:35,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:49:35,188 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} {3008#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3032#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:49:35,189 INFO L290 TraceCheckUtils]: 29: Hoare triple {3032#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3036#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 20:49:35,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {3036#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3040#(and (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-07 20:49:35,194 INFO L290 TraceCheckUtils]: 31: Hoare triple {3040#(and (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3044#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-07 20:49:35,194 INFO L290 TraceCheckUtils]: 32: Hoare triple {3044#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3044#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-07 20:49:35,195 INFO L290 TraceCheckUtils]: 33: Hoare triple {3044#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3044#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-07 20:49:35,195 INFO L272 TraceCheckUtils]: 34: Hoare triple {3044#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:49:35,195 INFO L290 TraceCheckUtils]: 35: Hoare triple {2937#true} [86] __VERIFIER_assertENTRY-->L13: 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] {3021#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:49:35,195 INFO L290 TraceCheckUtils]: 36: Hoare triple {3021#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [90] L13-->L13-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[] {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:49:35,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:49:35,196 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} {3044#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3066#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-07 20:49:35,197 INFO L290 TraceCheckUtils]: 39: Hoare triple {3066#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3066#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-07 20:49:35,198 INFO L290 TraceCheckUtils]: 40: Hoare triple {3066#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} [97] L38-->L38-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~y~0_1 0)) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_1} OutVars{main_~y~0=v_main_~y~0_1} AuxVars[] AssignedVars[] {3073#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} is VALID [2022-04-07 20:49:35,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {3073#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3077#(and (<= 1 (mod main_~b~0 2)) (exists ((aux_mod_v_main_~y~0_33_22 Int) (aux_div_v_main_~y~0_33_22 Int)) (and (= (* main_~b~0 main_~a~0) (+ (* (* main_~a~0 4) (+ aux_mod_v_main_~y~0_33_22 (* aux_div_v_main_~y~0_33_22 2))) main_~z~0)) (<= 0 aux_mod_v_main_~y~0_33_22) (= (div (+ aux_mod_v_main_~y~0_33_22 (* aux_div_v_main_~y~0_33_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_33_22 2) (not (= aux_mod_v_main_~y~0_33_22 1)) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ aux_mod_v_main_~y~0_33_22 (* aux_div_v_main_~y~0_33_22 2) 1)))) (= main_~x~0 (* main_~a~0 8)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} is VALID [2022-04-07 20:49:35,359 INFO L290 TraceCheckUtils]: 42: Hoare triple {3077#(and (<= 1 (mod main_~b~0 2)) (exists ((aux_mod_v_main_~y~0_33_22 Int) (aux_div_v_main_~y~0_33_22 Int)) (and (= (* main_~b~0 main_~a~0) (+ (* (* main_~a~0 4) (+ aux_mod_v_main_~y~0_33_22 (* aux_div_v_main_~y~0_33_22 2))) main_~z~0)) (<= 0 aux_mod_v_main_~y~0_33_22) (= (div (+ aux_mod_v_main_~y~0_33_22 (* aux_div_v_main_~y~0_33_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_33_22 2) (not (= aux_mod_v_main_~y~0_33_22 1)) (< (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2)) (+ aux_mod_v_main_~y~0_33_22 (* aux_div_v_main_~y~0_33_22 2) 1)))) (= main_~x~0 (* main_~a~0 8)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3081#(and (<= 1 (mod main_~b~0 2)) (= (mod (+ (* main_~z~0 3) (* main_~a~0 main_~y~0 (- 8)) (* main_~b~0 main_~a~0)) 4) 0) (= main_~x~0 (* main_~a~0 8)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 4) (* 2 (* main_~a~0 main_~y~0))) (< (div (* (- 1) (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} is VALID [2022-04-07 20:49:35,360 INFO L290 TraceCheckUtils]: 43: Hoare triple {3081#(and (<= 1 (mod main_~b~0 2)) (= (mod (+ (* main_~z~0 3) (* main_~a~0 main_~y~0 (- 8)) (* main_~b~0 main_~a~0)) 4) 0) (= main_~x~0 (* main_~a~0 8)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 4) (* 2 (* main_~a~0 main_~y~0))) (< (div (* (- 1) (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3081#(and (<= 1 (mod main_~b~0 2)) (= (mod (+ (* main_~z~0 3) (* main_~a~0 main_~y~0 (- 8)) (* main_~b~0 main_~a~0)) 4) 0) (= main_~x~0 (* main_~a~0 8)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 4) (* 2 (* main_~a~0 main_~y~0))) (< (div (* (- 1) (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} is VALID [2022-04-07 20:49:35,366 INFO L272 TraceCheckUtils]: 44: Hoare triple {3081#(and (<= 1 (mod main_~b~0 2)) (= (mod (+ (* main_~z~0 3) (* main_~a~0 main_~y~0 (- 8)) (* main_~b~0 main_~a~0)) 4) 0) (= main_~x~0 (* main_~a~0 8)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 4) (* 2 (* main_~a~0 main_~y~0))) (< (div (* (- 1) (div (+ (* (- 1) (div (+ (- 1) main_~b~0) 2)) 2) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3088#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:49:35,366 INFO L290 TraceCheckUtils]: 45: Hoare triple {3088#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {3092#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:49:35,366 INFO L290 TraceCheckUtils]: 46: Hoare triple {3092#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {2938#false} is VALID [2022-04-07 20:49:35,366 INFO L290 TraceCheckUtils]: 47: Hoare triple {2938#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2938#false} is VALID [2022-04-07 20:49:35,367 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-07 20:49:35,367 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 20:51:02,611 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 20:51:19,959 INFO L290 TraceCheckUtils]: 47: Hoare triple {2938#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2938#false} is VALID [2022-04-07 20:51:19,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {3092#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {2938#false} is VALID [2022-04-07 20:51:19,959 INFO L290 TraceCheckUtils]: 45: Hoare triple {3088#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {3092#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:51:19,960 INFO L272 TraceCheckUtils]: 44: Hoare triple {3108#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3088#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:51:19,960 INFO L290 TraceCheckUtils]: 43: Hoare triple {3108#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3108#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:51:19,961 INFO L290 TraceCheckUtils]: 42: Hoare triple {3108#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3108#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:51:19,965 INFO L290 TraceCheckUtils]: 41: Hoare triple {3118#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3108#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 20:51:19,968 INFO L290 TraceCheckUtils]: 40: Hoare triple {3122#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} [97] L38-->L38-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~y~0_1 0)) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_1} OutVars{main_~y~0=v_main_~y~0_1} AuxVars[] AssignedVars[] {3118#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-07 20:51:19,969 INFO L290 TraceCheckUtils]: 39: Hoare triple {3122#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3122#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 20:51:19,977 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} {3129#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3122#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 20:51:19,978 INFO L290 TraceCheckUtils]: 37: Hoare triple {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:51:19,978 INFO L290 TraceCheckUtils]: 36: Hoare triple {3139#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [90] L13-->L13-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[] {3025#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:51:19,978 INFO L290 TraceCheckUtils]: 35: Hoare triple {2937#true} [86] __VERIFIER_assertENTRY-->L13: 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] {3139#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 20:51:19,979 INFO L272 TraceCheckUtils]: 34: Hoare triple {3129#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:51:19,979 INFO L290 TraceCheckUtils]: 33: Hoare triple {3129#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3129#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 20:51:19,979 INFO L290 TraceCheckUtils]: 32: Hoare triple {3129#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3129#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 20:51:22,173 WARN L290 TraceCheckUtils]: 31: Hoare triple {3152#(or (= main_~x~0 0) (forall ((aux_div_aux_mod_v_main_~y~0_37_22_69 Int)) (or (and (< (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) (* 2 aux_div_aux_mod_v_main_~y~0_37_22_69)) (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (not (<= (div main_~y~0 2) (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) (* 2 aux_div_aux_mod_v_main_~y~0_37_22_69)))))) (< (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) 0) (not (= (mod (+ main_~z~0 (* main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69 (- 4)) (* main_~b~0 main_~a~0)) 2) 0)) (<= 2 (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0)) (<= 0 (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) (* 2 aux_div_aux_mod_v_main_~y~0_37_22_69))) (<= (div (- (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0)) (- 2)) (+ (div (+ (- 2) (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0)) 2) 1)) (not (= (mod (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) 0)))))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3129#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is UNKNOWN [2022-04-07 20:51:22,179 INFO L290 TraceCheckUtils]: 30: Hoare triple {2937#true} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3152#(or (= main_~x~0 0) (forall ((aux_div_aux_mod_v_main_~y~0_37_22_69 Int)) (or (and (< (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) (* 2 aux_div_aux_mod_v_main_~y~0_37_22_69)) (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (not (<= (div main_~y~0 2) (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) (* 2 aux_div_aux_mod_v_main_~y~0_37_22_69)))))) (< (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) 0) (not (= (mod (+ main_~z~0 (* main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69 (- 4)) (* main_~b~0 main_~a~0)) 2) 0)) (<= 2 (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0)) (<= 0 (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) (* 2 aux_div_aux_mod_v_main_~y~0_37_22_69))) (<= (div (- (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0)) (- 2)) (+ (div (+ (- 2) (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0)) 2) 1)) (not (= (mod (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~x~0 aux_div_aux_mod_v_main_~y~0_37_22_69)) main_~x~0) 0)))))} is VALID [2022-04-07 20:51:22,179 INFO L290 TraceCheckUtils]: 29: Hoare triple {2937#true} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,179 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2937#true} {2937#true} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:51:22,179 INFO L290 TraceCheckUtils]: 27: Hoare triple {2937#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,179 INFO L290 TraceCheckUtils]: 26: Hoare triple {2937#true} [90] L13-->L13-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[] {2937#true} is VALID [2022-04-07 20:51:22,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {2937#true} [86] __VERIFIER_assertENTRY-->L13: 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] {2937#true} is VALID [2022-04-07 20:51:22,179 INFO L272 TraceCheckUtils]: 24: Hoare triple {2937#true} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:51:22,179 INFO L290 TraceCheckUtils]: 23: Hoare triple {2937#true} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2937#true} is VALID [2022-04-07 20:51:22,179 INFO L290 TraceCheckUtils]: 22: Hoare triple {2937#true} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 21: Hoare triple {2937#true} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 20: Hoare triple {2937#true} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 19: Hoare triple {2937#true} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2937#true} {2937#true} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 17: Hoare triple {2937#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 16: Hoare triple {2937#true} [90] L13-->L13-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[] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 15: Hoare triple {2937#true} [86] __VERIFIER_assertENTRY-->L13: 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] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L272 TraceCheckUtils]: 14: Hoare triple {2937#true} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {2937#true} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 12: Hoare triple {2937#true} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 11: Hoare triple {2937#true} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2937#true} {2937#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {2937#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {2937#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {2937#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2937#true} is VALID [2022-04-07 20:51:22,180 INFO L272 TraceCheckUtils]: 6: Hoare triple {2937#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2937#true} is VALID [2022-04-07 20:51:22,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {2937#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2937#true} is VALID [2022-04-07 20:51:22,181 INFO L272 TraceCheckUtils]: 4: Hoare triple {2937#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2937#true} {2937#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {2937#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {2937#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {2937#true} is VALID [2022-04-07 20:51:22,181 INFO L272 TraceCheckUtils]: 0: Hoare triple {2937#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2937#true} is VALID [2022-04-07 20:51:22,181 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 29 proven. 5 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-07 20:51:22,181 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:51:22,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [421587232] [2022-04-07 20:51:22,181 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:51:22,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [64071935] [2022-04-07 20:51:22,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [64071935] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 20:51:22,181 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 20:51:22,182 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-07 20:51:22,182 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [965379510] [2022-04-07 20:51:22,182 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 20:51:22,183 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 22 states have internal predecessors, (50), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 48 [2022-04-07 20:51:22,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:51:22,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 22 states have internal predecessors, (50), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-07 20:51:24,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 66 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 20:51:24,432 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-07 20:51:24,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:51:24,432 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-07 20:51:24,432 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=456, Unknown=2, NotChecked=0, Total=552 [2022-04-07 20:51:24,432 INFO L87 Difference]: Start difference. First operand 88 states and 96 transitions. Second operand has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 22 states have internal predecessors, (50), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-07 20:51:31,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:51:31,158 INFO L93 Difference]: Finished difference Result 122 states and 136 transitions. [2022-04-07 20:51:31,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-07 20:51:31,158 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 22 states have internal predecessors, (50), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 48 [2022-04-07 20:51:31,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:51:31,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 22 states have internal predecessors, (50), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-07 20:51:31,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 82 transitions. [2022-04-07 20:51:31,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 22 states have internal predecessors, (50), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-07 20:51:31,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 82 transitions. [2022-04-07 20:51:31,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 82 transitions. [2022-04-07 20:51:34,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 81 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 20:51:34,694 INFO L225 Difference]: With dead ends: 122 [2022-04-07 20:51:34,694 INFO L226 Difference]: Without dead ends: 122 [2022-04-07 20:51:34,694 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 72 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 176 ImplicationChecksByTransitivity, 29.3s TimeCoverageRelationStatistics Valid=129, Invalid=625, Unknown=2, NotChecked=0, Total=756 [2022-04-07 20:51:34,694 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 28 mSDsluCounter, 360 mSDsCounter, 0 mSdLazyCounter, 361 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 395 SdHoareTripleChecker+Invalid, 412 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 361 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 49 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-07 20:51:34,695 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 395 Invalid, 412 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 361 Invalid, 0 Unknown, 49 Unchecked, 1.5s Time] [2022-04-07 20:51:34,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-07 20:51:34,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 98. [2022-04-07 20:51:34,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:51:34,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 78 states have internal predecessors, (86), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 20:51:34,698 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 78 states have internal predecessors, (86), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 20:51:34,699 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 78 states have internal predecessors, (86), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 20:51:34,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:51:34,701 INFO L93 Difference]: Finished difference Result 122 states and 136 transitions. [2022-04-07 20:51:34,701 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 136 transitions. [2022-04-07 20:51:34,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:51:34,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:51:34,701 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 78 states have internal predecessors, (86), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 122 states. [2022-04-07 20:51:34,701 INFO L87 Difference]: Start difference. First operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 78 states have internal predecessors, (86), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 122 states. [2022-04-07 20:51:34,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:51:34,704 INFO L93 Difference]: Finished difference Result 122 states and 136 transitions. [2022-04-07 20:51:34,704 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 136 transitions. [2022-04-07 20:51:34,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:51:34,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:51:34,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:51:34,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:51:34,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 75 states have (on average 1.1466666666666667) internal successors, (86), 78 states have internal predecessors, (86), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 20:51:34,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 110 transitions. [2022-04-07 20:51:34,706 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 110 transitions. Word has length 48 [2022-04-07 20:51:34,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:51:34,706 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 110 transitions. [2022-04-07 20:51:34,706 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 22 states have internal predecessors, (50), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-07 20:51:34,706 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 110 transitions. [2022-04-07 20:51:34,707 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 20:51:34,707 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:51:34,707 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:51:34,725 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-07 20:51:34,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-07 20:51:34,924 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:51:34,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:51:34,924 INFO L85 PathProgramCache]: Analyzing trace with hash -831185954, now seen corresponding path program 2 times [2022-04-07 20:51:34,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:51:34,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576951174] [2022-04-07 20:51:34,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:51:34,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:51:34,935 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:51:34,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [669848972] [2022-04-07 20:51:34,935 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 20:51:34,935 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:51:34,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:51:34,936 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 20:51:34,936 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 20:51:34,978 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 20:51:34,978 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 20:51:34,979 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 20:51:34,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:51:34,991 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:51:35,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {3722#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {3730#(<= ~counter~0 0)} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3730#(<= ~counter~0 0)} {3722#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,325 INFO L272 TraceCheckUtils]: 4: Hoare triple {3730#(<= ~counter~0 0)} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,325 INFO L290 TraceCheckUtils]: 5: Hoare triple {3730#(<= ~counter~0 0)} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,325 INFO L272 TraceCheckUtils]: 6: Hoare triple {3730#(<= ~counter~0 0)} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {3730#(<= ~counter~0 0)} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {3730#(<= ~counter~0 0)} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {3730#(<= ~counter~0 0)} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,327 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3730#(<= ~counter~0 0)} {3730#(<= ~counter~0 0)} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {3730#(<= ~counter~0 0)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {3730#(<= ~counter~0 0)} is VALID [2022-04-07 20:51:35,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {3730#(<= ~counter~0 0)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {3764#(<= ~counter~0 1)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,328 INFO L272 TraceCheckUtils]: 14: Hoare triple {3764#(<= ~counter~0 1)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,329 INFO L290 TraceCheckUtils]: 15: Hoare triple {3764#(<= ~counter~0 1)} [86] __VERIFIER_assertENTRY-->L13: 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] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,329 INFO L290 TraceCheckUtils]: 16: Hoare triple {3764#(<= ~counter~0 1)} [90] L13-->L13-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[] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,329 INFO L290 TraceCheckUtils]: 17: Hoare triple {3764#(<= ~counter~0 1)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,330 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3764#(<= ~counter~0 1)} {3764#(<= ~counter~0 1)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {3764#(<= ~counter~0 1)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {3764#(<= ~counter~0 1)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,330 INFO L290 TraceCheckUtils]: 21: Hoare triple {3764#(<= ~counter~0 1)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3764#(<= ~counter~0 1)} is VALID [2022-04-07 20:51:35,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {3764#(<= ~counter~0 1)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,331 INFO L290 TraceCheckUtils]: 23: Hoare triple {3795#(<= ~counter~0 2)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,332 INFO L272 TraceCheckUtils]: 24: Hoare triple {3795#(<= ~counter~0 2)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {3795#(<= ~counter~0 2)} [86] __VERIFIER_assertENTRY-->L13: 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] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {3795#(<= ~counter~0 2)} [90] L13-->L13-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[] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {3795#(<= ~counter~0 2)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,333 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3795#(<= ~counter~0 2)} {3795#(<= ~counter~0 2)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,333 INFO L290 TraceCheckUtils]: 29: Hoare triple {3795#(<= ~counter~0 2)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,333 INFO L290 TraceCheckUtils]: 30: Hoare triple {3795#(<= ~counter~0 2)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,334 INFO L290 TraceCheckUtils]: 31: Hoare triple {3795#(<= ~counter~0 2)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3795#(<= ~counter~0 2)} is VALID [2022-04-07 20:51:35,334 INFO L290 TraceCheckUtils]: 32: Hoare triple {3795#(<= ~counter~0 2)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,334 INFO L290 TraceCheckUtils]: 33: Hoare triple {3826#(<= ~counter~0 3)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,335 INFO L272 TraceCheckUtils]: 34: Hoare triple {3826#(<= ~counter~0 3)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,335 INFO L290 TraceCheckUtils]: 35: Hoare triple {3826#(<= ~counter~0 3)} [86] __VERIFIER_assertENTRY-->L13: 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] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,335 INFO L290 TraceCheckUtils]: 36: Hoare triple {3826#(<= ~counter~0 3)} [90] L13-->L13-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[] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,335 INFO L290 TraceCheckUtils]: 37: Hoare triple {3826#(<= ~counter~0 3)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,336 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3826#(<= ~counter~0 3)} {3826#(<= ~counter~0 3)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,336 INFO L290 TraceCheckUtils]: 39: Hoare triple {3826#(<= ~counter~0 3)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,337 INFO L290 TraceCheckUtils]: 40: Hoare triple {3826#(<= ~counter~0 3)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,337 INFO L290 TraceCheckUtils]: 41: Hoare triple {3826#(<= ~counter~0 3)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3826#(<= ~counter~0 3)} is VALID [2022-04-07 20:51:35,337 INFO L290 TraceCheckUtils]: 42: Hoare triple {3826#(<= ~counter~0 3)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,337 INFO L290 TraceCheckUtils]: 43: Hoare triple {3857#(<= ~counter~0 4)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,338 INFO L272 TraceCheckUtils]: 44: Hoare triple {3857#(<= ~counter~0 4)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,338 INFO L290 TraceCheckUtils]: 45: Hoare triple {3857#(<= ~counter~0 4)} [86] __VERIFIER_assertENTRY-->L13: 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] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,338 INFO L290 TraceCheckUtils]: 46: Hoare triple {3857#(<= ~counter~0 4)} [90] L13-->L13-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[] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {3857#(<= ~counter~0 4)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,339 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3857#(<= ~counter~0 4)} {3857#(<= ~counter~0 4)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,339 INFO L290 TraceCheckUtils]: 49: Hoare triple {3857#(<= ~counter~0 4)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,340 INFO L290 TraceCheckUtils]: 50: Hoare triple {3857#(<= ~counter~0 4)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,340 INFO L290 TraceCheckUtils]: 51: Hoare triple {3857#(<= ~counter~0 4)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3857#(<= ~counter~0 4)} is VALID [2022-04-07 20:51:35,340 INFO L290 TraceCheckUtils]: 52: Hoare triple {3857#(<= ~counter~0 4)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3888#(<= |main_#t~post6| 4)} is VALID [2022-04-07 20:51:35,341 INFO L290 TraceCheckUtils]: 53: Hoare triple {3888#(<= |main_#t~post6| 4)} [82] L33-1-->L33-4: Formula: (not (< |v_main_#t~post6_3| 50)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3723#false} is VALID [2022-04-07 20:51:35,341 INFO L272 TraceCheckUtils]: 54: Hoare triple {3723#false} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {3723#false} is VALID [2022-04-07 20:51:35,341 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} [86] __VERIFIER_assertENTRY-->L13: 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] {3723#false} is VALID [2022-04-07 20:51:35,341 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} [89] L13-->L14: 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[] {3723#false} is VALID [2022-04-07 20:51:35,341 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3723#false} is VALID [2022-04-07 20:51:35,341 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 68 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 20:51:35,341 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 20:51:35,704 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3723#false} is VALID [2022-04-07 20:51:35,705 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} [89] L13-->L14: 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[] {3723#false} is VALID [2022-04-07 20:51:35,705 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} [86] __VERIFIER_assertENTRY-->L13: 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] {3723#false} is VALID [2022-04-07 20:51:35,705 INFO L272 TraceCheckUtils]: 54: Hoare triple {3723#false} [81] L33-4-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_8 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {3723#false} is VALID [2022-04-07 20:51:35,705 INFO L290 TraceCheckUtils]: 53: Hoare triple {3916#(< |main_#t~post6| 50)} [82] L33-1-->L33-4: Formula: (not (< |v_main_#t~post6_3| 50)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3723#false} is VALID [2022-04-07 20:51:35,705 INFO L290 TraceCheckUtils]: 52: Hoare triple {3920#(< ~counter~0 50)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3916#(< |main_#t~post6| 50)} is VALID [2022-04-07 20:51:35,706 INFO L290 TraceCheckUtils]: 51: Hoare triple {3920#(< ~counter~0 50)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3920#(< ~counter~0 50)} is VALID [2022-04-07 20:51:35,706 INFO L290 TraceCheckUtils]: 50: Hoare triple {3920#(< ~counter~0 50)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3920#(< ~counter~0 50)} is VALID [2022-04-07 20:51:35,706 INFO L290 TraceCheckUtils]: 49: Hoare triple {3920#(< ~counter~0 50)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3920#(< ~counter~0 50)} is VALID [2022-04-07 20:51:35,707 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3722#true} {3920#(< ~counter~0 50)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3920#(< ~counter~0 50)} is VALID [2022-04-07 20:51:35,707 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,707 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} [90] L13-->L13-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[] {3722#true} is VALID [2022-04-07 20:51:35,707 INFO L290 TraceCheckUtils]: 45: Hoare triple {3722#true} [86] __VERIFIER_assertENTRY-->L13: 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] {3722#true} is VALID [2022-04-07 20:51:35,707 INFO L272 TraceCheckUtils]: 44: Hoare triple {3920#(< ~counter~0 50)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3722#true} is VALID [2022-04-07 20:51:35,708 INFO L290 TraceCheckUtils]: 43: Hoare triple {3920#(< ~counter~0 50)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3920#(< ~counter~0 50)} is VALID [2022-04-07 20:51:35,708 INFO L290 TraceCheckUtils]: 42: Hoare triple {3951#(< ~counter~0 49)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3920#(< ~counter~0 50)} is VALID [2022-04-07 20:51:35,709 INFO L290 TraceCheckUtils]: 41: Hoare triple {3951#(< ~counter~0 49)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3951#(< ~counter~0 49)} is VALID [2022-04-07 20:51:35,709 INFO L290 TraceCheckUtils]: 40: Hoare triple {3951#(< ~counter~0 49)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3951#(< ~counter~0 49)} is VALID [2022-04-07 20:51:35,709 INFO L290 TraceCheckUtils]: 39: Hoare triple {3951#(< ~counter~0 49)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3951#(< ~counter~0 49)} is VALID [2022-04-07 20:51:35,710 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3722#true} {3951#(< ~counter~0 49)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3951#(< ~counter~0 49)} is VALID [2022-04-07 20:51:35,710 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,710 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} [90] L13-->L13-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[] {3722#true} is VALID [2022-04-07 20:51:35,710 INFO L290 TraceCheckUtils]: 35: Hoare triple {3722#true} [86] __VERIFIER_assertENTRY-->L13: 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] {3722#true} is VALID [2022-04-07 20:51:35,710 INFO L272 TraceCheckUtils]: 34: Hoare triple {3951#(< ~counter~0 49)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3722#true} is VALID [2022-04-07 20:51:35,711 INFO L290 TraceCheckUtils]: 33: Hoare triple {3951#(< ~counter~0 49)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3951#(< ~counter~0 49)} is VALID [2022-04-07 20:51:35,711 INFO L290 TraceCheckUtils]: 32: Hoare triple {3982#(< ~counter~0 48)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3951#(< ~counter~0 49)} is VALID [2022-04-07 20:51:35,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {3982#(< ~counter~0 48)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3982#(< ~counter~0 48)} is VALID [2022-04-07 20:51:35,712 INFO L290 TraceCheckUtils]: 30: Hoare triple {3982#(< ~counter~0 48)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3982#(< ~counter~0 48)} is VALID [2022-04-07 20:51:35,712 INFO L290 TraceCheckUtils]: 29: Hoare triple {3982#(< ~counter~0 48)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {3982#(< ~counter~0 48)} is VALID [2022-04-07 20:51:35,713 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3722#true} {3982#(< ~counter~0 48)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3982#(< ~counter~0 48)} is VALID [2022-04-07 20:51:35,713 INFO L290 TraceCheckUtils]: 27: Hoare triple {3722#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,713 INFO L290 TraceCheckUtils]: 26: Hoare triple {3722#true} [90] L13-->L13-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[] {3722#true} is VALID [2022-04-07 20:51:35,713 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} [86] __VERIFIER_assertENTRY-->L13: 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] {3722#true} is VALID [2022-04-07 20:51:35,713 INFO L272 TraceCheckUtils]: 24: Hoare triple {3982#(< ~counter~0 48)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3722#true} is VALID [2022-04-07 20:51:35,713 INFO L290 TraceCheckUtils]: 23: Hoare triple {3982#(< ~counter~0 48)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3982#(< ~counter~0 48)} is VALID [2022-04-07 20:51:35,714 INFO L290 TraceCheckUtils]: 22: Hoare triple {4013#(< ~counter~0 47)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3982#(< ~counter~0 48)} is VALID [2022-04-07 20:51:35,714 INFO L290 TraceCheckUtils]: 21: Hoare triple {4013#(< ~counter~0 47)} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {4013#(< ~counter~0 47)} is VALID [2022-04-07 20:51:35,714 INFO L290 TraceCheckUtils]: 20: Hoare triple {4013#(< ~counter~0 47)} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {4013#(< ~counter~0 47)} is VALID [2022-04-07 20:51:35,715 INFO L290 TraceCheckUtils]: 19: Hoare triple {4013#(< ~counter~0 47)} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {4013#(< ~counter~0 47)} is VALID [2022-04-07 20:51:35,715 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3722#true} {4013#(< ~counter~0 47)} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {4013#(< ~counter~0 47)} is VALID [2022-04-07 20:51:35,715 INFO L290 TraceCheckUtils]: 17: Hoare triple {3722#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,715 INFO L290 TraceCheckUtils]: 16: Hoare triple {3722#true} [90] L13-->L13-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[] {3722#true} is VALID [2022-04-07 20:51:35,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {3722#true} [86] __VERIFIER_assertENTRY-->L13: 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] {3722#true} is VALID [2022-04-07 20:51:35,715 INFO L272 TraceCheckUtils]: 14: Hoare triple {4013#(< ~counter~0 47)} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3722#true} is VALID [2022-04-07 20:51:35,716 INFO L290 TraceCheckUtils]: 13: Hoare triple {4013#(< ~counter~0 47)} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4013#(< ~counter~0 47)} is VALID [2022-04-07 20:51:35,716 INFO L290 TraceCheckUtils]: 12: Hoare triple {4044#(< ~counter~0 46)} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4013#(< ~counter~0 47)} is VALID [2022-04-07 20:51:35,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {4044#(< ~counter~0 46)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {4044#(< ~counter~0 46)} is VALID [2022-04-07 20:51:35,717 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3722#true} {4044#(< ~counter~0 46)} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {4044#(< ~counter~0 46)} is VALID [2022-04-07 20:51:35,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {3722#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {3722#true} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {3722#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3722#true} is VALID [2022-04-07 20:51:35,717 INFO L272 TraceCheckUtils]: 6: Hoare triple {4044#(< ~counter~0 46)} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {3722#true} is VALID [2022-04-07 20:51:35,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {4044#(< ~counter~0 46)} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {4044#(< ~counter~0 46)} is VALID [2022-04-07 20:51:35,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {4044#(< ~counter~0 46)} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4044#(< ~counter~0 46)} is VALID [2022-04-07 20:51:35,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4044#(< ~counter~0 46)} {3722#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4044#(< ~counter~0 46)} is VALID [2022-04-07 20:51:35,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {4044#(< ~counter~0 46)} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4044#(< ~counter~0 46)} is VALID [2022-04-07 20:51:35,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {3722#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {4044#(< ~counter~0 46)} is VALID [2022-04-07 20:51:35,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#true} is VALID [2022-04-07 20:51:35,719 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 44 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 20:51:35,719 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 20:51:35,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576951174] [2022-04-07 20:51:35,719 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 20:51:35,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [669848972] [2022-04-07 20:51:35,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [669848972] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 20:51:35,720 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 20:51:35,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 20:51:35,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1807057978] [2022-04-07 20:51:35,720 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 20:51:35,720 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-07 20:51:35,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 20:51:35,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 20:51:35,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:51:35,787 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 20:51:35,787 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 20:51:35,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 20:51:35,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 20:51:35,788 INFO L87 Difference]: Start difference. First operand 98 states and 110 transitions. Second operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 20:51:36,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:51:36,455 INFO L93 Difference]: Finished difference Result 247 states and 277 transitions. [2022-04-07 20:51:36,455 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-07 20:51:36,456 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-07 20:51:36,456 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 20:51:36,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 20:51:36,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 144 transitions. [2022-04-07 20:51:36,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 20:51:36,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 144 transitions. [2022-04-07 20:51:36,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 144 transitions. [2022-04-07 20:51:36,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 20:51:36,555 INFO L225 Difference]: With dead ends: 247 [2022-04-07 20:51:36,555 INFO L226 Difference]: Without dead ends: 247 [2022-04-07 20:51:36,556 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 103 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-07 20:51:36,556 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 83 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 83 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 20:51:36,556 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [83 Valid, 207 Invalid, 83 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 20:51:36,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 247 states. [2022-04-07 20:51:36,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 247 to 237. [2022-04-07 20:51:36,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 20:51:36,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 247 states. Second operand has 237 states, 186 states have (on average 1.1505376344086022) internal successors, (214), 194 states have internal predecessors, (214), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 21 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 20:51:36,565 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand has 237 states, 186 states have (on average 1.1505376344086022) internal successors, (214), 194 states have internal predecessors, (214), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 21 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 20:51:36,565 INFO L87 Difference]: Start difference. First operand 247 states. Second operand has 237 states, 186 states have (on average 1.1505376344086022) internal successors, (214), 194 states have internal predecessors, (214), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 21 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 20:51:36,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:51:36,569 INFO L93 Difference]: Finished difference Result 247 states and 277 transitions. [2022-04-07 20:51:36,569 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 277 transitions. [2022-04-07 20:51:36,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:51:36,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:51:36,570 INFO L74 IsIncluded]: Start isIncluded. First operand has 237 states, 186 states have (on average 1.1505376344086022) internal successors, (214), 194 states have internal predecessors, (214), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 21 states have call predecessors, (28), 28 states have call successors, (28) Second operand 247 states. [2022-04-07 20:51:36,570 INFO L87 Difference]: Start difference. First operand has 237 states, 186 states have (on average 1.1505376344086022) internal successors, (214), 194 states have internal predecessors, (214), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 21 states have call predecessors, (28), 28 states have call successors, (28) Second operand 247 states. [2022-04-07 20:51:36,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 20:51:36,574 INFO L93 Difference]: Finished difference Result 247 states and 277 transitions. [2022-04-07 20:51:36,575 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 277 transitions. [2022-04-07 20:51:36,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 20:51:36,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 20:51:36,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 20:51:36,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 20:51:36,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 237 states, 186 states have (on average 1.1505376344086022) internal successors, (214), 194 states have internal predecessors, (214), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 21 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 20:51:36,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 237 states to 237 states and 272 transitions. [2022-04-07 20:51:36,579 INFO L78 Accepts]: Start accepts. Automaton has 237 states and 272 transitions. Word has length 58 [2022-04-07 20:51:36,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 20:51:36,579 INFO L478 AbstractCegarLoop]: Abstraction has 237 states and 272 transitions. [2022-04-07 20:51:36,579 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 20:51:36,579 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 272 transitions. [2022-04-07 20:51:36,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 20:51:36,580 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 20:51:36,580 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 20:51:36,596 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 20:51:36,796 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-07 20:51:36,796 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 20:51:36,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 20:51:36,796 INFO L85 PathProgramCache]: Analyzing trace with hash -339082250, now seen corresponding path program 2 times [2022-04-07 20:51:36,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 20:51:36,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [791354883] [2022-04-07 20:51:36,797 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 20:51:36,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 20:51:36,807 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 20:51:36,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [581459526] [2022-04-07 20:51:36,807 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 20:51:36,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 20:51:36,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 20:51:36,807 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 20:51:36,810 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-07 20:51:36,848 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 20:51:36,848 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 20:51:36,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-07 20:51:36,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 20:51:36,871 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 20:51:50,056 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 20:52:21,544 INFO L272 TraceCheckUtils]: 0: Hoare triple {5079#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5079#true} is VALID [2022-04-07 20:52:21,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {5079#true} [70] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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_#length_1| 2) 13) (= (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{~counter~0=v_~counter~0_3, #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[~counter~0, #NULL.offset, #NULL.base] {5079#true} is VALID [2022-04-07 20:52:21,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {5079#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5079#true} is VALID [2022-04-07 20:52:21,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5079#true} {5079#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5079#true} is VALID [2022-04-07 20:52:21,544 INFO L272 TraceCheckUtils]: 4: Hoare triple {5079#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5079#true} is VALID [2022-04-07 20:52:21,544 INFO L290 TraceCheckUtils]: 5: Hoare triple {5079#true} [72] mainENTRY-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_2 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_4, main_~x~0=v_main_~x~0_3, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_2, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5079#true} is VALID [2022-04-07 20:52:21,544 INFO L272 TraceCheckUtils]: 6: Hoare triple {5079#true} [74] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {5079#true} is VALID [2022-04-07 20:52:21,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {5079#true} [76] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {5105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 20:52:21,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {5105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [80] L10-->L10-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {5109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:52:21,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {5109#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 20:52:21,546 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5109#(not (= |assume_abort_if_not_#in~cond| 0))} {5079#true} [100] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (<= 1 v_main_~b~0_8) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {5116#(<= 1 main_~b~0)} is VALID [2022-04-07 20:52:21,546 INFO L290 TraceCheckUtils]: 11: Hoare triple {5116#(<= 1 main_~b~0)} [75] L27-1-->L33-3: Formula: (and (= v_main_~z~0_3 0) (= v_main_~a~0_5 v_main_~x~0_4) (= v_main_~b~0_6 v_main_~y~0_5)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_5} OutVars{main_~y~0=v_main_~y~0_5, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_3, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:52:21,546 INFO L290 TraceCheckUtils]: 12: Hoare triple {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:52:21,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:52:21,547 INFO L272 TraceCheckUtils]: 14: Hoare triple {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5079#true} is VALID [2022-04-07 20:52:21,547 INFO L290 TraceCheckUtils]: 15: Hoare triple {5079#true} [86] __VERIFIER_assertENTRY-->L13: 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] {5079#true} is VALID [2022-04-07 20:52:21,547 INFO L290 TraceCheckUtils]: 16: Hoare triple {5079#true} [90] L13-->L13-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[] {5079#true} is VALID [2022-04-07 20:52:21,547 INFO L290 TraceCheckUtils]: 17: Hoare triple {5079#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5079#true} is VALID [2022-04-07 20:52:21,547 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5079#true} {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:52:21,548 INFO L290 TraceCheckUtils]: 19: Hoare triple {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:52:21,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {5120#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [96] L38-->L38-2: Formula: (and (= (let ((.cse0 (mod v_main_~y~0_10 2))) (ite (and (< v_main_~y~0_10 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) (= v_main_~z~0_5 (+ v_main_~x~0_6 v_main_~z~0_6)) (= v_main_~y~0_9 (+ (- 1) v_main_~y~0_10))) InVars {main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_6} OutVars{main_~y~0=v_main_~y~0_9, main_~x~0=v_main_~x~0_6, main_~z~0=v_main_~z~0_5} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {5148#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= main_~b~0 (+ main_~y~0 1)) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 20:52:21,564 INFO L290 TraceCheckUtils]: 21: Hoare triple {5148#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= main_~b~0 (+ main_~y~0 1)) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {5152#(and (= (* main_~a~0 2) main_~x~0) (exists ((aux_div_v_main_~y~0_52_28 Int) (aux_mod_v_main_~y~0_52_28 Int)) (and (< aux_mod_v_main_~y~0_52_28 2) (<= 1 aux_mod_v_main_~y~0_52_28) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_52_28 2) aux_mod_v_main_~y~0_52_28)) (= main_~y~0 (div (+ (- 1) (* aux_div_v_main_~y~0_52_28 2) aux_mod_v_main_~y~0_52_28) 2)))) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,566 INFO L290 TraceCheckUtils]: 22: Hoare triple {5152#(and (= (* main_~a~0 2) main_~x~0) (exists ((aux_div_v_main_~y~0_52_28 Int) (aux_mod_v_main_~y~0_52_28 Int)) (and (< aux_mod_v_main_~y~0_52_28 2) (<= 1 aux_mod_v_main_~y~0_52_28) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_52_28 2) aux_mod_v_main_~y~0_52_28)) (= main_~y~0 (div (+ (- 1) (* aux_div_v_main_~y~0_52_28 2) aux_mod_v_main_~y~0_52_28) 2)))) (<= 1 main_~b~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,566 INFO L290 TraceCheckUtils]: 23: Hoare triple {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5079#true} is VALID [2022-04-07 20:52:21,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {5079#true} [86] __VERIFIER_assertENTRY-->L13: 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] {5079#true} is VALID [2022-04-07 20:52:21,567 INFO L290 TraceCheckUtils]: 26: Hoare triple {5079#true} [90] L13-->L13-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[] {5079#true} is VALID [2022-04-07 20:52:21,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {5079#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5079#true} is VALID [2022-04-07 20:52:21,567 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5079#true} {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,567 INFO L290 TraceCheckUtils]: 29: Hoare triple {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#(and (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} [97] L38-->L38-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~y~0_1 0)) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_1} OutVars{main_~y~0=v_main_~y~0_1} AuxVars[] AssignedVars[] {5181#(and (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,574 INFO L290 TraceCheckUtils]: 31: Hoare triple {5181#(and (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {5185#(and (= (* main_~a~0 4) main_~x~0) (exists ((aux_mod_v_main_~y~0_53_22 Int) (aux_div_v_main_~y~0_53_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_53_22) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ aux_mod_v_main_~y~0_53_22 (* aux_div_v_main_~y~0_53_22 2) 1)) (< aux_mod_v_main_~y~0_53_22 2) (not (= aux_mod_v_main_~y~0_53_22 1)) (= (div (+ aux_mod_v_main_~y~0_53_22 (* aux_div_v_main_~y~0_53_22 2)) 2) main_~y~0))) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,576 INFO L290 TraceCheckUtils]: 32: Hoare triple {5185#(and (= (* main_~a~0 4) main_~x~0) (exists ((aux_mod_v_main_~y~0_53_22 Int) (aux_div_v_main_~y~0_53_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_53_22) (< (div (+ (* (- 1) main_~b~0) 1) (- 2)) (+ aux_mod_v_main_~y~0_53_22 (* aux_div_v_main_~y~0_53_22 2) 1)) (< aux_mod_v_main_~y~0_53_22 2) (not (= aux_mod_v_main_~y~0_53_22 1)) (= (div (+ aux_mod_v_main_~y~0_53_22 (* aux_div_v_main_~y~0_53_22 2)) 2) main_~y~0))) (<= 1 main_~b~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {5189#(and (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-07 20:52:21,577 INFO L290 TraceCheckUtils]: 33: Hoare triple {5189#(and (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {5189#(and (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-07 20:52:21,577 INFO L272 TraceCheckUtils]: 34: Hoare triple {5189#(and (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5079#true} is VALID [2022-04-07 20:52:21,577 INFO L290 TraceCheckUtils]: 35: Hoare triple {5079#true} [86] __VERIFIER_assertENTRY-->L13: 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] {5079#true} is VALID [2022-04-07 20:52:21,577 INFO L290 TraceCheckUtils]: 36: Hoare triple {5079#true} [90] L13-->L13-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[] {5079#true} is VALID [2022-04-07 20:52:21,577 INFO L290 TraceCheckUtils]: 37: Hoare triple {5079#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5079#true} is VALID [2022-04-07 20:52:21,577 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5079#true} {5189#(and (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5189#(and (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-07 20:52:21,582 INFO L290 TraceCheckUtils]: 39: Hoare triple {5189#(and (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {5211#(and (not (= main_~y~0 0)) (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-07 20:52:21,584 INFO L290 TraceCheckUtils]: 40: Hoare triple {5211#(and (not (= main_~y~0 0)) (= (* main_~a~0 4) main_~x~0) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} [97] L38-->L38-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~y~0_1 0)) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_1} OutVars{main_~y~0=v_main_~y~0_1} AuxVars[] AssignedVars[] {5215#(and (not (= main_~y~0 0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-07 20:52:21,592 INFO L290 TraceCheckUtils]: 41: Hoare triple {5215#(and (not (= main_~y~0 0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ main_~y~0 1)))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {5219#(and (= main_~x~0 (* main_~a~0 8)) (exists ((aux_mod_v_main_~y~0_54_22 Int) (aux_div_v_main_~y~0_54_22 Int)) (and (not (= aux_mod_v_main_~y~0_54_22 1)) (< aux_mod_v_main_~y~0_54_22 2) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_54_22 (* aux_div_v_main_~y~0_54_22 2) 1)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_54_22 (* aux_div_v_main_~y~0_54_22 2)) 2)) (<= 0 aux_mod_v_main_~y~0_54_22) (not (= (+ aux_mod_v_main_~y~0_54_22 (* aux_div_v_main_~y~0_54_22 2)) 0)))) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,594 INFO L290 TraceCheckUtils]: 42: Hoare triple {5219#(and (= main_~x~0 (* main_~a~0 8)) (exists ((aux_mod_v_main_~y~0_54_22 Int) (aux_div_v_main_~y~0_54_22 Int)) (and (not (= aux_mod_v_main_~y~0_54_22 1)) (< aux_mod_v_main_~y~0_54_22 2) (< (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_54_22 (* aux_div_v_main_~y~0_54_22 2) 1)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_54_22 (* aux_div_v_main_~y~0_54_22 2)) 2)) (<= 0 aux_mod_v_main_~y~0_54_22) (not (= (+ aux_mod_v_main_~y~0_54_22 (* aux_div_v_main_~y~0_54_22 2)) 0)))) (<= 1 main_~b~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {5223#(and (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,595 INFO L290 TraceCheckUtils]: 43: Hoare triple {5223#(and (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {5223#(and (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,595 INFO L272 TraceCheckUtils]: 44: Hoare triple {5223#(and (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5079#true} is VALID [2022-04-07 20:52:21,595 INFO L290 TraceCheckUtils]: 45: Hoare triple {5079#true} [86] __VERIFIER_assertENTRY-->L13: 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] {5233#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:52:21,595 INFO L290 TraceCheckUtils]: 46: Hoare triple {5233#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [90] L13-->L13-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[] {5237#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:52:21,596 INFO L290 TraceCheckUtils]: 47: Hoare triple {5237#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5237#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 20:52:21,597 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5237#(not (= |__VERIFIER_assert_#in~cond| 0))} {5223#(and (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} [102] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5244#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,597 INFO L290 TraceCheckUtils]: 49: Hoare triple {5244#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} [92] L34-1-->L38: Formula: (not (= v_main_~y~0_8 0)) InVars {main_~y~0=v_main_~y~0_8} OutVars{main_~y~0=v_main_~y~0_8} AuxVars[] AssignedVars[] {5244#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,598 INFO L290 TraceCheckUtils]: 50: Hoare triple {5244#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} [97] L38-->L38-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~y~0_1 0)) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_1} OutVars{main_~y~0=v_main_~y~0_1} AuxVars[] AssignedVars[] {5251#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,607 INFO L290 TraceCheckUtils]: 51: Hoare triple {5251#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~x~0 (* main_~a~0 8)) (< (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (< 0 main_~y~0) (<= 1 main_~b~0))} [98] L38-2-->L33-3: Formula: (and (= v_main_~x~0_1 (* v_main_~x~0_2 2)) (= v_main_~y~0_2 (let ((.cse0 (div v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= (mod v_main_~y~0_3 2) 0))) (+ .cse0 1) .cse0)))) InVars {main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_3} OutVars{main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_2} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {5255#(and (< (div (* (- 1) (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 8) (* 2 (* main_~a~0 main_~y~0))) (= (* main_~a~0 16) main_~x~0) (= (mod (+ (* 7 main_~z~0) (* (- 16) main_~a~0 main_~y~0) (* main_~b~0 main_~a~0)) 8) 0) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,608 INFO L290 TraceCheckUtils]: 52: Hoare triple {5255#(and (< (div (* (- 1) (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 8) (* 2 (* main_~a~0 main_~y~0))) (= (* main_~a~0 16) main_~x~0) (= (mod (+ (* 7 main_~z~0) (* (- 16) main_~a~0 main_~y~0) (* main_~b~0 main_~a~0)) 8) 0) (< 0 main_~y~0) (<= 1 main_~b~0))} [78] L33-3-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {5255#(and (< (div (* (- 1) (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 8) (* 2 (* main_~a~0 main_~y~0))) (= (* main_~a~0 16) main_~x~0) (= (mod (+ (* 7 main_~z~0) (* (- 16) main_~a~0 main_~y~0) (* main_~b~0 main_~a~0)) 8) 0) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,609 INFO L290 TraceCheckUtils]: 53: Hoare triple {5255#(and (< (div (* (- 1) (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 8) (* 2 (* main_~a~0 main_~y~0))) (= (* main_~a~0 16) main_~x~0) (= (mod (+ (* 7 main_~z~0) (* (- 16) main_~a~0 main_~y~0) (* main_~b~0 main_~a~0)) 8) 0) (< 0 main_~y~0) (<= 1 main_~b~0))} [83] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 50) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {5255#(and (< (div (* (- 1) (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 8) (* 2 (* main_~a~0 main_~y~0))) (= (* main_~a~0 16) main_~x~0) (= (mod (+ (* 7 main_~z~0) (* (- 16) main_~a~0 main_~y~0) (* main_~b~0 main_~a~0)) 8) 0) (< 0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-07 20:52:21,612 INFO L272 TraceCheckUtils]: 54: Hoare triple {5255#(and (< (div (* (- 1) (div (* (- 1) (div (* (- 1) (div (+ (* (- 1) main_~b~0) 1) (- 2))) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 8) (* 2 (* main_~a~0 main_~y~0))) (= (* main_~a~0 16) main_~x~0) (= (mod (+ (* 7 main_~z~0) (* (- 16) main_~a~0 main_~y~0) (* main_~b~0 main_~a~0)) 8) 0) (< 0 main_~y~0) (<= 1 main_~b~0))} [87] L34-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_1| (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_7 v_main_~b~0_9)) 1 0)) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_9, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_7} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {5265#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 20:52:21,612 INFO L290 TraceCheckUtils]: 55: Hoare triple {5265#(<= 1 |__VERIFIER_assert_#in~cond|)} [86] __VERIFIER_assertENTRY-->L13: 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] {5269#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 20:52:21,612 INFO L290 TraceCheckUtils]: 56: Hoare triple {5269#(<= 1 __VERIFIER_assert_~cond)} [89] L13-->L14: 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[] {5080#false} is VALID [2022-04-07 20:52:21,612 INFO L290 TraceCheckUtils]: 57: Hoare triple {5080#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5080#false} is VALID [2022-04-07 20:52:21,613 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 16 proven. 49 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 20:52:21,613 INFO L328 TraceCheckSpWp]: Computing backward predicates...