/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-e106359-m [2022-04-14 22:48:31,634 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 22:48:31,644 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 22:48:31,674 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 22:48:31,674 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 22:48:31,675 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 22:48:31,676 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 22:48:31,678 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 22:48:31,679 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 22:48:31,680 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 22:48:31,681 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 22:48:31,682 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 22:48:31,682 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 22:48:31,683 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 22:48:31,684 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 22:48:31,685 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 22:48:31,685 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 22:48:31,686 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 22:48:31,687 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 22:48:31,689 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 22:48:31,690 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 22:48:31,691 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 22:48:31,692 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 22:48:31,693 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 22:48:31,693 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 22:48:31,696 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 22:48:31,696 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 22:48:31,697 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 22:48:31,697 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 22:48:31,698 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 22:48:31,699 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 22:48:31,699 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 22:48:31,700 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 22:48:31,700 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 22:48:31,701 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 22:48:31,702 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 22:48:31,702 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 22:48:31,703 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 22:48:31,703 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 22:48:31,703 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 22:48:31,704 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 22:48:31,705 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 22:48:31,706 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-14 22:48:31,713 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 22:48:31,714 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 22:48:31,715 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 22:48:31,715 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 22:48:31,715 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 22:48:31,715 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 22:48:31,716 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 22:48:31,716 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 22:48:31,716 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 22:48:31,716 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 22:48:31,716 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 22:48:31,716 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 22:48:31,717 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 22:48:31,717 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 22:48:31,717 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 22:48:31,717 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 22:48:31,717 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-14 22:48:31,717 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 22:48:31,718 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 22:48:31,718 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 22:48:31,718 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 22:48:31,725 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-14 22:48:31,725 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-14 22:48:31,939 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 22:48:31,963 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 22:48:31,966 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 22:48:31,967 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 22:48:31,970 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 22:48:31,971 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-14 22:48:32,029 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9c09983e7/e386e933d0264b10976d66214d9e7265/FLAG3c2b17c5d [2022-04-14 22:48:32,392 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 22:48:32,393 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c [2022-04-14 22:48:32,397 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9c09983e7/e386e933d0264b10976d66214d9e7265/FLAG3c2b17c5d [2022-04-14 22:48:32,407 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9c09983e7/e386e933d0264b10976d66214d9e7265 [2022-04-14 22:48:32,409 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 22:48:32,411 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-14 22:48:32,412 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 22:48:32,412 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 22:48:32,420 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 22:48:32,421 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,422 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@686248c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32, skipping insertion in model container [2022-04-14 22:48:32,422 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,433 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 22:48:32,448 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 22:48:32,609 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-14 22:48:32,635 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 22:48:32,642 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 22:48:32,655 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-14 22:48:32,678 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 22:48:32,690 INFO L208 MainTranslator]: Completed translation [2022-04-14 22:48:32,691 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32 WrapperNode [2022-04-14 22:48:32,691 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 22:48:32,692 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 22:48:32,692 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 22:48:32,692 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 22:48:32,701 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,702 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,709 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,709 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,723 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,728 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,734 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,737 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 22:48:32,738 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 22:48:32,738 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 22:48:32,738 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 22:48:32,739 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (1/1) ... [2022-04-14 22:48:32,746 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 22:48:32,755 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:48:32,773 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-14 22:48:32,783 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-14 22:48:32,818 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 22:48:32,818 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 22:48:32,819 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 22:48:32,819 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 22:48:32,819 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 22:48:32,819 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 22:48:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 22:48:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 22:48:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 22:48:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 22:48:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 22:48:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 22:48:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 22:48:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 22:48:32,821 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 22:48:32,822 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 22:48:32,822 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 22:48:32,822 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 22:48:32,822 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 22:48:32,822 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 22:48:32,881 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 22:48:32,883 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 22:48:33,036 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 22:48:33,042 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 22:48:33,042 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 22:48:33,059 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 10:48:33 BoogieIcfgContainer [2022-04-14 22:48:33,059 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 22:48:33,060 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-14 22:48:33,060 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-14 22:48:33,061 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-14 22:48:33,078 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 10:48:33" (1/1) ... [2022-04-14 22:48:33,081 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-14 22:48:33,114 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 10:48:33 BasicIcfg [2022-04-14 22:48:33,114 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-14 22:48:33,116 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 22:48:33,116 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 22:48:33,118 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 22:48:33,119 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 10:48:32" (1/4) ... [2022-04-14 22:48:33,119 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60dbd6cb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 10:48:33, skipping insertion in model container [2022-04-14 22:48:33,119 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 10:48:32" (2/4) ... [2022-04-14 22:48:33,120 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60dbd6cb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 10:48:33, skipping insertion in model container [2022-04-14 22:48:33,120 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 10:48:33" (3/4) ... [2022-04-14 22:48:33,120 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60dbd6cb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 10:48:33, skipping insertion in model container [2022-04-14 22:48:33,120 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 10:48:33" (4/4) ... [2022-04-14 22:48:33,121 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound50.cJordan [2022-04-14 22:48:33,125 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-14 22:48:33,126 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 22:48:33,163 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 22:48:33,169 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-14 22:48:33,169 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 22:48:33,184 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-14 22:48:33,190 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-14 22:48:33,190 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:48:33,190 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 22:48:33,191 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:48:33,195 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:48:33,196 INFO L85 PathProgramCache]: Analyzing trace with hash 1957529129, now seen corresponding path program 1 times [2022-04-14 22:48:33,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:48:33,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [935651275] [2022-04-14 22:48:33,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:33,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:48:33,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:33,373 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 22:48:33,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:33,390 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-14 22:48:33,391 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-14 22:48:33,391 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-14 22:48:33,392 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 22:48:33,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:33,399 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-14 22:48:33,399 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-14 22:48:33,400 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-14 22:48:33,400 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-14 22:48:33,401 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-14 22:48:33,402 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-14 22:48:33,402 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-14 22:48:33,402 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-14 22:48:33,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-14 22:48:33,403 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-14 22:48:33,403 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-14 22:48:33,403 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-14 22:48:33,403 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-14 22:48:33,404 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-14 22:48:33,404 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-14 22:48:33,404 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-14 22:48:33,405 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-14 22:48:33,405 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-14 22:48:33,406 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-14 22:48:33,406 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-14 22:48:33,406 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-14 22:48:33,407 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-14 22:48:33,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:48:33,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [935651275] [2022-04-14 22:48:33,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [935651275] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 22:48:33,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 22:48:33,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 22:48:33,409 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [154096568] [2022-04-14 22:48:33,410 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 22:48:33,415 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-14 22:48:33,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:48:33,419 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-14 22:48:33,440 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-14 22:48:33,441 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 22:48:33,441 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:48:33,458 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 22:48:33,459 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 22:48:33,461 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-14 22:48:33,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:33,556 INFO L93 Difference]: Finished difference Result 31 states and 34 transitions. [2022-04-14 22:48:33,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 22:48:33,556 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-14 22:48:33,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:48:33,558 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-14 22:48:33,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2022-04-14 22:48:33,564 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-14 22:48:33,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2022-04-14 22:48:33,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 38 transitions. [2022-04-14 22:48:33,607 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-14 22:48:33,614 INFO L225 Difference]: With dead ends: 31 [2022-04-14 22:48:33,614 INFO L226 Difference]: Without dead ends: 26 [2022-04-14 22:48:33,616 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-14 22:48:33,619 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-14 22:48:33,620 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-14 22:48:33,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-14 22:48:33,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-14 22:48:33,644 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:48:33,645 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-14 22:48:33,646 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-14 22:48:33,646 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-14 22:48:33,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:33,649 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 22:48:33,650 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 22:48:33,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:33,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:33,651 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-14 22:48:33,651 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-14 22:48:33,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:33,654 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 22:48:33,654 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 22:48:33,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:33,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:33,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:48:33,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:48:33,655 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-14 22:48:33,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-14 22:48:33,658 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-14 22:48:33,658 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:48:33,658 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-14 22:48:33,659 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-14 22:48:33,659 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-14 22:48:33,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 22:48:33,659 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:48:33,660 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-14 22:48:33,660 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 22:48:33,660 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:48:33,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:48:33,661 INFO L85 PathProgramCache]: Analyzing trace with hash 583261658, now seen corresponding path program 1 times [2022-04-14 22:48:33,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:48:33,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1728741432] [2022-04-14 22:48:33,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:33,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:48:33,680 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:48:33,681 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [51872243] [2022-04-14 22:48:33,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:33,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:48:33,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:48:33,684 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-14 22:48:33,726 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-14 22:48:33,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:33,759 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 22:48:33,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:33,786 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:48:33,980 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-14 22:48:33,984 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-14 22:48:33,985 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-14 22:48:33,985 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-14 22:48:33,986 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-14 22:48:33,987 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-14 22:48:33,988 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-14 22:48:33,988 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-14 22:48:33,989 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-14 22:48:33,989 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-14 22:48:33,990 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-14 22:48:33,991 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-14 22:48:33,991 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-14 22:48:33,993 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-14 22:48:33,994 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-14 22:48:33,994 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-14 22:48:33,994 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-14 22:48:33,994 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-14 22:48:33,995 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-14 22:48:33,995 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 22:48:33,995 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:48:33,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1728741432] [2022-04-14 22:48:33,996 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:48:33,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [51872243] [2022-04-14 22:48:34,000 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [51872243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 22:48:34,001 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 22:48:34,001 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 22:48:34,002 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1693165130] [2022-04-14 22:48:34,003 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 22:48:34,004 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-14 22:48:34,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:48:34,006 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-14 22:48:34,026 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-14 22:48:34,026 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 22:48:34,027 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:48:34,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 22:48:34,028 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 22:48:34,028 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-14 22:48:34,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:34,090 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 22:48:34,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 22:48:34,091 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-14 22:48:34,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:48:34,092 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-14 22:48:34,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 31 transitions. [2022-04-14 22:48:34,099 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-14 22:48:34,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 31 transitions. [2022-04-14 22:48:34,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 31 transitions. [2022-04-14 22:48:34,141 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-14 22:48:34,144 INFO L225 Difference]: With dead ends: 27 [2022-04-14 22:48:34,144 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 22:48:34,145 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-14 22:48:34,147 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-14 22:48:34,148 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-14 22:48:34,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 22:48:34,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 22:48:34,154 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:48:34,155 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-14 22:48:34,155 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-14 22:48:34,156 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-14 22:48:34,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:34,161 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 22:48:34,161 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 22:48:34,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:34,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:34,163 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-14 22:48:34,165 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-14 22:48:34,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:34,169 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 22:48:34,169 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 22:48:34,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:34,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:34,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:48:34,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:48:34,170 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-14 22:48:34,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-14 22:48:34,177 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-14 22:48:34,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:48:34,177 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-14 22:48:34,177 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-14 22:48:34,178 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 22:48:34,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 22:48:34,179 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:48:34,180 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-14 22:48:34,204 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-14 22:48:34,399 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-14 22:48:34,400 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:48:34,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:48:34,401 INFO L85 PathProgramCache]: Analyzing trace with hash 584363925, now seen corresponding path program 1 times [2022-04-14 22:48:34,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:48:34,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834817414] [2022-04-14 22:48:34,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:34,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:48:34,418 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:48:34,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1696755424] [2022-04-14 22:48:34,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:34,419 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:48:34,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:48:34,420 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-14 22:48:34,439 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-14 22:48:34,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:34,478 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 22:48:34,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:34,487 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:48:34,601 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-14 22:48:34,602 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-14 22:48:34,602 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-14 22:48:34,602 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-14 22:48:34,602 INFO L272 TraceCheckUtils]: 4: Hoare triple {318#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {318#true} is VALID [2022-04-14 22:48:34,603 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-14 22:48:34,603 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-14 22:48:34,603 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-14 22:48:34,603 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-14 22:48:34,603 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-14 22:48:34,604 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-14 22:48:34,605 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-14 22:48:34,605 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-14 22:48:34,606 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-14 22:48:34,607 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-14 22:48:34,608 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-14 22:48:34,608 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-14 22:48:34,608 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-14 22:48:34,609 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-14 22:48:34,609 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 22:48:34,609 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:48:34,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834817414] [2022-04-14 22:48:34,609 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:48:34,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1696755424] [2022-04-14 22:48:34,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1696755424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 22:48:34,610 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 22:48:34,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 22:48:34,610 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [807561870] [2022-04-14 22:48:34,610 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 22:48:34,611 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-14 22:48:34,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:48:34,611 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-14 22:48:34,643 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-14 22:48:34,644 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 22:48:34,644 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:48:34,644 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 22:48:34,645 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 22:48:34,645 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-14 22:48:34,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:34,769 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 22:48:34,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 22:48:34,770 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-14 22:48:34,770 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:48:34,770 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-14 22:48:34,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-14 22:48:34,772 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-14 22:48:34,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-14 22:48:34,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-14 22:48:34,810 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-14 22:48:34,811 INFO L225 Difference]: With dead ends: 36 [2022-04-14 22:48:34,812 INFO L226 Difference]: Without dead ends: 36 [2022-04-14 22:48:34,812 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-14 22:48:34,813 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-14 22:48:34,813 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-14 22:48:34,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-14 22:48:34,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-14 22:48:34,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:48:34,817 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-14 22:48:34,817 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-14 22:48:34,818 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-14 22:48:34,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:34,820 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 22:48:34,820 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 22:48:34,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:34,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:34,821 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-14 22:48:34,821 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-14 22:48:34,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:34,823 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 22:48:34,823 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 22:48:34,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:34,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:34,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:48:34,824 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:48:34,824 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-14 22:48:34,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-14 22:48:34,826 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-14 22:48:34,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:48:34,826 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-14 22:48:34,826 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-14 22:48:34,826 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-14 22:48:34,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-14 22:48:34,827 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:48:34,827 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-14 22:48:34,854 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-14 22:48:35,043 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-14 22:48:35,044 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:48:35,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:48:35,045 INFO L85 PathProgramCache]: Analyzing trace with hash 1698322804, now seen corresponding path program 1 times [2022-04-14 22:48:35,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:48:35,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [64383307] [2022-04-14 22:48:35,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:35,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:48:35,060 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:48:35,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [32124651] [2022-04-14 22:48:35,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:35,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:48:35,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:48:35,070 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-14 22:48:35,095 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-14 22:48:35,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:35,113 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 22:48:35,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:35,124 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:48:35,258 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-14 22:48:35,258 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-14 22:48:35,258 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-14 22:48:35,258 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-14 22:48:35,259 INFO L272 TraceCheckUtils]: 4: Hoare triple {518#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {518#true} is VALID [2022-04-14 22:48:35,259 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-14 22:48:35,259 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-14 22:48:35,260 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-14 22:48:35,260 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-14 22:48:35,261 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-14 22:48:35,262 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-14 22:48:35,262 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-14 22:48:35,263 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-14 22:48:35,267 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-14 22:48:35,267 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-14 22:48:35,267 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-14 22:48:35,270 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-14 22:48:35,273 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-14 22:48:35,274 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-14 22:48:35,278 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-14 22:48:35,278 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-14 22:48:35,278 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-14 22:48:35,278 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-14 22:48:35,279 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-14 22:48:35,279 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-14 22:48:35,279 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 22:48:35,279 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:48:35,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [64383307] [2022-04-14 22:48:35,280 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:48:35,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [32124651] [2022-04-14 22:48:35,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [32124651] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 22:48:35,280 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 22:48:35,280 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 22:48:35,280 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1745919929] [2022-04-14 22:48:35,281 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 22:48:35,281 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-14 22:48:35,281 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:48:35,282 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-14 22:48:35,306 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-14 22:48:35,307 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 22:48:35,307 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:48:35,308 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 22:48:35,308 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 22:48:35,309 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-14 22:48:35,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:35,460 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 22:48:35,461 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 22:48:35,462 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-14 22:48:35,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:48:35,462 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-14 22:48:35,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 37 transitions. [2022-04-14 22:48:35,466 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-14 22:48:35,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 37 transitions. [2022-04-14 22:48:35,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 37 transitions. [2022-04-14 22:48:35,499 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-14 22:48:35,501 INFO L225 Difference]: With dead ends: 35 [2022-04-14 22:48:35,501 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 22:48:35,501 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-14 22:48:35,503 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-14 22:48:35,506 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-14 22:48:35,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 22:48:35,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-14 22:48:35,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:48:35,516 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-14 22:48:35,516 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-14 22:48:35,516 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-14 22:48:35,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:35,518 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 22:48:35,518 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 22:48:35,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:35,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:35,520 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-14 22:48:35,520 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-14 22:48:35,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:35,523 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 22:48:35,523 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 22:48:35,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:35,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:35,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:48:35,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:48:35,524 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-14 22:48:35,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-14 22:48:35,526 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-14 22:48:35,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:48:35,526 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-14 22:48:35,526 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-14 22:48:35,526 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-14 22:48:35,527 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 22:48:35,527 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:48:35,527 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-14 22:48:35,551 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-14 22:48:35,747 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-14 22:48:35,748 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:48:35,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:48:35,748 INFO L85 PathProgramCache]: Analyzing trace with hash 919545147, now seen corresponding path program 1 times [2022-04-14 22:48:35,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:48:35,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [383123141] [2022-04-14 22:48:35,748 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:35,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:48:35,770 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:48:35,770 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1213320383] [2022-04-14 22:48:35,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:35,770 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:48:35,770 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:48:35,775 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-14 22:48:35,776 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-14 22:48:35,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:35,814 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 22:48:35,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:35,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:48:36,000 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-14 22:48:36,002 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-14 22:48:36,003 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-14 22:48:36,003 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-14 22:48:36,004 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-14 22:48:36,004 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-14 22:48:36,005 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-14 22:48:36,005 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-14 22:48:36,006 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-14 22:48:36,006 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-14 22:48:36,007 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-14 22:48:36,007 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-14 22:48:36,008 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-14 22:48:36,008 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-14 22:48:36,009 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-14 22:48:36,009 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-14 22:48:36,009 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-14 22:48:36,010 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-14 22:48:36,015 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-14 22:48:36,016 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-14 22:48:36,016 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-14 22:48:36,017 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-14 22:48:36,017 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-14 22:48:36,017 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-14 22:48:36,018 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-14 22:48:36,018 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-14 22:48:36,018 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-14 22:48:36,018 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-14 22:48:36,018 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-14 22:48:36,018 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:48:36,176 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-14 22:48:36,177 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-14 22:48:36,179 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-14 22:48:36,179 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-14 22:48:36,193 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-14 22:48:36,195 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-14 22:48:36,196 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-14 22:48:36,201 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-14 22:48:36,201 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-14 22:48:36,202 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-14 22:48:36,202 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-14 22:48:36,202 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-14 22:48:36,203 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-14 22:48:36,203 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-14 22:48:36,206 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-14 22:48:36,207 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-14 22:48:36,207 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-14 22:48:36,208 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-14 22:48:36,208 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-14 22:48:36,208 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-14 22:48:36,208 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-14 22:48:36,208 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-14 22:48:36,209 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-14 22:48:36,209 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-14 22:48:36,211 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-14 22:48:36,211 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-14 22:48:36,212 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-14 22:48:36,212 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-14 22:48:36,212 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-14 22:48:36,212 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:48:36,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [383123141] [2022-04-14 22:48:36,212 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:48:36,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1213320383] [2022-04-14 22:48:36,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1213320383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 22:48:36,213 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 22:48:36,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-14 22:48:36,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [521318057] [2022-04-14 22:48:36,213 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 22:48:36,213 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-14 22:48:36,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:48:36,214 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-14 22:48:36,253 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-14 22:48:36,253 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 22:48:36,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:48:36,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 22:48:36,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-14 22:48:36,254 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-14 22:48:36,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:36,412 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 22:48:36,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 22:48:36,412 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-14 22:48:36,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:48:36,413 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-14 22:48:36,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2022-04-14 22:48:36,415 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-14 22:48:36,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2022-04-14 22:48:36,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 74 transitions. [2022-04-14 22:48:36,474 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-14 22:48:36,475 INFO L225 Difference]: With dead ends: 63 [2022-04-14 22:48:36,476 INFO L226 Difference]: Without dead ends: 63 [2022-04-14 22:48:36,476 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-14 22:48:36,476 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-14 22:48:36,477 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-14 22:48:36,477 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-14 22:48:36,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-14 22:48:36,481 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:48:36,482 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-14 22:48:36,482 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-14 22:48:36,482 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-14 22:48:36,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:36,484 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 22:48:36,484 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 22:48:36,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:36,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:36,485 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-14 22:48:36,486 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-14 22:48:36,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:48:36,488 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 22:48:36,488 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 22:48:36,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:48:36,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:48:36,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:48:36,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:48:36,489 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-14 22:48:36,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-14 22:48:36,491 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 28 [2022-04-14 22:48:36,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:48:36,491 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-14 22:48:36,492 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-14 22:48:36,492 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-14 22:48:36,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 22:48:36,492 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:48:36,492 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-14 22:48:36,515 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-14 22:48:36,707 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-14 22:48:36,707 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:48:36,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:48:36,708 INFO L85 PathProgramCache]: Analyzing trace with hash 920647414, now seen corresponding path program 1 times [2022-04-14 22:48:36,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:48:36,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [193520084] [2022-04-14 22:48:36,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:36,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:48:36,721 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:48:36,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [911362120] [2022-04-14 22:48:36,722 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:48:36,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:48:36,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:48:36,723 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-14 22:48:36,757 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-14 22:48:36,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:36,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-14 22:48:36,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:48:36,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:48:37,933 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-14 22:48:37,933 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-14 22:48:37,933 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-14 22:48:37,933 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-14 22:48:37,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {1166#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-14 22:48:37,933 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-14 22:48:37,934 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-14 22:48:37,934 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-14 22:48:37,934 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-14 22:48:37,934 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-14 22:48:37,934 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-14 22:48:37,935 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-14 22:48:37,935 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-14 22:48:37,936 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-14 22:48:37,936 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-14 22:48:37,936 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-14 22:48:37,937 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-14 22:48:37,937 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-14 22:48:37,938 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-14 22:48:37,938 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-14 22:48:37,939 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-14 22:48:37,941 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-14 22:48:37,941 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-14 22:48:37,942 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-14 22:48:39,944 WARN 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 UNKNOWN [2022-04-14 22:48:39,945 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-14 22:48:39,946 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-14 22:48:39,946 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-14 22:48:39,946 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-14 22:48:39,946 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:49:41,220 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-14 22:49:41,220 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-14 22:49:41,221 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-14 22:49:41,222 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-14 22:49:41,222 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-14 22:49:41,223 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-14 22:49:41,228 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-14 22:49:41,232 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-14 22:49:41,233 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-14 22:49:41,534 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-14 22:49:41,534 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-14 22:49:41,535 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-14 22:49:41,535 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-14 22:49:41,535 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-14 22:49:41,535 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-14 22:49:41,536 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-14 22:49:41,536 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-14 22:49:41,536 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-14 22:49:41,536 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-14 22:49:41,536 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-14 22:49:41,536 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-14 22:49:41,536 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-14 22:49:41,537 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-14 22:49:41,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {1166#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1166#true} is VALID [2022-04-14 22:49:41,537 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-14 22:49:41,537 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-14 22:49:41,537 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-14 22:49:41,537 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-14 22:49:41,538 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-14 22:49:41,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:49:41,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [193520084] [2022-04-14 22:49:41,538 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:49:41,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [911362120] [2022-04-14 22:49:41,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [911362120] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 22:49:41,538 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 22:49:41,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-14 22:49:41,538 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556934720] [2022-04-14 22:49:41,538 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 22:49:41,539 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-14 22:49:41,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:49:41,540 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-14 22:49:42,741 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-14 22:49:42,741 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 22:49:42,741 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:49:42,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 22:49:42,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-14 22:49:42,742 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-14 22:49:51,330 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.88s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:50:00,977 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-14 22:50:03,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:50:03,503 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-04-14 22:50:03,503 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-14 22:50:03,503 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-14 22:50:03,503 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:50:03,503 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-14 22:50:03,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 59 transitions. [2022-04-14 22:50:03,506 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-14 22:50:03,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 59 transitions. [2022-04-14 22:50:03,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 59 transitions. [2022-04-14 22:50:05,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 22:50:05,620 INFO L225 Difference]: With dead ends: 92 [2022-04-14 22:50:05,620 INFO L226 Difference]: Without dead ends: 92 [2022-04-14 22:50:05,620 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 40 SyntacticMatches, 3 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 8.1s TimeCoverageRelationStatistics Valid=66, Invalid=240, Unknown=0, NotChecked=0, Total=306 [2022-04-14 22:50:05,621 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 39 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 17 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.4s IncrementalHoareTripleChecker+Time [2022-04-14 22:50:05,621 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 112 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 121 Invalid, 1 Unknown, 0 Unchecked, 7.4s Time] [2022-04-14 22:50:05,622 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-14 22:50:05,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 86. [2022-04-14 22:50:05,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:50:05,627 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 86 states, 63 states have (on average 1.1904761904761905) internal successors, (75), 69 states have internal predecessors, (75), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 6 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 22:50:05,628 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 86 states, 63 states have (on average 1.1904761904761905) internal successors, (75), 69 states have internal predecessors, (75), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 6 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 22:50:05,628 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 86 states, 63 states have (on average 1.1904761904761905) internal successors, (75), 69 states have internal predecessors, (75), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 6 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 22:50:05,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:50:05,631 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-04-14 22:50:05,631 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 105 transitions. [2022-04-14 22:50:05,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:50:05,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:50:05,632 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 63 states have (on average 1.1904761904761905) internal successors, (75), 69 states have internal predecessors, (75), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 6 states have call predecessors, (9), 9 states have call successors, (9) Second operand 92 states. [2022-04-14 22:50:05,632 INFO L87 Difference]: Start difference. First operand has 86 states, 63 states have (on average 1.1904761904761905) internal successors, (75), 69 states have internal predecessors, (75), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 6 states have call predecessors, (9), 9 states have call successors, (9) Second operand 92 states. [2022-04-14 22:50:05,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:50:05,635 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-04-14 22:50:05,635 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 105 transitions. [2022-04-14 22:50:05,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:50:05,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:50:05,636 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:50:05,636 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:50:05,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 63 states have (on average 1.1904761904761905) internal successors, (75), 69 states have internal predecessors, (75), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (9), 6 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 22:50:05,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 97 transitions. [2022-04-14 22:50:05,639 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 97 transitions. Word has length 28 [2022-04-14 22:50:05,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:50:05,639 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 97 transitions. [2022-04-14 22:50:05,639 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-14 22:50:05,639 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 97 transitions. [2022-04-14 22:50:05,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 22:50:05,640 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:50:05,640 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-14 22:50:05,663 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-14 22:50:05,862 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-14 22:50:05,863 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:50:05,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:50:05,863 INFO L85 PathProgramCache]: Analyzing trace with hash -1631509547, now seen corresponding path program 1 times [2022-04-14 22:50:05,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:50:05,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1380132173] [2022-04-14 22:50:05,863 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:50:05,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:50:05,874 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:50:05,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [283303773] [2022-04-14 22:50:05,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:50:05,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:50:05,875 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:50:05,876 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-14 22:50:05,880 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-14 22:50:05,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:50:05,925 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 22:50:05,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:50:05,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:50:07,557 INFO L272 TraceCheckUtils]: 0: Hoare triple {1717#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:07,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {1717#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] {1717#true} is VALID [2022-04-14 22:50:07,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {1717#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:07,557 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1717#true} {1717#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:07,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {1717#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:07,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {1717#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] {1717#true} is VALID [2022-04-14 22:50:07,558 INFO L272 TraceCheckUtils]: 6: Hoare triple {1717#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] {1717#true} is VALID [2022-04-14 22:50:07,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {1717#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] {1743#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 22:50:07,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {1743#(= 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[] {1747#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 22:50:07,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {1747#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1747#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 22:50:07,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1747#(not (= |assume_abort_if_not_#in~cond| 0))} {1717#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] {1754#(<= 1 main_~b~0)} is VALID [2022-04-14 22:50:07,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {1754#(<= 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] {1758#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:50:07,561 INFO L290 TraceCheckUtils]: 12: Hoare triple {1758#(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] {1758#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:50:07,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {1758#(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] {1758#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:50:07,561 INFO L272 TraceCheckUtils]: 14: Hoare triple {1758#(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] {1717#true} is VALID [2022-04-14 22:50:07,562 INFO L290 TraceCheckUtils]: 15: Hoare triple {1717#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] {1771#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:50:07,562 INFO L290 TraceCheckUtils]: 16: Hoare triple {1771#(= |__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[] {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:50:07,563 INFO L290 TraceCheckUtils]: 17: Hoare triple {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:50:07,564 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} {1758#(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] {1782#(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-14 22:50:07,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {1782#(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[] {1782#(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-14 22:50:07,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {1782#(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[] {1789#(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-14 22:50:07,566 INFO L290 TraceCheckUtils]: 21: Hoare triple {1789#(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] {1793#(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-14 22:50:07,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {1793#(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] {1793#(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-14 22:50:07,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {1793#(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] {1793#(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-14 22:50:07,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {1793#(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] {1803#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:50:07,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {1803#(<= 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] {1807#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:50:07,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {1807#(<= 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[] {1718#false} is VALID [2022-04-14 22:50:07,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {1718#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1718#false} is VALID [2022-04-14 22:50:07,571 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-14 22:50:07,571 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:50:39,179 INFO L290 TraceCheckUtils]: 27: Hoare triple {1718#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1718#false} is VALID [2022-04-14 22:50:39,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {1807#(<= 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[] {1718#false} is VALID [2022-04-14 22:50:39,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {1803#(<= 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] {1807#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:50:39,181 INFO L272 TraceCheckUtils]: 24: Hoare triple {1823#(= (+ 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] {1803#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:50:39,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {1823#(= (+ 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] {1823#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:50:39,182 INFO L290 TraceCheckUtils]: 22: Hoare triple {1823#(= (+ 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] {1823#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:50:39,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {1833#(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] {1823#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:50:39,187 INFO L290 TraceCheckUtils]: 20: Hoare triple {1837#(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[] {1833#(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-14 22:50:39,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {1837#(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[] {1837#(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-14 22:50:39,191 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} {1844#(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] {1837#(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-14 22:50:39,191 INFO L290 TraceCheckUtils]: 17: Hoare triple {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:50:39,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {1854#(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[] {1775#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:50:39,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {1717#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] {1854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 22:50:39,192 INFO L272 TraceCheckUtils]: 14: Hoare triple {1844#(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] {1717#true} is VALID [2022-04-14 22:50:39,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {1844#(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] {1844#(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-14 22:50:39,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {1844#(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] {1844#(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-14 22:50:39,194 INFO L290 TraceCheckUtils]: 11: Hoare triple {1867#(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] {1844#(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-14 22:50:39,195 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1747#(not (= |assume_abort_if_not_#in~cond| 0))} {1717#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] {1867#(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-14 22:50:39,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {1747#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1747#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 22:50:39,196 INFO L290 TraceCheckUtils]: 8: Hoare triple {1880#(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[] {1747#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 22:50:39,196 INFO L290 TraceCheckUtils]: 7: Hoare triple {1717#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] {1880#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-14 22:50:39,196 INFO L272 TraceCheckUtils]: 6: Hoare triple {1717#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] {1717#true} is VALID [2022-04-14 22:50:39,196 INFO L290 TraceCheckUtils]: 5: Hoare triple {1717#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] {1717#true} is VALID [2022-04-14 22:50:39,197 INFO L272 TraceCheckUtils]: 4: Hoare triple {1717#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:39,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1717#true} {1717#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:39,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {1717#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:39,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {1717#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] {1717#true} is VALID [2022-04-14 22:50:39,197 INFO L272 TraceCheckUtils]: 0: Hoare triple {1717#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1717#true} is VALID [2022-04-14 22:50:39,197 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-14 22:50:39,197 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:50:39,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1380132173] [2022-04-14 22:50:39,198 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:50:39,198 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [283303773] [2022-04-14 22:50:39,198 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [283303773] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 22:50:39,198 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 22:50:39,198 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-14 22:50:39,198 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1800387559] [2022-04-14 22:50:39,198 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 22:50:39,199 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-14 22:50:39,199 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:50:39,199 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-14 22:50:39,237 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-14 22:50:39,237 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-14 22:50:39,237 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:50:39,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-14 22:50:39,238 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-14 22:50:39,238 INFO L87 Difference]: Start difference. First operand 86 states and 97 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-14 22:50:41,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:50:41,683 INFO L93 Difference]: Finished difference Result 112 states and 125 transitions. [2022-04-14 22:50:41,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-14 22:50:41,684 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-14 22:50:41,684 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:50:41,684 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-14 22:50:41,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-14 22:50:41,686 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-14 22:50:41,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-14 22:50:41,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 65 transitions. [2022-04-14 22:50:41,761 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-14 22:50:41,764 INFO L225 Difference]: With dead ends: 112 [2022-04-14 22:50:41,764 INFO L226 Difference]: Without dead ends: 110 [2022-04-14 22:50:41,764 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=127, Invalid=575, Unknown=0, NotChecked=0, Total=702 [2022-04-14 22:50:41,765 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 50 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 281 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 315 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 281 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-14 22:50:41,765 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 180 Invalid, 315 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 281 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-14 22:50:41,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-14 22:50:41,772 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 100. [2022-04-14 22:50:41,772 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:50:41,772 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 100 states, 75 states have (on average 1.1866666666666668) internal successors, (89), 79 states have internal predecessors, (89), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:50:41,773 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 100 states, 75 states have (on average 1.1866666666666668) internal successors, (89), 79 states have internal predecessors, (89), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:50:41,773 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 100 states, 75 states have (on average 1.1866666666666668) internal successors, (89), 79 states have internal predecessors, (89), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:50:41,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:50:41,776 INFO L93 Difference]: Finished difference Result 110 states and 123 transitions. [2022-04-14 22:50:41,776 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 123 transitions. [2022-04-14 22:50:41,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:50:41,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:50:41,777 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 75 states have (on average 1.1866666666666668) internal successors, (89), 79 states have internal predecessors, (89), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 110 states. [2022-04-14 22:50:41,778 INFO L87 Difference]: Start difference. First operand has 100 states, 75 states have (on average 1.1866666666666668) internal successors, (89), 79 states have internal predecessors, (89), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 110 states. [2022-04-14 22:50:41,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:50:41,781 INFO L93 Difference]: Finished difference Result 110 states and 123 transitions. [2022-04-14 22:50:41,781 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 123 transitions. [2022-04-14 22:50:41,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:50:41,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:50:41,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:50:41,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:50:41,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 75 states have (on average 1.1866666666666668) internal successors, (89), 79 states have internal predecessors, (89), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:50:41,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 113 transitions. [2022-04-14 22:50:41,784 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 113 transitions. Word has length 28 [2022-04-14 22:50:41,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:50:41,785 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 113 transitions. [2022-04-14 22:50:41,785 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-14 22:50:41,785 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 113 transitions. [2022-04-14 22:50:41,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-14 22:50:41,785 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:50:41,786 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-14 22:50:41,807 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-14 22:50:42,003 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-14 22:50:42,004 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:50:42,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:50:42,004 INFO L85 PathProgramCache]: Analyzing trace with hash -357510123, now seen corresponding path program 1 times [2022-04-14 22:50:42,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:50:42,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117753388] [2022-04-14 22:50:42,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:50:42,004 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:50:42,027 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:50:42,027 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [949763177] [2022-04-14 22:50:42,028 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:50:42,028 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:50:42,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:50:42,031 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-14 22:50:42,032 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-14 22:50:42,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:50:42,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 22:50:42,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:50:42,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:50:52,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {2350#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:50:52,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,217 INFO L290 TraceCheckUtils]: 2: Hoare triple {2350#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:50:52,217 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2350#true} {2350#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:50:52,217 INFO L272 TraceCheckUtils]: 4: Hoare triple {2350#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L272 TraceCheckUtils]: 6: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {2350#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[] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L290 TraceCheckUtils]: 9: Hoare triple {2350#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2350#true} {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L290 TraceCheckUtils]: 11: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,218 INFO L290 TraceCheckUtils]: 12: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L290 TraceCheckUtils]: 13: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L272 TraceCheckUtils]: 14: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L290 TraceCheckUtils]: 15: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L290 TraceCheckUtils]: 16: Hoare triple {2350#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[] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L290 TraceCheckUtils]: 17: Hoare triple {2350#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2350#true} {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L290 TraceCheckUtils]: 19: Hoare triple {2350#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[] {2350#true} is VALID [2022-04-14 22:50:52,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,220 INFO L290 TraceCheckUtils]: 21: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,220 INFO L290 TraceCheckUtils]: 22: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,220 INFO L290 TraceCheckUtils]: 23: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,220 INFO L272 TraceCheckUtils]: 24: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:50:52,221 INFO L290 TraceCheckUtils]: 25: Hoare triple {2350#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] {2430#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:50:52,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {2430#(= |__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[] {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:50:52,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:50:54,223 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} {2350#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] {2441#(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-14 22:50:54,224 INFO L290 TraceCheckUtils]: 29: Hoare triple {2441#(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[] {2445#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:50:54,224 INFO L272 TraceCheckUtils]: 30: Hoare triple {2445#(= 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] {2449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:50:54,225 INFO L290 TraceCheckUtils]: 31: Hoare triple {2449#(<= 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] {2453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:50:54,225 INFO L290 TraceCheckUtils]: 32: Hoare triple {2453#(<= 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[] {2351#false} is VALID [2022-04-14 22:50:54,225 INFO L290 TraceCheckUtils]: 33: Hoare triple {2351#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2351#false} is VALID [2022-04-14 22:50:54,225 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-14 22:50:54,225 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:51:00,594 INFO L290 TraceCheckUtils]: 33: Hoare triple {2351#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2351#false} is VALID [2022-04-14 22:51:00,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {2453#(<= 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[] {2351#false} is VALID [2022-04-14 22:51:00,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {2449#(<= 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] {2453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:51:00,596 INFO L272 TraceCheckUtils]: 30: Hoare triple {2445#(= 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] {2449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:51:00,596 INFO L290 TraceCheckUtils]: 29: Hoare triple {2472#(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[] {2445#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:51:00,597 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} {2350#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] {2472#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 22:51:00,597 INFO L290 TraceCheckUtils]: 27: Hoare triple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:51:00,598 INFO L290 TraceCheckUtils]: 26: Hoare triple {2485#(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[] {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:51:00,598 INFO L290 TraceCheckUtils]: 25: Hoare triple {2350#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] {2485#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 22:51:00,598 INFO L272 TraceCheckUtils]: 24: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,598 INFO L290 TraceCheckUtils]: 23: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,598 INFO L290 TraceCheckUtils]: 22: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {2350#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[] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2350#true} {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L290 TraceCheckUtils]: 17: Hoare triple {2350#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L290 TraceCheckUtils]: 16: Hoare triple {2350#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[] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,599 INFO L272 TraceCheckUtils]: 14: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L290 TraceCheckUtils]: 13: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L290 TraceCheckUtils]: 12: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2350#true} {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {2350#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {2350#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[] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {2350#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:51:00,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2350#true} {2350#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:51:00,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {2350#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:51:00,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {2350#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] {2350#true} is VALID [2022-04-14 22:51:00,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {2350#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2350#true} is VALID [2022-04-14 22:51:00,601 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-14 22:51:00,602 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:51:00,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [117753388] [2022-04-14 22:51:00,602 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:51:00,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [949763177] [2022-04-14 22:51:00,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [949763177] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 22:51:00,602 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 22:51:00,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 22:51:00,602 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [455091508] [2022-04-14 22:51:00,602 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 22:51:00,603 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-14 22:51:00,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:51:00,603 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-14 22:51:02,631 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-14 22:51:02,631 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 22:51:02,631 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:51:02,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 22:51:02,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-14 22:51:02,632 INFO L87 Difference]: Start difference. First operand 100 states and 113 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-14 22:51:04,671 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-14 22:51:05,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:51:05,130 INFO L93 Difference]: Finished difference Result 110 states and 120 transitions. [2022-04-14 22:51:05,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-14 22:51:05,130 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-14 22:51:05,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:51:05,131 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-14 22:51:05,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 38 transitions. [2022-04-14 22:51:05,132 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-14 22:51:05,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 38 transitions. [2022-04-14 22:51:05,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 38 transitions. [2022-04-14 22:51:09,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 36 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-14 22:51:09,169 INFO L225 Difference]: With dead ends: 110 [2022-04-14 22:51:09,169 INFO L226 Difference]: Without dead ends: 97 [2022-04-14 22:51:09,169 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-14 22:51:09,170 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 17 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 93 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-14 22:51:09,170 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 142 Invalid, 93 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 90 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-14 22:51:09,170 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2022-04-14 22:51:09,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 96. [2022-04-14 22:51:09,176 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:51:09,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand has 96 states, 73 states have (on average 1.1369863013698631) internal successors, (83), 76 states have internal predecessors, (83), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:51:09,176 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand has 96 states, 73 states have (on average 1.1369863013698631) internal successors, (83), 76 states have internal predecessors, (83), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:51:09,177 INFO L87 Difference]: Start difference. First operand 97 states. Second operand has 96 states, 73 states have (on average 1.1369863013698631) internal successors, (83), 76 states have internal predecessors, (83), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:51:09,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:51:09,179 INFO L93 Difference]: Finished difference Result 97 states and 106 transitions. [2022-04-14 22:51:09,179 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 106 transitions. [2022-04-14 22:51:09,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:51:09,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:51:09,180 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 73 states have (on average 1.1369863013698631) internal successors, (83), 76 states have internal predecessors, (83), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 97 states. [2022-04-14 22:51:09,180 INFO L87 Difference]: Start difference. First operand has 96 states, 73 states have (on average 1.1369863013698631) internal successors, (83), 76 states have internal predecessors, (83), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 97 states. [2022-04-14 22:51:09,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:51:09,183 INFO L93 Difference]: Finished difference Result 97 states and 106 transitions. [2022-04-14 22:51:09,183 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 106 transitions. [2022-04-14 22:51:09,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:51:09,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:51:09,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:51:09,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:51:09,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 73 states have (on average 1.1369863013698631) internal successors, (83), 76 states have internal predecessors, (83), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 22:51:09,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 105 transitions. [2022-04-14 22:51:09,186 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 105 transitions. Word has length 34 [2022-04-14 22:51:09,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:51:09,186 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 105 transitions. [2022-04-14 22:51:09,186 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-14 22:51:09,187 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2022-04-14 22:51:09,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-14 22:51:09,187 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:51:09,187 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 22:51:09,211 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-14 22:51:09,409 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-14 22:51:09,410 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:51:09,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:51:09,410 INFO L85 PathProgramCache]: Analyzing trace with hash 960980470, now seen corresponding path program 1 times [2022-04-14 22:51:09,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:51:09,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [308101961] [2022-04-14 22:51:09,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:51:09,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:51:09,421 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:51:09,421 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1861459019] [2022-04-14 22:51:09,421 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:51:09,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:51:09,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:51:09,428 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-14 22:51:09,439 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-14 22:51:09,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:51:09,480 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-14 22:51:09,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:51:09,497 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:51:13,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {2967#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:51:13,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:51:13,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {2967#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:51:13,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2967#true} {2967#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:51:13,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {2967#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:51:13,481 INFO L290 TraceCheckUtils]: 5: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:51:13,481 INFO L272 TraceCheckUtils]: 6: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:51:13,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:51:13,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {2967#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[] {2967#true} is VALID [2022-04-14 22:51:13,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {2967#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:51:13,481 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2967#true} {2967#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] {2967#true} is VALID [2022-04-14 22:51:13,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {2967#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] {3005#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:51:13,488 INFO L290 TraceCheckUtils]: 12: Hoare triple {3005#(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] {3005#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:51:13,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {3005#(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] {3005#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:51:13,488 INFO L272 TraceCheckUtils]: 14: Hoare triple {3005#(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] {2967#true} is VALID [2022-04-14 22:51:13,488 INFO L290 TraceCheckUtils]: 15: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:51:13,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {2967#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[] {2967#true} is VALID [2022-04-14 22:51:13,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {2967#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:51:13,489 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2967#true} {3005#(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] {3005#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:51:13,490 INFO L290 TraceCheckUtils]: 19: Hoare triple {3005#(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[] {3030#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:51:13,490 INFO L290 TraceCheckUtils]: 20: Hoare triple {3030#(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] {3034#(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-14 22:51:13,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {3034#(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] {3038#(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-14 22:51:13,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {3038#(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] {3038#(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-14 22:51:13,493 INFO L290 TraceCheckUtils]: 23: Hoare triple {3038#(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] {3038#(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-14 22:51:13,493 INFO L272 TraceCheckUtils]: 24: Hoare triple {3038#(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] {2967#true} is VALID [2022-04-14 22:51:13,494 INFO L290 TraceCheckUtils]: 25: Hoare triple {2967#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] {3051#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:51:13,494 INFO L290 TraceCheckUtils]: 26: Hoare triple {3051#(= |__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[] {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:51:13,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:51:13,495 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} {3038#(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] {3062#(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-14 22:51:13,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {3062#(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[] {3062#(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-14 22:51:13,497 INFO L290 TraceCheckUtils]: 30: Hoare triple {3062#(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))} [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[] {3069#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 22:51:13,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {3069#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~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] {3073#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-14 22:51:13,502 INFO L290 TraceCheckUtils]: 32: Hoare triple {3073#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 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] {3073#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-14 22:51:13,503 INFO L290 TraceCheckUtils]: 33: Hoare triple {3073#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 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] {3073#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-14 22:51:13,514 INFO L272 TraceCheckUtils]: 34: Hoare triple {3073#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 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] {3083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:51:13,515 INFO L290 TraceCheckUtils]: 35: Hoare triple {3083#(<= 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] {3087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:51:13,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {3087#(<= 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[] {2968#false} is VALID [2022-04-14 22:51:13,516 INFO L290 TraceCheckUtils]: 37: Hoare triple {2968#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2968#false} is VALID [2022-04-14 22:51:13,516 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-14 22:51:13,516 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:52:38,988 INFO L290 TraceCheckUtils]: 37: Hoare triple {2968#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2968#false} is VALID [2022-04-14 22:52:38,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {3087#(<= 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[] {2968#false} is VALID [2022-04-14 22:52:38,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {3083#(<= 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] {3087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:52:38,990 INFO L272 TraceCheckUtils]: 34: Hoare triple {3103#(= (+ 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] {3083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:52:38,990 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#(= (+ 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] {3103#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:52:38,991 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#(= (+ 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] {3103#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:52:38,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {3113#(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] {3103#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:52:39,000 INFO L290 TraceCheckUtils]: 30: Hoare triple {3117#(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[] {3113#(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-14 22:52:39,001 INFO L290 TraceCheckUtils]: 29: Hoare triple {3117#(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[] {3117#(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-14 22:52:39,005 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} {3124#(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] {3117#(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-14 22:52:39,006 INFO L290 TraceCheckUtils]: 27: Hoare triple {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:52:39,006 INFO L290 TraceCheckUtils]: 26: Hoare triple {3134#(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[] {3055#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:52:39,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {2967#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] {3134#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 22:52:39,007 INFO L272 TraceCheckUtils]: 24: Hoare triple {3124#(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] {2967#true} is VALID [2022-04-14 22:52:39,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {3124#(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] {3124#(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-14 22:52:39,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {3124#(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] {3124#(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-14 22:52:39,088 INFO L290 TraceCheckUtils]: 21: Hoare triple {3147#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (forall ((aux_div_v_main_~y~0_35_22 Int)) (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_35_22 2)) (= (+ (* main_~x~0 4) (* (* aux_div_v_main_~y~0_35_22 main_~x~0) 4)) (* (* (+ (div main_~y~0 2) 1) main_~x~0) 2)) (<= (+ (* aux_div_v_main_~y~0_35_22 2) 1) (div main_~y~0 2)))) (= (mod main_~y~0 2) 0) (<= (div (div main_~y~0 2) 2) (div (+ (- 1) (div main_~y~0 2)) 2))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (forall ((aux_div_v_main_~y~0_35_22 Int)) (or (<= (+ (* aux_div_v_main_~y~0_35_22 2) 2) (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_35_22 2)) (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 4) (* (* aux_div_v_main_~y~0_35_22 main_~x~0) 4))))) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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] {3124#(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-14 22:52:39,090 INFO L290 TraceCheckUtils]: 20: Hoare triple {2967#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] {3147#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (forall ((aux_div_v_main_~y~0_35_22 Int)) (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_35_22 2)) (= (+ (* main_~x~0 4) (* (* aux_div_v_main_~y~0_35_22 main_~x~0) 4)) (* (* (+ (div main_~y~0 2) 1) main_~x~0) 2)) (<= (+ (* aux_div_v_main_~y~0_35_22 2) 1) (div main_~y~0 2)))) (= (mod main_~y~0 2) 0) (<= (div (div main_~y~0 2) 2) (div (+ (- 1) (div main_~y~0 2)) 2))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (forall ((aux_div_v_main_~y~0_35_22 Int)) (or (<= (+ (* aux_div_v_main_~y~0_35_22 2) 2) (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_35_22 2)) (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 4) (* (* aux_div_v_main_~y~0_35_22 main_~x~0) 4))))) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-14 22:52:39,090 INFO L290 TraceCheckUtils]: 19: Hoare triple {2967#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[] {2967#true} is VALID [2022-04-14 22:52:39,091 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2967#true} {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,091 INFO L290 TraceCheckUtils]: 17: Hoare triple {2967#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:52:39,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {2967#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[] {2967#true} is VALID [2022-04-14 22:52:39,091 INFO L290 TraceCheckUtils]: 15: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,091 INFO L272 TraceCheckUtils]: 14: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 12: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2967#true} {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {2967#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {2967#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[] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {2967#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2967#true} {2967#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:52:39,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {2967#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:52:39,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {2967#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] {2967#true} is VALID [2022-04-14 22:52:39,093 INFO L272 TraceCheckUtils]: 0: Hoare triple {2967#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2967#true} is VALID [2022-04-14 22:52:39,093 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-14 22:52:39,093 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:52:39,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [308101961] [2022-04-14 22:52:39,093 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:52:39,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1861459019] [2022-04-14 22:52:39,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1861459019] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 22:52:39,094 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 22:52:39,094 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-14 22:52:39,094 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1696938549] [2022-04-14 22:52:39,094 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 22:52:39,094 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-14 22:52:39,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:52:39,095 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 22:52:39,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 22:52:39,197 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-14 22:52:39,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:52:39,198 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-14 22:52:39,198 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-14 22:52:39,198 INFO L87 Difference]: Start difference. First operand 96 states and 105 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 22:52:44,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:52:44,350 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 22:52:44,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-14 22:52:44,351 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-14 22:52:44,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:52:44,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 22:52:44,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 73 transitions. [2022-04-14 22:52:44,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 22:52:44,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 73 transitions. [2022-04-14 22:52:44,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 73 transitions. [2022-04-14 22:52:44,706 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 22:52:44,708 INFO L225 Difference]: With dead ends: 122 [2022-04-14 22:52:44,708 INFO L226 Difference]: Without dead ends: 122 [2022-04-14 22:52:44,709 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 58 SyntacticMatches, 4 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 157 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=132, Invalid=624, Unknown=0, NotChecked=0, Total=756 [2022-04-14 22:52:44,709 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 47 mSDsluCounter, 192 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 28 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-14 22:52:44,710 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 217 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 253 Invalid, 0 Unknown, 28 Unchecked, 1.0s Time] [2022-04-14 22:52:44,710 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-14 22:52:44,715 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 120. [2022-04-14 22:52:44,715 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:52:44,716 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 22:52:44,716 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 22:52:44,716 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 22:52:44,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:52:44,720 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 22:52:44,720 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 22:52:44,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:52:44,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:52:44,721 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-14 22:52:44,721 INFO L87 Difference]: Start difference. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-14 22:52:44,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:52:44,724 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 22:52:44,724 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 22:52:44,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:52:44,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:52:44,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:52:44,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:52:44,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 22:52:44,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-14 22:52:44,727 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 38 [2022-04-14 22:52:44,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:52:44,728 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-14 22:52:44,728 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 22:52:44,728 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-14 22:52:44,729 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 22:52:44,729 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:52:44,729 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-14 22:52:44,751 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-14 22:52:44,951 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-14 22:52:44,951 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:52:44,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:52:44,952 INFO L85 PathProgramCache]: Analyzing trace with hash -831185954, now seen corresponding path program 2 times [2022-04-14 22:52:44,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:52:44,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1481615900] [2022-04-14 22:52:44,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:52:44,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:52:44,965 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:52:44,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [784615538] [2022-04-14 22:52:44,965 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 22:52:44,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:52:44,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:52:44,966 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-14 22:52:44,981 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-14 22:52:45,023 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 22:52:45,023 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 22:52:45,024 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 22:52:45,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:52:45,038 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:52:45,322 INFO L272 TraceCheckUtils]: 0: Hoare triple {3721#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3721#true} is VALID [2022-04-14 22:52:45,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {3721#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] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {3729#(<= ~counter~0 0)} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3729#(<= ~counter~0 0)} {3721#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {3729#(<= ~counter~0 0)} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {3729#(<= ~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] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,327 INFO L272 TraceCheckUtils]: 6: Hoare triple {3729#(<= ~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] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,327 INFO L290 TraceCheckUtils]: 7: Hoare triple {3729#(<= ~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] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {3729#(<= ~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[] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {3729#(<= ~counter~0 0)} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3729#(<= ~counter~0 0)} {3729#(<= ~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] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {3729#(<= ~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] {3729#(<= ~counter~0 0)} is VALID [2022-04-14 22:52:45,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {3729#(<= ~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] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {3763#(<= ~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] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,330 INFO L272 TraceCheckUtils]: 14: Hoare triple {3763#(<= ~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] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {3763#(<= ~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] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,331 INFO L290 TraceCheckUtils]: 16: Hoare triple {3763#(<= ~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[] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {3763#(<= ~counter~0 1)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,331 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3763#(<= ~counter~0 1)} {3763#(<= ~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] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,332 INFO L290 TraceCheckUtils]: 19: Hoare triple {3763#(<= ~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[] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,332 INFO L290 TraceCheckUtils]: 20: Hoare triple {3763#(<= ~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] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,332 INFO L290 TraceCheckUtils]: 21: Hoare triple {3763#(<= ~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] {3763#(<= ~counter~0 1)} is VALID [2022-04-14 22:52:45,333 INFO L290 TraceCheckUtils]: 22: Hoare triple {3763#(<= ~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] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {3794#(<= ~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] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,333 INFO L272 TraceCheckUtils]: 24: Hoare triple {3794#(<= ~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] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,334 INFO L290 TraceCheckUtils]: 25: Hoare triple {3794#(<= ~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] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,334 INFO L290 TraceCheckUtils]: 26: Hoare triple {3794#(<= ~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[] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,334 INFO L290 TraceCheckUtils]: 27: Hoare triple {3794#(<= ~counter~0 2)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,335 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3794#(<= ~counter~0 2)} {3794#(<= ~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] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,339 INFO L290 TraceCheckUtils]: 29: Hoare triple {3794#(<= ~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[] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,339 INFO L290 TraceCheckUtils]: 30: Hoare triple {3794#(<= ~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] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,340 INFO L290 TraceCheckUtils]: 31: Hoare triple {3794#(<= ~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] {3794#(<= ~counter~0 2)} is VALID [2022-04-14 22:52:45,340 INFO L290 TraceCheckUtils]: 32: Hoare triple {3794#(<= ~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] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,340 INFO L290 TraceCheckUtils]: 33: Hoare triple {3825#(<= ~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] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,341 INFO L272 TraceCheckUtils]: 34: Hoare triple {3825#(<= ~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] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {3825#(<= ~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] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {3825#(<= ~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[] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,342 INFO L290 TraceCheckUtils]: 37: Hoare triple {3825#(<= ~counter~0 3)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,342 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3825#(<= ~counter~0 3)} {3825#(<= ~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] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,342 INFO L290 TraceCheckUtils]: 39: Hoare triple {3825#(<= ~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[] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {3825#(<= ~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] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {3825#(<= ~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] {3825#(<= ~counter~0 3)} is VALID [2022-04-14 22:52:45,343 INFO L290 TraceCheckUtils]: 42: Hoare triple {3825#(<= ~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] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,344 INFO L290 TraceCheckUtils]: 43: Hoare triple {3856#(<= ~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] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,344 INFO L272 TraceCheckUtils]: 44: Hoare triple {3856#(<= ~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] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,344 INFO L290 TraceCheckUtils]: 45: Hoare triple {3856#(<= ~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] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,345 INFO L290 TraceCheckUtils]: 46: Hoare triple {3856#(<= ~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[] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,345 INFO L290 TraceCheckUtils]: 47: Hoare triple {3856#(<= ~counter~0 4)} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,346 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3856#(<= ~counter~0 4)} {3856#(<= ~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] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,346 INFO L290 TraceCheckUtils]: 49: Hoare triple {3856#(<= ~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[] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,346 INFO L290 TraceCheckUtils]: 50: Hoare triple {3856#(<= ~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] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,347 INFO L290 TraceCheckUtils]: 51: Hoare triple {3856#(<= ~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] {3856#(<= ~counter~0 4)} is VALID [2022-04-14 22:52:45,347 INFO L290 TraceCheckUtils]: 52: Hoare triple {3856#(<= ~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] {3887#(<= |main_#t~post6| 4)} is VALID [2022-04-14 22:52:45,347 INFO L290 TraceCheckUtils]: 53: Hoare triple {3887#(<= |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] {3722#false} is VALID [2022-04-14 22:52:45,347 INFO L272 TraceCheckUtils]: 54: Hoare triple {3722#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] {3722#false} is VALID [2022-04-14 22:52:45,347 INFO L290 TraceCheckUtils]: 55: Hoare triple {3722#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] {3722#false} is VALID [2022-04-14 22:52:45,348 INFO L290 TraceCheckUtils]: 56: Hoare triple {3722#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[] {3722#false} is VALID [2022-04-14 22:52:45,348 INFO L290 TraceCheckUtils]: 57: Hoare triple {3722#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#false} is VALID [2022-04-14 22:52:45,348 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-14 22:52:45,348 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:52:45,632 INFO L290 TraceCheckUtils]: 57: Hoare triple {3722#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3722#false} is VALID [2022-04-14 22:52:45,632 INFO L290 TraceCheckUtils]: 56: Hoare triple {3722#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[] {3722#false} is VALID [2022-04-14 22:52:45,632 INFO L290 TraceCheckUtils]: 55: Hoare triple {3722#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] {3722#false} is VALID [2022-04-14 22:52:45,632 INFO L272 TraceCheckUtils]: 54: Hoare triple {3722#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] {3722#false} is VALID [2022-04-14 22:52:45,633 INFO L290 TraceCheckUtils]: 53: Hoare triple {3915#(< |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] {3722#false} is VALID [2022-04-14 22:52:45,633 INFO L290 TraceCheckUtils]: 52: Hoare triple {3919#(< ~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] {3915#(< |main_#t~post6| 50)} is VALID [2022-04-14 22:52:45,634 INFO L290 TraceCheckUtils]: 51: Hoare triple {3919#(< ~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] {3919#(< ~counter~0 50)} is VALID [2022-04-14 22:52:45,634 INFO L290 TraceCheckUtils]: 50: Hoare triple {3919#(< ~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] {3919#(< ~counter~0 50)} is VALID [2022-04-14 22:52:45,634 INFO L290 TraceCheckUtils]: 49: Hoare triple {3919#(< ~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[] {3919#(< ~counter~0 50)} is VALID [2022-04-14 22:52:45,635 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3721#true} {3919#(< ~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] {3919#(< ~counter~0 50)} is VALID [2022-04-14 22:52:45,637 INFO L290 TraceCheckUtils]: 47: Hoare triple {3721#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3721#true} is VALID [2022-04-14 22:52:45,637 INFO L290 TraceCheckUtils]: 46: Hoare triple {3721#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[] {3721#true} is VALID [2022-04-14 22:52:45,637 INFO L290 TraceCheckUtils]: 45: Hoare triple {3721#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] {3721#true} is VALID [2022-04-14 22:52:45,637 INFO L272 TraceCheckUtils]: 44: Hoare triple {3919#(< ~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] {3721#true} is VALID [2022-04-14 22:52:45,637 INFO L290 TraceCheckUtils]: 43: Hoare triple {3919#(< ~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] {3919#(< ~counter~0 50)} is VALID [2022-04-14 22:52:45,638 INFO L290 TraceCheckUtils]: 42: Hoare triple {3950#(< ~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] {3919#(< ~counter~0 50)} is VALID [2022-04-14 22:52:45,638 INFO L290 TraceCheckUtils]: 41: Hoare triple {3950#(< ~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] {3950#(< ~counter~0 49)} is VALID [2022-04-14 22:52:45,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {3950#(< ~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] {3950#(< ~counter~0 49)} is VALID [2022-04-14 22:52:45,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {3950#(< ~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[] {3950#(< ~counter~0 49)} is VALID [2022-04-14 22:52:45,640 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3721#true} {3950#(< ~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] {3950#(< ~counter~0 49)} is VALID [2022-04-14 22:52:45,640 INFO L290 TraceCheckUtils]: 37: Hoare triple {3721#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3721#true} is VALID [2022-04-14 22:52:45,640 INFO L290 TraceCheckUtils]: 36: Hoare triple {3721#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[] {3721#true} is VALID [2022-04-14 22:52:45,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {3721#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] {3721#true} is VALID [2022-04-14 22:52:45,640 INFO L272 TraceCheckUtils]: 34: Hoare triple {3950#(< ~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] {3721#true} is VALID [2022-04-14 22:52:45,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {3950#(< ~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] {3950#(< ~counter~0 49)} is VALID [2022-04-14 22:52:45,641 INFO L290 TraceCheckUtils]: 32: Hoare triple {3981#(< ~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] {3950#(< ~counter~0 49)} is VALID [2022-04-14 22:52:45,642 INFO L290 TraceCheckUtils]: 31: Hoare triple {3981#(< ~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] {3981#(< ~counter~0 48)} is VALID [2022-04-14 22:52:45,642 INFO L290 TraceCheckUtils]: 30: Hoare triple {3981#(< ~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] {3981#(< ~counter~0 48)} is VALID [2022-04-14 22:52:45,643 INFO L290 TraceCheckUtils]: 29: Hoare triple {3981#(< ~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[] {3981#(< ~counter~0 48)} is VALID [2022-04-14 22:52:45,643 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3721#true} {3981#(< ~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] {3981#(< ~counter~0 48)} is VALID [2022-04-14 22:52:45,643 INFO L290 TraceCheckUtils]: 27: Hoare triple {3721#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3721#true} is VALID [2022-04-14 22:52:45,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {3721#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[] {3721#true} is VALID [2022-04-14 22:52:45,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {3721#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] {3721#true} is VALID [2022-04-14 22:52:45,644 INFO L272 TraceCheckUtils]: 24: Hoare triple {3981#(< ~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] {3721#true} is VALID [2022-04-14 22:52:45,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {3981#(< ~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] {3981#(< ~counter~0 48)} is VALID [2022-04-14 22:52:45,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {4012#(< ~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] {3981#(< ~counter~0 48)} is VALID [2022-04-14 22:52:45,646 INFO L290 TraceCheckUtils]: 21: Hoare triple {4012#(< ~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] {4012#(< ~counter~0 47)} is VALID [2022-04-14 22:52:45,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {4012#(< ~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] {4012#(< ~counter~0 47)} is VALID [2022-04-14 22:52:45,647 INFO L290 TraceCheckUtils]: 19: Hoare triple {4012#(< ~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[] {4012#(< ~counter~0 47)} is VALID [2022-04-14 22:52:45,648 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3721#true} {4012#(< ~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] {4012#(< ~counter~0 47)} is VALID [2022-04-14 22:52:45,648 INFO L290 TraceCheckUtils]: 17: Hoare triple {3721#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3721#true} is VALID [2022-04-14 22:52:45,648 INFO L290 TraceCheckUtils]: 16: Hoare triple {3721#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[] {3721#true} is VALID [2022-04-14 22:52:45,648 INFO L290 TraceCheckUtils]: 15: Hoare triple {3721#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] {3721#true} is VALID [2022-04-14 22:52:45,648 INFO L272 TraceCheckUtils]: 14: Hoare triple {4012#(< ~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] {3721#true} is VALID [2022-04-14 22:52:45,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {4012#(< ~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] {4012#(< ~counter~0 47)} is VALID [2022-04-14 22:52:45,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {4043#(< ~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] {4012#(< ~counter~0 47)} is VALID [2022-04-14 22:52:45,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {4043#(< ~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] {4043#(< ~counter~0 46)} is VALID [2022-04-14 22:52:45,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3721#true} {4043#(< ~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] {4043#(< ~counter~0 46)} is VALID [2022-04-14 22:52:45,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {3721#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3721#true} is VALID [2022-04-14 22:52:45,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {3721#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[] {3721#true} is VALID [2022-04-14 22:52:45,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {3721#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] {3721#true} is VALID [2022-04-14 22:52:45,656 INFO L272 TraceCheckUtils]: 6: Hoare triple {4043#(< ~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] {3721#true} is VALID [2022-04-14 22:52:45,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {4043#(< ~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] {4043#(< ~counter~0 46)} is VALID [2022-04-14 22:52:45,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {4043#(< ~counter~0 46)} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4043#(< ~counter~0 46)} is VALID [2022-04-14 22:52:45,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4043#(< ~counter~0 46)} {3721#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4043#(< ~counter~0 46)} is VALID [2022-04-14 22:52:45,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {4043#(< ~counter~0 46)} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4043#(< ~counter~0 46)} is VALID [2022-04-14 22:52:45,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {3721#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] {4043#(< ~counter~0 46)} is VALID [2022-04-14 22:52:45,658 INFO L272 TraceCheckUtils]: 0: Hoare triple {3721#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3721#true} is VALID [2022-04-14 22:52:45,658 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-14 22:52:45,658 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:52:45,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1481615900] [2022-04-14 22:52:45,658 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:52:45,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [784615538] [2022-04-14 22:52:45,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [784615538] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 22:52:45,658 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 22:52:45,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-14 22:52:45,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [342629918] [2022-04-14 22:52:45,659 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 22:52:45,659 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-14 22:52:45,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:52:45,660 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-14 22:52:45,726 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-14 22:52:45,727 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 22:52:45,727 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:52:45,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 22:52:45,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-14 22:52:45,728 INFO L87 Difference]: Start difference. First operand 120 states and 132 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-14 22:52:46,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:52:46,101 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-14 22:52:46,101 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-14 22:52:46,101 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-14 22:52:46,102 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:52:46,102 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-14 22:52:46,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 144 transitions. [2022-04-14 22:52:46,109 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-14 22:52:46,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 144 transitions. [2022-04-14 22:52:46,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 144 transitions. [2022-04-14 22:52:46,209 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-14 22:52:46,218 INFO L225 Difference]: With dead ends: 293 [2022-04-14 22:52:46,219 INFO L226 Difference]: Without dead ends: 293 [2022-04-14 22:52:46,219 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 103 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-14 22:52:46,220 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 113 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 113 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 92 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 22:52:46,220 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [113 Valid, 199 Invalid, 92 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 22:52:46,221 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 293 states. [2022-04-14 22:52:46,243 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 293 to 283. [2022-04-14 22:52:46,243 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:52:46,244 INFO L82 GeneralOperation]: Start isEquivalent. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:52:46,244 INFO L74 IsIncluded]: Start isIncluded. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:52:46,250 INFO L87 Difference]: Start difference. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:52:46,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:52:46,256 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-14 22:52:46,256 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-14 22:52:46,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:52:46,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:52:46,258 INFO L74 IsIncluded]: Start isIncluded. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-14 22:52:46,258 INFO L87 Difference]: Start difference. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-14 22:52:46,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:52:46,265 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-14 22:52:46,265 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-14 22:52:46,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:52:46,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:52:46,266 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:52:46,266 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:52:46,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:52:46,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2022-04-14 22:52:46,273 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 58 [2022-04-14 22:52:46,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:52:46,273 INFO L478 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2022-04-14 22:52:46,274 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-14 22:52:46,274 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2022-04-14 22:52:46,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 22:52:46,274 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:52:46,275 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 22:52:46,299 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-14 22:52:46,495 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-14 22:52:46,495 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:52:46,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:52:46,495 INFO L85 PathProgramCache]: Analyzing trace with hash -84345705, now seen corresponding path program 2 times [2022-04-14 22:52:46,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:52:46,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [496902313] [2022-04-14 22:52:46,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:52:46,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:52:46,507 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:52:46,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [417169691] [2022-04-14 22:52:46,508 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 22:52:46,508 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:52:46,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:52:46,509 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-14 22:52:46,511 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-14 22:52:46,577 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 22:52:46,578 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 22:52:46,579 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 60 conjunts are in the unsatisfiable core [2022-04-14 22:52:46,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:52:46,631 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:54:21,863 INFO L272 TraceCheckUtils]: 0: Hoare triple {5262#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5262#true} is VALID [2022-04-14 22:54:21,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {5262#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] {5262#true} is VALID [2022-04-14 22:54:21,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {5262#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5262#true} is VALID [2022-04-14 22:54:21,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5262#true} {5262#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5262#true} is VALID [2022-04-14 22:54:21,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {5262#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5262#true} is VALID [2022-04-14 22:54:21,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {5262#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] {5262#true} is VALID [2022-04-14 22:54:21,864 INFO L272 TraceCheckUtils]: 6: Hoare triple {5262#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] {5262#true} is VALID [2022-04-14 22:54:21,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {5262#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] {5288#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 22:54:21,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {5288#(= 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[] {5292#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 22:54:21,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {5292#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5292#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 22:54:21,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5292#(not (= |assume_abort_if_not_#in~cond| 0))} {5262#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] {5299#(<= 1 main_~b~0)} is VALID [2022-04-14 22:54:21,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {5299#(<= 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] {5303#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:54:21,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {5303#(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] {5303#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:54:21,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {5303#(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] {5303#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:54:21,866 INFO L272 TraceCheckUtils]: 14: Hoare triple {5303#(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] {5262#true} is VALID [2022-04-14 22:54:21,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {5262#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] {5316#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:54:21,867 INFO L290 TraceCheckUtils]: 16: Hoare triple {5316#(= |__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[] {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:54:21,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:54:21,868 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} {5303#(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] {5327#(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-14 22:54:21,868 INFO L290 TraceCheckUtils]: 19: Hoare triple {5327#(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[] {5327#(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-14 22:54:21,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {5327#(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))} [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] {5334#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 22:54:21,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {5334#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~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] {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 22:54:21,871 INFO L290 TraceCheckUtils]: 22: Hoare triple {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 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] {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 22:54:21,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 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] {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 22:54:21,871 INFO L272 TraceCheckUtils]: 24: Hoare triple {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 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] {5262#true} is VALID [2022-04-14 22:54:21,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {5262#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] {5262#true} is VALID [2022-04-14 22:54:21,872 INFO L290 TraceCheckUtils]: 26: Hoare triple {5262#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[] {5262#true} is VALID [2022-04-14 22:54:21,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {5262#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5262#true} is VALID [2022-04-14 22:54:21,872 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5262#true} {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 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] {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 22:54:21,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {5338#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 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[] {5363#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 22:54:21,874 INFO L290 TraceCheckUtils]: 30: Hoare triple {5363#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 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] {5367#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,876 INFO L290 TraceCheckUtils]: 31: Hoare triple {5367#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,876 INFO L290 TraceCheckUtils]: 32: Hoare triple {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 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] {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,877 INFO L290 TraceCheckUtils]: 33: Hoare triple {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,877 INFO L272 TraceCheckUtils]: 34: Hoare triple {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5262#true} is VALID [2022-04-14 22:54:21,877 INFO L290 TraceCheckUtils]: 35: Hoare triple {5262#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] {5316#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:54:21,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {5316#(= |__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[] {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:54:21,878 INFO L290 TraceCheckUtils]: 37: Hoare triple {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:54:21,878 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,879 INFO L290 TraceCheckUtils]: 39: Hoare triple {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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[] {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,880 INFO L290 TraceCheckUtils]: 40: Hoare triple {5371#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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[] {5399#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,881 INFO L290 TraceCheckUtils]: 41: Hoare triple {5399#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,882 INFO L290 TraceCheckUtils]: 42: Hoare triple {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 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] {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,882 INFO L290 TraceCheckUtils]: 43: Hoare triple {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,882 INFO L272 TraceCheckUtils]: 44: Hoare triple {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5262#true} is VALID [2022-04-14 22:54:21,883 INFO L290 TraceCheckUtils]: 45: Hoare triple {5262#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] {5316#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:54:21,883 INFO L290 TraceCheckUtils]: 46: Hoare triple {5316#(= |__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[] {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:54:21,883 INFO L290 TraceCheckUtils]: 47: Hoare triple {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:54:21,884 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5320#(not (= |__VERIFIER_assert_#in~cond| 0))} {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,884 INFO L290 TraceCheckUtils]: 49: Hoare triple {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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[] {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,885 INFO L290 TraceCheckUtils]: 50: Hoare triple {5403#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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[] {5431#(and (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,887 INFO L290 TraceCheckUtils]: 51: Hoare triple {5431#(and (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 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] {5435#(and (= main_~y~0 (div (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 16) main_~x~0) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (not (= (mod (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,887 INFO L290 TraceCheckUtils]: 52: Hoare triple {5435#(and (= main_~y~0 (div (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 16) main_~x~0) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (not (= (mod (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2) 1)) (<= 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] {5435#(and (= main_~y~0 (div (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 16) main_~x~0) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (not (= (mod (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:21,888 INFO L290 TraceCheckUtils]: 53: Hoare triple {5435#(and (= main_~y~0 (div (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 16) main_~x~0) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (not (= (mod (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2) 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] {5435#(and (= main_~y~0 (div (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 16) main_~x~0) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (not (= (mod (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 22:54:23,890 WARN L272 TraceCheckUtils]: 54: Hoare triple {5435#(and (= main_~y~0 (div (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2)) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 16) main_~x~0) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (not (= (mod (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 2) 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] {5445#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-14 22:54:23,891 INFO L290 TraceCheckUtils]: 55: Hoare triple {5445#(<= 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] {5449#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:54:23,891 INFO L290 TraceCheckUtils]: 56: Hoare triple {5449#(<= 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[] {5263#false} is VALID [2022-04-14 22:54:23,891 INFO L290 TraceCheckUtils]: 57: Hoare triple {5263#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5263#false} is VALID [2022-04-14 22:54:23,892 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 11 proven. 54 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-14 22:54:23,892 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:57:35,248 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:57:35,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [496902313] [2022-04-14 22:57:35,248 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:57:35,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [417169691] [2022-04-14 22:57:35,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [417169691] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-14 22:57:35,249 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-14 22:57:35,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20] total 20 [2022-04-14 22:57:35,249 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075402871] [2022-04-14 22:57:35,249 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-14 22:57:35,249 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 58 [2022-04-14 22:57:35,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:57:35,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 22:57:36,040 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 22:57:36,040 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-14 22:57:36,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:57:36,041 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-14 22:57:36,041 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=124, Invalid=571, Unknown=7, NotChecked=0, Total=702 [2022-04-14 22:57:36,041 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand has 20 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 22:57:44,187 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.41s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:57:46,339 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.62s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:57:48,853 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-14 22:57:51,808 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-14 22:57:53,812 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-14 22:57:57,250 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:57:59,652 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:58:01,632 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:58:04,735 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-14 22:58:07,086 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:58:10,127 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.88s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:58:13,736 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.83s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 22:58:14,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:58:14,375 INFO L93 Difference]: Finished difference Result 310 states and 343 transitions. [2022-04-14 22:58:14,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-14 22:58:14,376 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 58 [2022-04-14 22:58:14,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:58:14,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 22:58:14,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 73 transitions. [2022-04-14 22:58:14,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 22:58:14,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 73 transitions. [2022-04-14 22:58:14,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 73 transitions. [2022-04-14 22:58:15,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 22:58:15,645 INFO L225 Difference]: With dead ends: 310 [2022-04-14 22:58:15,645 INFO L226 Difference]: Without dead ends: 310 [2022-04-14 22:58:15,645 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 224 ImplicationChecksByTransitivity, 23.2s TimeCoverageRelationStatistics Valid=141, Invalid=722, Unknown=7, NotChecked=0, Total=870 [2022-04-14 22:58:15,646 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 35 mSDsluCounter, 229 mSDsCounter, 0 mSdLazyCounter, 521 mSolverCounterSat, 19 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 32.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 544 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 521 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 32.0s IncrementalHoareTripleChecker+Time [2022-04-14 22:58:15,646 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 257 Invalid, 544 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 521 Invalid, 4 Unknown, 0 Unchecked, 32.0s Time] [2022-04-14 22:58:15,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 310 states. [2022-04-14 22:58:15,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 310 to 283. [2022-04-14 22:58:15,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:58:15,667 INFO L82 GeneralOperation]: Start isEquivalent. First operand 310 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:58:15,668 INFO L74 IsIncluded]: Start isIncluded. First operand 310 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:58:15,668 INFO L87 Difference]: Start difference. First operand 310 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:58:15,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:58:15,677 INFO L93 Difference]: Finished difference Result 310 states and 343 transitions. [2022-04-14 22:58:15,677 INFO L276 IsEmpty]: Start isEmpty. Operand 310 states and 343 transitions. [2022-04-14 22:58:15,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:58:15,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:58:15,678 INFO L74 IsIncluded]: Start isIncluded. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 310 states. [2022-04-14 22:58:15,679 INFO L87 Difference]: Start difference. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 310 states. [2022-04-14 22:58:15,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:58:15,689 INFO L93 Difference]: Finished difference Result 310 states and 343 transitions. [2022-04-14 22:58:15,689 INFO L276 IsEmpty]: Start isEmpty. Operand 310 states and 343 transitions. [2022-04-14 22:58:15,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:58:15,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:58:15,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:58:15,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:58:15,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 22:58:15,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2022-04-14 22:58:15,697 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 58 [2022-04-14 22:58:15,697 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:58:15,698 INFO L478 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2022-04-14 22:58:15,698 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.9) internal successors, (38), 18 states have internal predecessors, (38), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 22:58:15,698 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2022-04-14 22:58:15,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 22:58:15,699 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:58:15,699 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-14 22:58:15,726 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-14 22:58:15,900 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-14 22:58:15,900 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:58:15,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:58:15,901 INFO L85 PathProgramCache]: Analyzing trace with hash 1548458294, now seen corresponding path program 3 times [2022-04-14 22:58:15,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:58:15,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1406539314] [2022-04-14 22:58:15,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:58:15,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:58:15,911 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:58:15,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [528963203] [2022-04-14 22:58:15,912 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-14 22:58:15,912 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:58:15,912 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:58:15,913 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 22:58:15,916 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-14 22:58:15,959 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-14 22:58:15,959 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 22:58:15,960 INFO L263 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-14 22:58:15,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:58:15,978 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 22:58:27,466 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 22:58:29,716 INFO L272 TraceCheckUtils]: 0: Hoare triple {6741#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {6741#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6741#true} {6741#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {6741#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L272 TraceCheckUtils]: 6: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {6741#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6741#true} {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L272 TraceCheckUtils]: 14: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 16: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 17: Hoare triple {6741#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6741#true} {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L290 TraceCheckUtils]: 20: Hoare triple {6741#true} [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[] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L290 TraceCheckUtils]: 21: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L290 TraceCheckUtils]: 22: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L290 TraceCheckUtils]: 23: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L272 TraceCheckUtils]: 24: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L290 TraceCheckUtils]: 25: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L290 TraceCheckUtils]: 26: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {6741#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,718 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6741#true} {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {6741#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[] {6833#(not (= main_~y~0 0))} is VALID [2022-04-14 22:58:29,720 INFO L290 TraceCheckUtils]: 30: Hoare triple {6833#(not (= 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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,721 INFO L290 TraceCheckUtils]: 31: Hoare triple {6837#(< 0 (+ 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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,721 INFO L290 TraceCheckUtils]: 32: Hoare triple {6837#(< 0 (+ main_~y~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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,721 INFO L290 TraceCheckUtils]: 33: Hoare triple {6837#(< 0 (+ 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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,721 INFO L272 TraceCheckUtils]: 34: Hoare triple {6837#(< 0 (+ 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] {6741#true} is VALID [2022-04-14 22:58:29,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:58:29,722 INFO L290 TraceCheckUtils]: 36: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:58:29,722 INFO L290 TraceCheckUtils]: 37: Hoare triple {6741#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:58:29,722 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6741#true} {6837#(< 0 (+ 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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,723 INFO L290 TraceCheckUtils]: 39: Hoare triple {6837#(< 0 (+ 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[] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,723 INFO L290 TraceCheckUtils]: 40: Hoare triple {6837#(< 0 (+ 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[] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,724 INFO L290 TraceCheckUtils]: 41: Hoare triple {6837#(< 0 (+ 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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,724 INFO L290 TraceCheckUtils]: 42: Hoare triple {6837#(< 0 (+ main_~y~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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,725 INFO L290 TraceCheckUtils]: 43: Hoare triple {6837#(< 0 (+ 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] {6837#(< 0 (+ main_~y~0 1))} is VALID [2022-04-14 22:58:29,725 INFO L272 TraceCheckUtils]: 44: Hoare triple {6837#(< 0 (+ 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] {6741#true} is VALID [2022-04-14 22:58:29,725 INFO L290 TraceCheckUtils]: 45: Hoare triple {6741#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] {6883#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:58:29,726 INFO L290 TraceCheckUtils]: 46: Hoare triple {6883#(= |__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[] {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:58:29,726 INFO L290 TraceCheckUtils]: 47: Hoare triple {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:58:29,727 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} {6837#(< 0 (+ 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] {6894#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-14 22:58:29,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {6894#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ 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[] {6894#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-14 22:58:29,728 INFO L290 TraceCheckUtils]: 50: Hoare triple {6894#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ 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[] {6901#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-14 22:58:29,736 INFO L290 TraceCheckUtils]: 51: Hoare triple {6901#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ 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] {6905#(and (exists ((aux_div_v_main_~y~0_62_22 Int) (aux_mod_v_main_~y~0_62_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_62_22) (< 0 (+ (* aux_div_v_main_~y~0_62_22 2) aux_mod_v_main_~y~0_62_22 1)) (not (= aux_mod_v_main_~y~0_62_22 1)) (< aux_mod_v_main_~y~0_62_22 2) (= (div (+ (* aux_div_v_main_~y~0_62_22 2) aux_mod_v_main_~y~0_62_22) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (div main_~x~0 2) (+ (* aux_div_v_main_~y~0_62_22 2) aux_mod_v_main_~y~0_62_22)))))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-14 22:58:29,998 INFO L290 TraceCheckUtils]: 52: Hoare triple {6905#(and (exists ((aux_div_v_main_~y~0_62_22 Int) (aux_mod_v_main_~y~0_62_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_62_22) (< 0 (+ (* aux_div_v_main_~y~0_62_22 2) aux_mod_v_main_~y~0_62_22 1)) (not (= aux_mod_v_main_~y~0_62_22 1)) (< aux_mod_v_main_~y~0_62_22 2) (= (div (+ (* aux_div_v_main_~y~0_62_22 2) aux_mod_v_main_~y~0_62_22) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (div main_~x~0 2) (+ (* aux_div_v_main_~y~0_62_22 2) aux_mod_v_main_~y~0_62_22)))))) (= (mod main_~x~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] {6909#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-14 22:58:29,999 INFO L290 TraceCheckUtils]: 53: Hoare triple {6909#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (< 0 (+ main_~y~0 1)) (= (mod main_~x~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] {6909#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-14 22:58:30,001 INFO L272 TraceCheckUtils]: 54: Hoare triple {6909#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (< 0 (+ main_~y~0 1)) (= (mod main_~x~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] {6916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:58:30,001 INFO L290 TraceCheckUtils]: 55: Hoare triple {6916#(<= 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] {6920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:58:30,001 INFO L290 TraceCheckUtils]: 56: Hoare triple {6920#(<= 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[] {6742#false} is VALID [2022-04-14 22:58:30,001 INFO L290 TraceCheckUtils]: 57: Hoare triple {6742#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6742#false} is VALID [2022-04-14 22:58:30,002 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 54 proven. 3 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-14 22:58:30,002 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 22:59:05,353 INFO L290 TraceCheckUtils]: 57: Hoare triple {6742#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6742#false} is VALID [2022-04-14 22:59:05,353 INFO L290 TraceCheckUtils]: 56: Hoare triple {6920#(<= 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[] {6742#false} is VALID [2022-04-14 22:59:05,354 INFO L290 TraceCheckUtils]: 55: Hoare triple {6916#(<= 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] {6920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 22:59:05,354 INFO L272 TraceCheckUtils]: 54: Hoare triple {6936#(= (+ 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] {6916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 22:59:05,355 INFO L290 TraceCheckUtils]: 53: Hoare triple {6936#(= (+ 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] {6936#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:59:05,355 INFO L290 TraceCheckUtils]: 52: Hoare triple {6936#(= (+ 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] {6936#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:59:05,360 INFO L290 TraceCheckUtils]: 51: Hoare triple {6946#(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] {6936#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 22:59:05,367 INFO L290 TraceCheckUtils]: 50: Hoare triple {6950#(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[] {6946#(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-14 22:59:05,367 INFO L290 TraceCheckUtils]: 49: Hoare triple {6950#(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[] {6950#(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-14 22:59:05,370 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} {6957#(or (<= 0 main_~y~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] {6950#(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-14 22:59:05,371 INFO L290 TraceCheckUtils]: 47: Hoare triple {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:59:05,371 INFO L290 TraceCheckUtils]: 46: Hoare triple {6967#(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[] {6887#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 22:59:05,371 INFO L290 TraceCheckUtils]: 45: Hoare triple {6741#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] {6967#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 22:59:05,371 INFO L272 TraceCheckUtils]: 44: Hoare triple {6957#(or (<= 0 main_~y~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] {6741#true} is VALID [2022-04-14 22:59:05,372 INFO L290 TraceCheckUtils]: 43: Hoare triple {6957#(or (<= 0 main_~y~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] {6957#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 22:59:05,372 INFO L290 TraceCheckUtils]: 42: Hoare triple {6957#(or (<= 0 main_~y~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] {6957#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 22:59:05,373 INFO L290 TraceCheckUtils]: 41: Hoare triple {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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] {6957#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 22:59:05,374 INFO L290 TraceCheckUtils]: 40: Hoare triple {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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[] {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-14 22:59:05,374 INFO L290 TraceCheckUtils]: 39: Hoare triple {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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[] {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-14 22:59:05,375 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6741#true} {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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] {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-14 22:59:05,375 INFO L290 TraceCheckUtils]: 37: Hoare triple {6741#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,375 INFO L290 TraceCheckUtils]: 36: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:59:05,375 INFO L290 TraceCheckUtils]: 35: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,375 INFO L272 TraceCheckUtils]: 34: Hoare triple {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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] {6741#true} is VALID [2022-04-14 22:59:05,375 INFO L290 TraceCheckUtils]: 33: Hoare triple {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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] {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-14 22:59:05,376 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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] {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-14 22:59:05,377 INFO L290 TraceCheckUtils]: 31: Hoare triple {7011#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ 2 (div (+ (- 2) (div (+ 4 (* (- 1) (div main_~y~0 2))) (- 2))) 2)))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 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] {6980#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-14 22:59:05,379 INFO L290 TraceCheckUtils]: 30: Hoare triple {6741#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] {7011#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ 2 (div (+ (- 2) (div (+ 4 (* (- 1) (div main_~y~0 2))) (- 2))) 2)))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 29: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6741#true} {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 27: Hoare triple {6741#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 26: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 25: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L272 TraceCheckUtils]: 24: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 23: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 22: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 21: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {6741#true} [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[] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6741#true} {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {6741#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L290 TraceCheckUtils]: 15: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,380 INFO L272 TraceCheckUtils]: 14: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 12: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6741#true} {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {6741#true} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {6741#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[] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {6741#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6741#true} {6741#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {6741#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {6741#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] {6741#true} is VALID [2022-04-14 22:59:05,381 INFO L272 TraceCheckUtils]: 0: Hoare triple {6741#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6741#true} is VALID [2022-04-14 22:59:05,382 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 46 proven. 14 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-14 22:59:05,382 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 22:59:05,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1406539314] [2022-04-14 22:59:05,382 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 22:59:05,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [528963203] [2022-04-14 22:59:05,382 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [528963203] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 22:59:05,382 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 22:59:05,382 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-14 22:59:05,382 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [117474168] [2022-04-14 22:59:05,382 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 22:59:05,383 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.5789473684210527) internal successors, (49), 18 states have internal predecessors, (49), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 58 [2022-04-14 22:59:05,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 22:59:05,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.5789473684210527) internal successors, (49), 18 states have internal predecessors, (49), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 22:59:07,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 22:59:07,447 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-14 22:59:07,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 22:59:07,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-14 22:59:07,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=268, Unknown=2, NotChecked=0, Total=342 [2022-04-14 22:59:07,448 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand has 19 states, 19 states have (on average 2.5789473684210527) internal successors, (49), 18 states have internal predecessors, (49), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 22:59:14,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:59:14,448 INFO L93 Difference]: Finished difference Result 350 states and 387 transitions. [2022-04-14 22:59:14,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-14 22:59:14,449 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.5789473684210527) internal successors, (49), 18 states have internal predecessors, (49), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 58 [2022-04-14 22:59:14,449 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 22:59:14,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.5789473684210527) internal successors, (49), 18 states have internal predecessors, (49), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 22:59:14,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 46 transitions. [2022-04-14 22:59:14,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.5789473684210527) internal successors, (49), 18 states have internal predecessors, (49), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 22:59:14,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 46 transitions. [2022-04-14 22:59:14,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 46 transitions. [2022-04-14 22:59:15,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 22:59:15,702 INFO L225 Difference]: With dead ends: 350 [2022-04-14 22:59:15,702 INFO L226 Difference]: Without dead ends: 350 [2022-04-14 22:59:15,702 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 97 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 116 ImplicationChecksByTransitivity, 10.6s TimeCoverageRelationStatistics Valid=118, Invalid=432, Unknown=2, NotChecked=0, Total=552 [2022-04-14 22:59:15,703 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 23 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 16 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-14 22:59:15,703 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 222 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 174 Invalid, 0 Unknown, 16 Unchecked, 0.3s Time] [2022-04-14 22:59:15,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-14 22:59:15,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 210. [2022-04-14 22:59:15,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 22:59:15,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 350 states. Second operand has 210 states, 165 states have (on average 1.1636363636363636) internal successors, (192), 166 states have internal predecessors, (192), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-14 22:59:15,713 INFO L74 IsIncluded]: Start isIncluded. First operand 350 states. Second operand has 210 states, 165 states have (on average 1.1636363636363636) internal successors, (192), 166 states have internal predecessors, (192), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-14 22:59:15,713 INFO L87 Difference]: Start difference. First operand 350 states. Second operand has 210 states, 165 states have (on average 1.1636363636363636) internal successors, (192), 166 states have internal predecessors, (192), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-14 22:59:15,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:59:15,722 INFO L93 Difference]: Finished difference Result 350 states and 387 transitions. [2022-04-14 22:59:15,722 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 387 transitions. [2022-04-14 22:59:15,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:59:15,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:59:15,723 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 165 states have (on average 1.1636363636363636) internal successors, (192), 166 states have internal predecessors, (192), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 350 states. [2022-04-14 22:59:15,724 INFO L87 Difference]: Start difference. First operand has 210 states, 165 states have (on average 1.1636363636363636) internal successors, (192), 166 states have internal predecessors, (192), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 350 states. [2022-04-14 22:59:15,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 22:59:15,732 INFO L93 Difference]: Finished difference Result 350 states and 387 transitions. [2022-04-14 22:59:15,732 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 387 transitions. [2022-04-14 22:59:15,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 22:59:15,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 22:59:15,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 22:59:15,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 22:59:15,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 165 states have (on average 1.1636363636363636) internal successors, (192), 166 states have internal predecessors, (192), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-14 22:59:15,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 236 transitions. [2022-04-14 22:59:15,738 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 236 transitions. Word has length 58 [2022-04-14 22:59:15,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 22:59:15,739 INFO L478 AbstractCegarLoop]: Abstraction has 210 states and 236 transitions. [2022-04-14 22:59:15,739 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.5789473684210527) internal successors, (49), 18 states have internal predecessors, (49), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 22:59:15,739 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 236 transitions. [2022-04-14 22:59:15,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 22:59:15,739 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 22:59:15,739 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 22:59:15,758 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-14 22:59:15,951 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-14 22:59:15,951 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 22:59:15,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 22:59:15,952 INFO L85 PathProgramCache]: Analyzing trace with hash 1293721749, now seen corresponding path program 2 times [2022-04-14 22:59:15,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 22:59:15,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [413990428] [2022-04-14 22:59:15,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 22:59:15,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 22:59:15,969 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 22:59:15,970 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [724098405] [2022-04-14 22:59:15,970 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 22:59:15,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 22:59:15,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 22:59:15,971 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 22:59:15,979 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-14 22:59:16,020 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 22:59:16,020 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 22:59:16,021 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-14 22:59:16,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 22:59:16,039 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 23:00:30,500 WARN L232 SmtUtils]: Spent 5.69s on a formula simplification. DAG size of input: 15 DAG size of output: 1 (called from [L1074] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-14 23:02:32,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {8379#true} [68] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8379#true} is VALID [2022-04-14 23:02:32,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {8379#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] {8379#true} is VALID [2022-04-14 23:02:32,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {8379#true} [73] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8379#true} is VALID [2022-04-14 23:02:32,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8379#true} {8379#true} [99] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8379#true} is VALID [2022-04-14 23:02:32,465 INFO L272 TraceCheckUtils]: 4: Hoare triple {8379#true} [69] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8379#true} is VALID [2022-04-14 23:02:32,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {8379#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] {8379#true} is VALID [2022-04-14 23:02:32,466 INFO L272 TraceCheckUtils]: 6: Hoare triple {8379#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] {8379#true} is VALID [2022-04-14 23:02:32,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {8379#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] {8405#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 23:02:32,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {8405#(= 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[] {8409#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 23:02:32,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {8409#(not (= |assume_abort_if_not_#in~cond| 0))} [84] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8409#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 23:02:32,468 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8409#(not (= |assume_abort_if_not_#in~cond| 0))} {8379#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] {8416#(<= 1 main_~b~0)} is VALID [2022-04-14 23:02:32,468 INFO L290 TraceCheckUtils]: 11: Hoare triple {8416#(<= 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] {8420#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 23:02:32,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {8420#(and (= main_~z~0 0) (= 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] {8420#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 23:02:32,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {8420#(and (= main_~z~0 0) (= 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] {8420#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 23:02:32,469 INFO L272 TraceCheckUtils]: 14: Hoare triple {8420#(and (= main_~z~0 0) (= 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] {8379#true} is VALID [2022-04-14 23:02:32,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {8379#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] {8379#true} is VALID [2022-04-14 23:02:32,469 INFO L290 TraceCheckUtils]: 16: Hoare triple {8379#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[] {8379#true} is VALID [2022-04-14 23:02:32,469 INFO L290 TraceCheckUtils]: 17: Hoare triple {8379#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8379#true} is VALID [2022-04-14 23:02:32,470 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8379#true} {8420#(and (= main_~z~0 0) (= 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] {8420#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 23:02:32,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {8420#(and (= main_~z~0 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[] {8420#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 23:02:32,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {8420#(and (= main_~z~0 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[] {8448#(and (= main_~z~0 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-14 23:02:32,472 INFO L290 TraceCheckUtils]: 21: Hoare triple {8448#(and (= main_~z~0 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] {8452#(and (= main_~z~0 0) (= 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))} is VALID [2022-04-14 23:02:32,472 INFO L290 TraceCheckUtils]: 22: Hoare triple {8452#(and (= main_~z~0 0) (= 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))} [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] {8452#(and (= main_~z~0 0) (= 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))} is VALID [2022-04-14 23:02:32,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {8452#(and (= main_~z~0 0) (= 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))} [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] {8452#(and (= main_~z~0 0) (= 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))} is VALID [2022-04-14 23:02:32,473 INFO L272 TraceCheckUtils]: 24: Hoare triple {8452#(and (= main_~z~0 0) (= 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))} [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] {8379#true} is VALID [2022-04-14 23:02:32,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {8379#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] {8465#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 23:02:32,473 INFO L290 TraceCheckUtils]: 26: Hoare triple {8465#(= |__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[] {8469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 23:02:32,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {8469#(not (= |__VERIFIER_assert_#in~cond| 0))} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 23:02:32,474 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8469#(not (= |__VERIFIER_assert_#in~cond| 0))} {8452#(and (= main_~z~0 0) (= 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))} [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] {8452#(and (= main_~z~0 0) (= 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))} is VALID [2022-04-14 23:02:32,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {8452#(and (= main_~z~0 0) (= 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))} [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[] {8452#(and (= main_~z~0 0) (= 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))} is VALID [2022-04-14 23:02:32,476 INFO L290 TraceCheckUtils]: 30: Hoare triple {8452#(and (= main_~z~0 0) (= 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))} [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[] {8482#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 23:02:32,477 INFO L290 TraceCheckUtils]: 31: Hoare triple {8482#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 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] {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 23:02:32,477 INFO L290 TraceCheckUtils]: 32: Hoare triple {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 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] {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 23:02:32,478 INFO L290 TraceCheckUtils]: 33: Hoare triple {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 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] {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 23:02:32,478 INFO L272 TraceCheckUtils]: 34: Hoare triple {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 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] {8379#true} is VALID [2022-04-14 23:02:32,478 INFO L290 TraceCheckUtils]: 35: Hoare triple {8379#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] {8379#true} is VALID [2022-04-14 23:02:32,478 INFO L290 TraceCheckUtils]: 36: Hoare triple {8379#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[] {8379#true} is VALID [2022-04-14 23:02:32,478 INFO L290 TraceCheckUtils]: 37: Hoare triple {8379#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8379#true} is VALID [2022-04-14 23:02:32,479 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8379#true} {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 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] {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 23:02:32,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 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[] {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 23:02:32,481 INFO L290 TraceCheckUtils]: 40: Hoare triple {8486#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 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[] {8514#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 23:02:32,482 INFO L290 TraceCheckUtils]: 41: Hoare triple {8514#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 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] {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,483 INFO L290 TraceCheckUtils]: 42: Hoare triple {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,484 INFO L290 TraceCheckUtils]: 43: Hoare triple {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,484 INFO L272 TraceCheckUtils]: 44: Hoare triple {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8379#true} is VALID [2022-04-14 23:02:32,484 INFO L290 TraceCheckUtils]: 45: Hoare triple {8379#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] {8379#true} is VALID [2022-04-14 23:02:32,484 INFO L290 TraceCheckUtils]: 46: Hoare triple {8379#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[] {8379#true} is VALID [2022-04-14 23:02:32,484 INFO L290 TraceCheckUtils]: 47: Hoare triple {8379#true} [95] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8379#true} is VALID [2022-04-14 23:02:32,485 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {8379#true} {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,485 INFO L290 TraceCheckUtils]: 49: Hoare triple {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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[] {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,487 INFO L290 TraceCheckUtils]: 50: Hoare triple {8518#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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[] {8546#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,489 INFO L290 TraceCheckUtils]: 51: Hoare triple {8546#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8550#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,490 INFO L290 TraceCheckUtils]: 52: Hoare triple {8550#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8550#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,490 INFO L290 TraceCheckUtils]: 53: Hoare triple {8550#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8550#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 23:02:32,493 INFO L272 TraceCheckUtils]: 54: Hoare triple {8550#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 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] {8560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 23:02:32,494 INFO L290 TraceCheckUtils]: 55: Hoare triple {8560#(<= 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] {8564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 23:02:32,494 INFO L290 TraceCheckUtils]: 56: Hoare triple {8564#(<= 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[] {8380#false} is VALID [2022-04-14 23:02:32,494 INFO L290 TraceCheckUtils]: 57: Hoare triple {8380#false} [93] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8380#false} is VALID [2022-04-14 23:02:32,495 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 10 proven. 55 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-14 23:02:32,495 INFO L328 TraceCheckSpWp]: Computing backward predicates...