/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/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/mannadiv_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:16:52,197 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:16:52,198 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:16:52,248 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:16:52,249 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:16:52,249 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:16:52,250 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:16:52,251 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:16:52,253 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:16:52,253 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:16:52,254 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:16:52,255 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:16:52,255 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:16:52,256 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:16:52,256 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:16:52,257 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:16:52,258 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:16:52,258 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:16:52,260 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:16:52,261 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:16:52,262 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:16:52,263 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:16:52,264 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:16:52,265 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:16:52,265 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:16:52,267 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:16:52,269 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:16:52,269 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:16:52,269 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:16:52,270 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:16:52,270 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:16:52,271 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:16:52,271 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:16:52,272 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:16:52,272 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:16:52,273 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:16:52,273 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:16:52,274 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:16:52,274 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:16:52,274 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:16:52,275 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:16:52,279 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:16:52,280 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 07:16:52,286 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:16:52,286 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:16:52,287 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:16:52,287 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:16:52,287 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:16:52,287 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:16:52,287 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:16:52,287 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:16:52,287 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:16:52,288 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:16:52,288 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:16:52,289 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:16:52,289 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:16:52,289 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:16:52,289 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:16:52,289 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:16:52,289 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:16:52,289 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-28 07:16:52,499 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:16:52,524 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:16:52,526 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:16:52,527 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:16:52,528 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:16:52,529 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/mannadiv_unwindbound20.c [2022-04-28 07:16:52,584 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3dc12ae8a/7ece542161af46acb348b5c8c530de61/FLAG4f7d37103 [2022-04-28 07:16:52,904 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:16:52,905 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/mannadiv_unwindbound20.c [2022-04-28 07:16:52,909 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3dc12ae8a/7ece542161af46acb348b5c8c530de61/FLAG4f7d37103 [2022-04-28 07:16:53,328 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3dc12ae8a/7ece542161af46acb348b5c8c530de61 [2022-04-28 07:16:53,329 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:16:53,330 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:16:53,340 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:16:53,340 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:16:53,342 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:16:53,343 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,344 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7d2080b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53, skipping insertion in model container [2022-04-28 07:16:53,344 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,349 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:16:53,356 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:16:53,503 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/mannadiv_unwindbound20.c[573,586] [2022-04-28 07:16:53,526 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:16:53,533 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:16:53,544 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/mannadiv_unwindbound20.c[573,586] [2022-04-28 07:16:53,560 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:16:53,575 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:16:53,577 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53 WrapperNode [2022-04-28 07:16:53,577 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:16:53,579 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:16:53,579 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:16:53,579 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:16:53,593 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,593 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,600 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,601 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,611 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,616 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,623 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,626 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:16:53,627 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:16:53,627 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:16:53,627 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:16:53,628 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (1/1) ... [2022-04-28 07:16:53,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:16:53,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:16:53,665 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-28 07:16:53,681 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-28 07:16:53,692 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:16:53,693 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:16:53,693 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:16:53,693 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:16:53,693 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:16:53,693 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:16:53,693 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:16:53,693 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:16:53,693 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:16:53,693 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:16:53,694 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:16:53,694 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:16:53,695 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:16:53,753 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:16:53,756 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:16:53,867 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:16:53,873 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:16:53,873 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:16:53,874 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:16:53 BoogieIcfgContainer [2022-04-28 07:16:53,874 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:16:53,876 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:16:53,876 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:16:53,879 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:16:53,879 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:16:53" (1/3) ... [2022-04-28 07:16:53,880 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@861040c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:16:53, skipping insertion in model container [2022-04-28 07:16:53,880 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:16:53" (2/3) ... [2022-04-28 07:16:53,880 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@861040c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:16:53, skipping insertion in model container [2022-04-28 07:16:53,880 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:16:53" (3/3) ... [2022-04-28 07:16:53,881 INFO L111 eAbstractionObserver]: Analyzing ICFG mannadiv_unwindbound20.c [2022-04-28 07:16:53,893 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:16:53,893 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:16:53,929 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:16:53,934 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@280d26cf, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@30de221e [2022-04-28 07:16:53,934 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:16:53,941 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:16:53,947 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 07:16:53,947 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:16:53,948 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:16:53,948 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:16:53,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:16:53,953 INFO L85 PathProgramCache]: Analyzing trace with hash -1859024204, now seen corresponding path program 1 times [2022-04-28 07:16:53,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:16:53,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1074388079] [2022-04-28 07:16:53,971 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:16:53,971 INFO L85 PathProgramCache]: Analyzing trace with hash -1859024204, now seen corresponding path program 2 times [2022-04-28 07:16:53,974 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:16:53,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1083885538] [2022-04-28 07:16:53,974 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:16:53,975 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:16:54,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:16:54,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:16:54,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:16:54,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {46#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33#true} is VALID [2022-04-28 07:16:54,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 07:16:54,141 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #67#return; {33#true} is VALID [2022-04-28 07:16:54,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:16:54,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:16:54,161 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 07:16:54,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 07:16:54,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 07:16:54,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-28 07:16:54,163 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 07:16:54,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:16:54,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 07:16:54,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 07:16:54,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 07:16:54,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {34#false} #61#return; {34#false} is VALID [2022-04-28 07:16:54,178 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {46#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 07:16:54,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {46#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33#true} is VALID [2022-04-28 07:16:54,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 07:16:54,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #67#return; {33#true} is VALID [2022-04-28 07:16:54,179 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-28 07:16:54,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {33#true} is VALID [2022-04-28 07:16:54,179 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {33#true} is VALID [2022-04-28 07:16:54,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 07:16:54,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 07:16:54,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 07:16:54,180 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-28 07:16:54,182 INFO L272 TraceCheckUtils]: 11: Hoare triple {34#false} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {33#true} is VALID [2022-04-28 07:16:54,182 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 07:16:54,182 INFO L290 TraceCheckUtils]: 13: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 07:16:54,182 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 07:16:54,182 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34#false} {34#false} #61#return; {34#false} is VALID [2022-04-28 07:16:54,183 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {34#false} is VALID [2022-04-28 07:16:54,183 INFO L290 TraceCheckUtils]: 17: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-28 07:16:54,184 INFO L272 TraceCheckUtils]: 18: Hoare triple {34#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {34#false} is VALID [2022-04-28 07:16:54,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-28 07:16:54,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-28 07:16:54,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-28 07:16:54,185 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:16:54,185 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:16:54,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1083885538] [2022-04-28 07:16:54,187 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1083885538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:16:54,187 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:16:54,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:16:54,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:16:54,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1074388079] [2022-04-28 07:16:54,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1074388079] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:16:54,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:16:54,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:16:54,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [162386589] [2022-04-28 07:16:54,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:16:54,196 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 07:16:54,198 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:16:54,200 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:54,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:16:54,227 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:16:54,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:16:54,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:16:54,245 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:16:54,247 INFO L87 Difference]: Start difference. First operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:54,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:54,401 INFO L93 Difference]: Finished difference Result 54 states and 72 transitions. [2022-04-28 07:16:54,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:16:54,402 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 07:16:54,402 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:16:54,403 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:54,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2022-04-28 07:16:54,408 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:54,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2022-04-28 07:16:54,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 72 transitions. [2022-04-28 07:16:54,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:16:54,523 INFO L225 Difference]: With dead ends: 54 [2022-04-28 07:16:54,523 INFO L226 Difference]: Without dead ends: 26 [2022-04-28 07:16:54,525 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 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-28 07:16:54,527 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:16:54,528 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 35 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:16:54,538 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-28 07:16:54,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-28 07:16:54,547 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:16:54,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:54,548 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:54,549 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:54,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:54,551 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2022-04-28 07:16:54,551 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2022-04-28 07:16:54,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:16:54,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:16:54,552 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 26 states. [2022-04-28 07:16:54,552 INFO L87 Difference]: Start difference. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 26 states. [2022-04-28 07:16:54,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:54,554 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2022-04-28 07:16:54,554 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2022-04-28 07:16:54,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:16:54,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:16:54,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:16:54,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:16:54,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:54,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 29 transitions. [2022-04-28 07:16:54,562 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 29 transitions. Word has length 22 [2022-04-28 07:16:54,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:16:54,562 INFO L495 AbstractCegarLoop]: Abstraction has 25 states and 29 transitions. [2022-04-28 07:16:54,562 INFO L496 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:54,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 29 transitions. [2022-04-28 07:16:54,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:16:54,594 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-28 07:16:54,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 07:16:54,595 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:16:54,595 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:16:54,596 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:16:54,596 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:16:54,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:16:54,597 INFO L85 PathProgramCache]: Analyzing trace with hash 243739414, now seen corresponding path program 1 times [2022-04-28 07:16:54,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:16:54,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1043539530] [2022-04-28 07:16:54,599 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:16:54,599 INFO L85 PathProgramCache]: Analyzing trace with hash 243739414, now seen corresponding path program 2 times [2022-04-28 07:16:54,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:16:54,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [23472567] [2022-04-28 07:16:54,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:16:54,602 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:16:54,624 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:16:54,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1031183700] [2022-04-28 07:16:54,624 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:16:54,624 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:16:54,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:16:54,633 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-28 07:16:54,636 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-28 07:16:54,693 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:16:54,693 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:16:54,695 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 07:16:54,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:16:54,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:16:54,939 INFO L272 TraceCheckUtils]: 0: Hoare triple {259#true} call ULTIMATE.init(); {259#true} is VALID [2022-04-28 07:16:54,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {259#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {267#(<= ~counter~0 0)} assume true; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {267#(<= ~counter~0 0)} {259#true} #67#return; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {267#(<= ~counter~0 0)} call #t~ret7 := main(); {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {267#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,943 INFO L272 TraceCheckUtils]: 6: Hoare triple {267#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {267#(<= ~counter~0 0)} ~cond := #in~cond; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {267#(<= ~counter~0 0)} assume !(0 == ~cond); {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {267#(<= ~counter~0 0)} assume true; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,946 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {267#(<= ~counter~0 0)} {267#(<= ~counter~0 0)} #59#return; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,947 INFO L272 TraceCheckUtils]: 11: Hoare triple {267#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,947 INFO L290 TraceCheckUtils]: 12: Hoare triple {267#(<= ~counter~0 0)} ~cond := #in~cond; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {267#(<= ~counter~0 0)} assume !(0 == ~cond); {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {267#(<= ~counter~0 0)} assume true; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,950 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {267#(<= ~counter~0 0)} {267#(<= ~counter~0 0)} #61#return; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,954 INFO L290 TraceCheckUtils]: 16: Hoare triple {267#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {267#(<= ~counter~0 0)} is VALID [2022-04-28 07:16:54,954 INFO L290 TraceCheckUtils]: 17: Hoare triple {267#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {316#(<= |main_#t~post6| 0)} is VALID [2022-04-28 07:16:54,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {316#(<= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {260#false} is VALID [2022-04-28 07:16:54,955 INFO L272 TraceCheckUtils]: 19: Hoare triple {260#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {260#false} is VALID [2022-04-28 07:16:54,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {260#false} ~cond := #in~cond; {260#false} is VALID [2022-04-28 07:16:54,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {260#false} assume 0 == ~cond; {260#false} is VALID [2022-04-28 07:16:54,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {260#false} assume !false; {260#false} is VALID [2022-04-28 07:16:54,956 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:16:54,956 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:16:54,961 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:16:54,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [23472567] [2022-04-28 07:16:54,961 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:16:54,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1031183700] [2022-04-28 07:16:54,962 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1031183700] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:16:54,962 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:16:54,962 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 07:16:54,963 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:16:54,963 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1043539530] [2022-04-28 07:16:54,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1043539530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:16:54,963 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:16:54,963 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 07:16:54,964 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [635851844] [2022-04-28 07:16:54,964 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:16:54,964 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 07:16:54,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:16:54,965 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:54,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:16:54,984 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 07:16:54,984 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:16:54,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 07:16:54,985 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 07:16:54,985 INFO L87 Difference]: Start difference. First operand 25 states and 29 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:55,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:55,088 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-28 07:16:55,088 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 07:16:55,088 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 07:16:55,088 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:16:55,089 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:55,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-04-28 07:16:55,091 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:55,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-04-28 07:16:55,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2022-04-28 07:16:55,122 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-28 07:16:55,123 INFO L225 Difference]: With dead ends: 34 [2022-04-28 07:16:55,123 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 07:16:55,124 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 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-28 07:16:55,125 INFO L413 NwaCegarLoop]: 27 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, 67 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-28 07:16:55,125 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 67 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:16:55,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 07:16:55,142 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 07:16:55,142 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:16:55,143 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:55,143 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:55,143 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:55,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:55,145 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:16:55,145 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:16:55,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:16:55,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:16:55,146 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 07:16:55,146 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 07:16:55,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:55,147 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:16:55,148 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:16:55,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:16:55,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:16:55,148 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:16:55,148 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:16:55,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:16:55,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 07:16:55,150 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 23 [2022-04-28 07:16:55,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:16:55,150 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 07:16:55,150 INFO L496 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:16:55,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 07:16:55,190 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-28 07:16:55,191 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:16:55,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 07:16:55,191 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:16:55,191 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:16:55,208 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-28 07:16:55,401 WARN L477 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-28 07:16:55,402 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:16:55,402 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:16:55,402 INFO L85 PathProgramCache]: Analyzing trace with hash 245526874, now seen corresponding path program 1 times [2022-04-28 07:16:55,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:16:55,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [696507] [2022-04-28 07:16:55,403 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:16:55,403 INFO L85 PathProgramCache]: Analyzing trace with hash 245526874, now seen corresponding path program 2 times [2022-04-28 07:16:55,403 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:16:55,403 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1749343495] [2022-04-28 07:16:55,403 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:16:55,404 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:16:55,417 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:16:55,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [278128169] [2022-04-28 07:16:55,418 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:16:55,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:16:55,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:16:55,419 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-28 07:16:55,420 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-28 07:16:55,454 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:16:55,454 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:16:55,455 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:16:55,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:16:55,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:16:58,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {507#true} call ULTIMATE.init(); {507#true} is VALID [2022-04-28 07:16:58,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {507#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {507#true} is VALID [2022-04-28 07:16:58,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {507#true} assume true; {507#true} is VALID [2022-04-28 07:16:58,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {507#true} {507#true} #67#return; {507#true} is VALID [2022-04-28 07:16:58,098 INFO L272 TraceCheckUtils]: 4: Hoare triple {507#true} call #t~ret7 := main(); {507#true} is VALID [2022-04-28 07:16:58,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {507#true} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {507#true} is VALID [2022-04-28 07:16:58,098 INFO L272 TraceCheckUtils]: 6: Hoare triple {507#true} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {507#true} is VALID [2022-04-28 07:16:58,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {507#true} ~cond := #in~cond; {507#true} is VALID [2022-04-28 07:16:58,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {507#true} assume !(0 == ~cond); {507#true} is VALID [2022-04-28 07:16:58,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {507#true} assume true; {507#true} is VALID [2022-04-28 07:16:58,099 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {507#true} {507#true} #59#return; {507#true} is VALID [2022-04-28 07:16:58,099 INFO L272 TraceCheckUtils]: 11: Hoare triple {507#true} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {507#true} is VALID [2022-04-28 07:16:58,099 INFO L290 TraceCheckUtils]: 12: Hoare triple {507#true} ~cond := #in~cond; {507#true} is VALID [2022-04-28 07:16:58,099 INFO L290 TraceCheckUtils]: 13: Hoare triple {507#true} assume !(0 == ~cond); {507#true} is VALID [2022-04-28 07:16:58,099 INFO L290 TraceCheckUtils]: 14: Hoare triple {507#true} assume true; {507#true} is VALID [2022-04-28 07:16:58,099 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {507#true} {507#true} #61#return; {507#true} is VALID [2022-04-28 07:16:58,100 INFO L290 TraceCheckUtils]: 16: Hoare triple {507#true} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {560#(and (= main_~y2~0 0) (= main_~y1~0 0) (= main_~x1~0 main_~y3~0))} is VALID [2022-04-28 07:16:58,101 INFO L290 TraceCheckUtils]: 17: Hoare triple {560#(and (= main_~y2~0 0) (= main_~y1~0 0) (= main_~x1~0 main_~y3~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {560#(and (= main_~y2~0 0) (= main_~y1~0 0) (= main_~x1~0 main_~y3~0))} is VALID [2022-04-28 07:16:58,101 INFO L290 TraceCheckUtils]: 18: Hoare triple {560#(and (= main_~y2~0 0) (= main_~y1~0 0) (= main_~x1~0 main_~y3~0))} assume !!(#t~post6 < 20);havoc #t~post6; {560#(and (= main_~y2~0 0) (= main_~y1~0 0) (= main_~x1~0 main_~y3~0))} is VALID [2022-04-28 07:16:58,102 INFO L272 TraceCheckUtils]: 19: Hoare triple {560#(and (= main_~y2~0 0) (= main_~y1~0 0) (= main_~x1~0 main_~y3~0))} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {570#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:16:58,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {570#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {574#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:16:58,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {574#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {508#false} is VALID [2022-04-28 07:16:58,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {508#false} assume !false; {508#false} is VALID [2022-04-28 07:16:58,103 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:16:58,103 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:16:58,104 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:16:58,104 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1749343495] [2022-04-28 07:16:58,104 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:16:58,104 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [278128169] [2022-04-28 07:16:58,104 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [278128169] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:16:58,104 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:16:58,104 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:16:58,105 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:16:58,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [696507] [2022-04-28 07:16:58,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [696507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:16:58,105 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:16:58,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:16:58,105 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1282555179] [2022-04-28 07:16:58,105 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:16:58,105 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 07:16:58,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:16:58,106 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 07:16:58,125 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:16:58,125 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:16:58,126 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:16:58,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:16:58,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:16:58,126 INFO L87 Difference]: Start difference. First operand 27 states and 31 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 07:16:58,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:58,276 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 07:16:58,276 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:16:58,276 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 07:16:58,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:16:58,276 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 07:16:58,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 07:16:58,278 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 07:16:58,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 07:16:58,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-28 07:16:58,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:16:58,320 INFO L225 Difference]: With dead ends: 37 [2022-04-28 07:16:58,320 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 07:16:58,321 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 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-28 07:16:58,323 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 7 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 35 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:16:58,323 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 83 Invalid, 35 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:16:58,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 07:16:58,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 32. [2022-04-28 07:16:58,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:16:58,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:16:58,353 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:16:58,353 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:16:58,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:58,359 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2022-04-28 07:16:58,359 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2022-04-28 07:16:58,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:16:58,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:16:58,364 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 07:16:58,364 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 07:16:58,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:16:58,365 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2022-04-28 07:16:58,366 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2022-04-28 07:16:58,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:16:58,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:16:58,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:16:58,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:16:58,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:16:58,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 36 transitions. [2022-04-28 07:16:58,368 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 36 transitions. Word has length 23 [2022-04-28 07:16:58,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:16:58,368 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 36 transitions. [2022-04-28 07:16:58,368 INFO L496 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 07:16:58,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 36 transitions. [2022-04-28 07:16:58,396 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:16:58,397 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2022-04-28 07:16:58,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 07:16:58,398 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:16:58,398 INFO L195 NwaCegarLoop]: 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, 1] [2022-04-28 07:16:58,421 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 07:16:58,616 WARN L477 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-28 07:16:58,617 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:16:58,617 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:16:58,617 INFO L85 PathProgramCache]: Analyzing trace with hash -1019533657, now seen corresponding path program 1 times [2022-04-28 07:16:58,617 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:16:58,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [583754520] [2022-04-28 07:16:58,618 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:16:58,618 INFO L85 PathProgramCache]: Analyzing trace with hash -1019533657, now seen corresponding path program 2 times [2022-04-28 07:16:58,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:16:58,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [293406143] [2022-04-28 07:16:58,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:16:58,618 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:16:58,639 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:16:58,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2018453952] [2022-04-28 07:16:58,640 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:16:58,640 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:16:58,640 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:16:58,660 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-28 07:16:58,666 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-28 07:16:58,703 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:16:58,703 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:16:58,704 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:16:58,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:16:58,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:16:58,919 INFO L272 TraceCheckUtils]: 0: Hoare triple {790#true} call ULTIMATE.init(); {790#true} is VALID [2022-04-28 07:16:58,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {790#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {790#true} is VALID [2022-04-28 07:16:58,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {790#true} assume true; {790#true} is VALID [2022-04-28 07:16:58,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {790#true} {790#true} #67#return; {790#true} is VALID [2022-04-28 07:16:58,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {790#true} call #t~ret7 := main(); {790#true} is VALID [2022-04-28 07:16:58,920 INFO L290 TraceCheckUtils]: 5: Hoare triple {790#true} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {790#true} is VALID [2022-04-28 07:16:58,920 INFO L272 TraceCheckUtils]: 6: Hoare triple {790#true} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {790#true} is VALID [2022-04-28 07:16:58,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {790#true} ~cond := #in~cond; {790#true} is VALID [2022-04-28 07:16:58,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {790#true} assume !(0 == ~cond); {790#true} is VALID [2022-04-28 07:16:58,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {790#true} assume true; {790#true} is VALID [2022-04-28 07:16:58,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {790#true} {790#true} #59#return; {790#true} is VALID [2022-04-28 07:16:58,921 INFO L272 TraceCheckUtils]: 11: Hoare triple {790#true} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {790#true} is VALID [2022-04-28 07:16:58,921 INFO L290 TraceCheckUtils]: 12: Hoare triple {790#true} ~cond := #in~cond; {790#true} is VALID [2022-04-28 07:16:58,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {790#true} assume !(0 == ~cond); {790#true} is VALID [2022-04-28 07:16:58,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {790#true} assume true; {790#true} is VALID [2022-04-28 07:16:58,922 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {790#true} {790#true} #61#return; {790#true} is VALID [2022-04-28 07:16:58,922 INFO L290 TraceCheckUtils]: 16: Hoare triple {790#true} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {790#true} is VALID [2022-04-28 07:16:58,922 INFO L290 TraceCheckUtils]: 17: Hoare triple {790#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {790#true} is VALID [2022-04-28 07:16:58,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {790#true} assume !!(#t~post6 < 20);havoc #t~post6; {790#true} is VALID [2022-04-28 07:16:58,922 INFO L272 TraceCheckUtils]: 19: Hoare triple {790#true} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {790#true} is VALID [2022-04-28 07:16:58,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {790#true} ~cond := #in~cond; {855#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:16:58,923 INFO L290 TraceCheckUtils]: 21: Hoare triple {855#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {859#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:16:58,923 INFO L290 TraceCheckUtils]: 22: Hoare triple {859#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {859#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:16:58,924 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {859#(not (= |__VERIFIER_assert_#in~cond| 0))} {790#true} #63#return; {866#(= (+ (* main_~x2~0 main_~y1~0) main_~y3~0 main_~y2~0) main_~x1~0)} is VALID [2022-04-28 07:16:58,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {866#(= (+ (* main_~x2~0 main_~y1~0) main_~y3~0 main_~y2~0) main_~x1~0)} assume !(0 != ~y3~0); {870#(= (+ (* main_~x2~0 main_~y1~0) main_~y2~0) main_~x1~0)} is VALID [2022-04-28 07:16:58,925 INFO L272 TraceCheckUtils]: 25: Hoare triple {870#(= (+ (* main_~x2~0 main_~y1~0) main_~y2~0) main_~x1~0)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {874#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:16:58,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {874#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {878#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:16:58,926 INFO L290 TraceCheckUtils]: 27: Hoare triple {878#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {791#false} is VALID [2022-04-28 07:16:58,926 INFO L290 TraceCheckUtils]: 28: Hoare triple {791#false} assume !false; {791#false} is VALID [2022-04-28 07:16:58,926 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:16:58,926 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:05,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {791#false} assume !false; {791#false} is VALID [2022-04-28 07:17:05,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {878#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {791#false} is VALID [2022-04-28 07:17:05,664 INFO L290 TraceCheckUtils]: 26: Hoare triple {874#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {878#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:17:05,665 INFO L272 TraceCheckUtils]: 25: Hoare triple {870#(= (+ (* main_~x2~0 main_~y1~0) main_~y2~0) main_~x1~0)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {874#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:17:05,665 INFO L290 TraceCheckUtils]: 24: Hoare triple {897#(or (not (= main_~y3~0 0)) (= (+ (* main_~x2~0 main_~y1~0) main_~y2~0) main_~x1~0))} assume !(0 != ~y3~0); {870#(= (+ (* main_~x2~0 main_~y1~0) main_~y2~0) main_~x1~0)} is VALID [2022-04-28 07:17:05,666 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {859#(not (= |__VERIFIER_assert_#in~cond| 0))} {790#true} #63#return; {897#(or (not (= main_~y3~0 0)) (= (+ (* main_~x2~0 main_~y1~0) main_~y2~0) main_~x1~0))} is VALID [2022-04-28 07:17:05,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {859#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {859#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:17:05,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {910#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {859#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:17:05,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {790#true} ~cond := #in~cond; {910#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:17:05,667 INFO L272 TraceCheckUtils]: 19: Hoare triple {790#true} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {790#true} is VALID [2022-04-28 07:17:05,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {790#true} assume !!(#t~post6 < 20);havoc #t~post6; {790#true} is VALID [2022-04-28 07:17:05,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {790#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {790#true} is VALID [2022-04-28 07:17:05,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {790#true} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {790#true} is VALID [2022-04-28 07:17:05,668 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {790#true} {790#true} #61#return; {790#true} is VALID [2022-04-28 07:17:05,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {790#true} assume true; {790#true} is VALID [2022-04-28 07:17:05,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {790#true} assume !(0 == ~cond); {790#true} is VALID [2022-04-28 07:17:05,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {790#true} ~cond := #in~cond; {790#true} is VALID [2022-04-28 07:17:05,668 INFO L272 TraceCheckUtils]: 11: Hoare triple {790#true} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {790#true} is VALID [2022-04-28 07:17:05,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {790#true} {790#true} #59#return; {790#true} is VALID [2022-04-28 07:17:05,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {790#true} assume true; {790#true} is VALID [2022-04-28 07:17:05,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {790#true} assume !(0 == ~cond); {790#true} is VALID [2022-04-28 07:17:05,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {790#true} ~cond := #in~cond; {790#true} is VALID [2022-04-28 07:17:05,669 INFO L272 TraceCheckUtils]: 6: Hoare triple {790#true} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {790#true} is VALID [2022-04-28 07:17:05,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {790#true} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {790#true} is VALID [2022-04-28 07:17:05,669 INFO L272 TraceCheckUtils]: 4: Hoare triple {790#true} call #t~ret7 := main(); {790#true} is VALID [2022-04-28 07:17:05,669 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {790#true} {790#true} #67#return; {790#true} is VALID [2022-04-28 07:17:05,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {790#true} assume true; {790#true} is VALID [2022-04-28 07:17:05,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {790#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {790#true} is VALID [2022-04-28 07:17:05,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {790#true} call ULTIMATE.init(); {790#true} is VALID [2022-04-28 07:17:05,670 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:05,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:05,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [293406143] [2022-04-28 07:17:05,670 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:05,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2018453952] [2022-04-28 07:17:05,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2018453952] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:05,670 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:05,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 07:17:05,671 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:05,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [583754520] [2022-04-28 07:17:05,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [583754520] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:05,671 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:05,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:17:05,671 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042108642] [2022-04-28 07:17:05,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:05,671 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-04-28 07:17:05,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:05,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:17:05,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:05,697 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:17:05,698 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:05,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:17:05,698 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:17:05,698 INFO L87 Difference]: Start difference. First operand 32 states and 36 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:17:05,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:05,899 INFO L93 Difference]: Finished difference Result 39 states and 42 transitions. [2022-04-28 07:17:05,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:17:05,899 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-04-28 07:17:05,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:05,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:17:05,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 07:17:05,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:17:05,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 07:17:05,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-28 07:17:05,933 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:05,935 INFO L225 Difference]: With dead ends: 39 [2022-04-28 07:17:05,935 INFO L226 Difference]: Without dead ends: 34 [2022-04-28 07:17:05,935 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:17:05,936 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:05,936 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 103 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:05,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-28 07:17:05,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 29. [2022-04-28 07:17:05,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:05,973 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:17:05,974 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:17:05,975 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:17:05,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:05,977 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2022-04-28 07:17:05,977 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 36 transitions. [2022-04-28 07:17:05,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:05,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:05,978 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-28 07:17:05,978 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-28 07:17:05,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:05,987 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2022-04-28 07:17:05,987 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 36 transitions. [2022-04-28 07:17:05,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:05,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:05,987 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:05,988 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:05,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:17:05,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2022-04-28 07:17:05,990 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 29 [2022-04-28 07:17:05,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:05,991 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2022-04-28 07:17:05,991 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:17:05,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 31 transitions. [2022-04-28 07:17:06,015 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-28 07:17:06,015 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2022-04-28 07:17:06,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 07:17:06,016 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:06,016 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 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-28 07:17:06,034 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-28 07:17:06,231 WARN L477 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-28 07:17:06,232 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:06,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:06,232 INFO L85 PathProgramCache]: Analyzing trace with hash 1080225052, now seen corresponding path program 1 times [2022-04-28 07:17:06,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:06,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [532518688] [2022-04-28 07:17:06,233 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:06,233 INFO L85 PathProgramCache]: Analyzing trace with hash 1080225052, now seen corresponding path program 2 times [2022-04-28 07:17:06,233 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:06,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [984207543] [2022-04-28 07:17:06,233 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:06,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:06,247 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:06,247 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1386144519] [2022-04-28 07:17:06,248 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:17:06,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:06,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:06,260 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-28 07:17:06,261 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-28 07:17:06,301 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:17:06,301 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:06,302 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 07:17:06,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:06,311 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:06,449 INFO L272 TraceCheckUtils]: 0: Hoare triple {1183#true} call ULTIMATE.init(); {1183#true} is VALID [2022-04-28 07:17:06,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {1183#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {1191#(<= ~counter~0 0)} assume true; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1191#(<= ~counter~0 0)} {1183#true} #67#return; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {1191#(<= ~counter~0 0)} call #t~ret7 := main(); {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {1191#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,452 INFO L272 TraceCheckUtils]: 6: Hoare triple {1191#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {1191#(<= ~counter~0 0)} ~cond := #in~cond; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {1191#(<= ~counter~0 0)} assume !(0 == ~cond); {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {1191#(<= ~counter~0 0)} assume true; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,454 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1191#(<= ~counter~0 0)} {1191#(<= ~counter~0 0)} #59#return; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,454 INFO L272 TraceCheckUtils]: 11: Hoare triple {1191#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {1191#(<= ~counter~0 0)} ~cond := #in~cond; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {1191#(<= ~counter~0 0)} assume !(0 == ~cond); {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,455 INFO L290 TraceCheckUtils]: 14: Hoare triple {1191#(<= ~counter~0 0)} assume true; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,456 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1191#(<= ~counter~0 0)} {1191#(<= ~counter~0 0)} #61#return; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {1191#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {1191#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:06,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {1191#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,457 INFO L290 TraceCheckUtils]: 18: Hoare triple {1240#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,458 INFO L272 TraceCheckUtils]: 19: Hoare triple {1240#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {1240#(<= ~counter~0 1)} ~cond := #in~cond; {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,458 INFO L290 TraceCheckUtils]: 21: Hoare triple {1240#(<= ~counter~0 1)} assume !(0 == ~cond); {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {1240#(<= ~counter~0 1)} assume true; {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,459 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1240#(<= ~counter~0 1)} {1240#(<= ~counter~0 1)} #63#return; {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,460 INFO L290 TraceCheckUtils]: 24: Hoare triple {1240#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,460 INFO L290 TraceCheckUtils]: 25: Hoare triple {1240#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {1240#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:06,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {1240#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1268#(<= |main_#t~post6| 1)} is VALID [2022-04-28 07:17:06,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {1268#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {1184#false} is VALID [2022-04-28 07:17:06,461 INFO L272 TraceCheckUtils]: 28: Hoare triple {1184#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {1184#false} is VALID [2022-04-28 07:17:06,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {1184#false} ~cond := #in~cond; {1184#false} is VALID [2022-04-28 07:17:06,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {1184#false} assume 0 == ~cond; {1184#false} is VALID [2022-04-28 07:17:06,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {1184#false} assume !false; {1184#false} is VALID [2022-04-28 07:17:06,462 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:06,462 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:06,624 INFO L290 TraceCheckUtils]: 31: Hoare triple {1184#false} assume !false; {1184#false} is VALID [2022-04-28 07:17:06,624 INFO L290 TraceCheckUtils]: 30: Hoare triple {1184#false} assume 0 == ~cond; {1184#false} is VALID [2022-04-28 07:17:06,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {1184#false} ~cond := #in~cond; {1184#false} is VALID [2022-04-28 07:17:06,624 INFO L272 TraceCheckUtils]: 28: Hoare triple {1184#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {1184#false} is VALID [2022-04-28 07:17:06,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {1296#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {1184#false} is VALID [2022-04-28 07:17:06,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {1300#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1296#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:06,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {1300#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {1300#(< ~counter~0 20)} is VALID [2022-04-28 07:17:06,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {1300#(< ~counter~0 20)} assume !!(0 != ~y3~0); {1300#(< ~counter~0 20)} is VALID [2022-04-28 07:17:06,627 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1183#true} {1300#(< ~counter~0 20)} #63#return; {1300#(< ~counter~0 20)} is VALID [2022-04-28 07:17:06,627 INFO L290 TraceCheckUtils]: 22: Hoare triple {1183#true} assume true; {1183#true} is VALID [2022-04-28 07:17:06,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {1183#true} assume !(0 == ~cond); {1183#true} is VALID [2022-04-28 07:17:06,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {1183#true} ~cond := #in~cond; {1183#true} is VALID [2022-04-28 07:17:06,628 INFO L272 TraceCheckUtils]: 19: Hoare triple {1300#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {1183#true} is VALID [2022-04-28 07:17:06,628 INFO L290 TraceCheckUtils]: 18: Hoare triple {1300#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {1300#(< ~counter~0 20)} is VALID [2022-04-28 07:17:06,629 INFO L290 TraceCheckUtils]: 17: Hoare triple {1328#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1300#(< ~counter~0 20)} is VALID [2022-04-28 07:17:06,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {1328#(< ~counter~0 19)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,631 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1183#true} {1328#(< ~counter~0 19)} #61#return; {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,631 INFO L290 TraceCheckUtils]: 14: Hoare triple {1183#true} assume true; {1183#true} is VALID [2022-04-28 07:17:06,631 INFO L290 TraceCheckUtils]: 13: Hoare triple {1183#true} assume !(0 == ~cond); {1183#true} is VALID [2022-04-28 07:17:06,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {1183#true} ~cond := #in~cond; {1183#true} is VALID [2022-04-28 07:17:06,631 INFO L272 TraceCheckUtils]: 11: Hoare triple {1328#(< ~counter~0 19)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {1183#true} is VALID [2022-04-28 07:17:06,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1183#true} {1328#(< ~counter~0 19)} #59#return; {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {1183#true} assume true; {1183#true} is VALID [2022-04-28 07:17:06,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {1183#true} assume !(0 == ~cond); {1183#true} is VALID [2022-04-28 07:17:06,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {1183#true} ~cond := #in~cond; {1183#true} is VALID [2022-04-28 07:17:06,635 INFO L272 TraceCheckUtils]: 6: Hoare triple {1328#(< ~counter~0 19)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {1183#true} is VALID [2022-04-28 07:17:06,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {1328#(< ~counter~0 19)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {1328#(< ~counter~0 19)} call #t~ret7 := main(); {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1328#(< ~counter~0 19)} {1183#true} #67#return; {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {1328#(< ~counter~0 19)} assume true; {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {1183#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1328#(< ~counter~0 19)} is VALID [2022-04-28 07:17:06,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {1183#true} call ULTIMATE.init(); {1183#true} is VALID [2022-04-28 07:17:06,637 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:06,637 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:06,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [984207543] [2022-04-28 07:17:06,637 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:06,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1386144519] [2022-04-28 07:17:06,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1386144519] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:06,638 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:06,638 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 07:17:06,638 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:06,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [532518688] [2022-04-28 07:17:06,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [532518688] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:06,638 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:06,638 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:17:06,638 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [979369490] [2022-04-28 07:17:06,638 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:06,639 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 07:17:06,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:06,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:17:06,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:06,664 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:17:06,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:06,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:17:06,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 07:17:06,664 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:17:06,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:06,778 INFO L93 Difference]: Finished difference Result 43 states and 46 transitions. [2022-04-28 07:17:06,778 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 07:17:06,779 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 07:17:06,779 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:06,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:17:06,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:17:06,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:17:06,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:17:06,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 07:17:06,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:06,813 INFO L225 Difference]: With dead ends: 43 [2022-04-28 07:17:06,813 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 07:17:06,814 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 07:17:06,814 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 7 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:06,814 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 78 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:06,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 07:17:06,837 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 07:17:06,837 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:06,837 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:17:06,837 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:17:06,837 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:17:06,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:06,839 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2022-04-28 07:17:06,839 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 07:17:06,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:06,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:06,839 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 38 states. [2022-04-28 07:17:06,839 INFO L87 Difference]: Start difference. First operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 38 states. [2022-04-28 07:17:06,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:06,840 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2022-04-28 07:17:06,840 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 07:17:06,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:06,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:06,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:06,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:06,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:17:06,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 41 transitions. [2022-04-28 07:17:06,842 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 41 transitions. Word has length 32 [2022-04-28 07:17:06,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:06,842 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 41 transitions. [2022-04-28 07:17:06,842 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:17:06,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 41 transitions. [2022-04-28 07:17:06,883 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-28 07:17:06,883 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 07:17:06,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 07:17:06,884 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:06,884 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:06,901 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 07:17:07,101 WARN L477 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-28 07:17:07,101 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:07,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:07,101 INFO L85 PathProgramCache]: Analyzing trace with hash 1448743382, now seen corresponding path program 3 times [2022-04-28 07:17:07,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:07,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [513879677] [2022-04-28 07:17:07,102 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:07,102 INFO L85 PathProgramCache]: Analyzing trace with hash 1448743382, now seen corresponding path program 4 times [2022-04-28 07:17:07,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:07,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1113592422] [2022-04-28 07:17:07,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:07,102 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:07,117 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:07,117 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1701646399] [2022-04-28 07:17:07,117 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:17:07,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:07,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:07,118 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-28 07:17:07,120 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-28 07:17:07,156 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:17:07,156 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:07,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:17:07,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:07,168 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:07,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {1622#true} call ULTIMATE.init(); {1622#true} is VALID [2022-04-28 07:17:07,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {1622#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {1630#(<= ~counter~0 0)} assume true; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1630#(<= ~counter~0 0)} {1622#true} #67#return; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {1630#(<= ~counter~0 0)} call #t~ret7 := main(); {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {1630#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,382 INFO L272 TraceCheckUtils]: 6: Hoare triple {1630#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {1630#(<= ~counter~0 0)} ~cond := #in~cond; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {1630#(<= ~counter~0 0)} assume !(0 == ~cond); {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {1630#(<= ~counter~0 0)} assume true; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1630#(<= ~counter~0 0)} {1630#(<= ~counter~0 0)} #59#return; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,385 INFO L272 TraceCheckUtils]: 11: Hoare triple {1630#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,385 INFO L290 TraceCheckUtils]: 12: Hoare triple {1630#(<= ~counter~0 0)} ~cond := #in~cond; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {1630#(<= ~counter~0 0)} assume !(0 == ~cond); {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {1630#(<= ~counter~0 0)} assume true; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,386 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1630#(<= ~counter~0 0)} {1630#(<= ~counter~0 0)} #61#return; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {1630#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {1630#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:07,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {1630#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {1679#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,388 INFO L272 TraceCheckUtils]: 19: Hoare triple {1679#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {1679#(<= ~counter~0 1)} ~cond := #in~cond; {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,389 INFO L290 TraceCheckUtils]: 21: Hoare triple {1679#(<= ~counter~0 1)} assume !(0 == ~cond); {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,389 INFO L290 TraceCheckUtils]: 22: Hoare triple {1679#(<= ~counter~0 1)} assume true; {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,390 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1679#(<= ~counter~0 1)} {1679#(<= ~counter~0 1)} #63#return; {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,390 INFO L290 TraceCheckUtils]: 24: Hoare triple {1679#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {1679#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {1679#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:07,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {1679#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {1707#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,393 INFO L272 TraceCheckUtils]: 28: Hoare triple {1707#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,394 INFO L290 TraceCheckUtils]: 29: Hoare triple {1707#(<= ~counter~0 2)} ~cond := #in~cond; {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,394 INFO L290 TraceCheckUtils]: 30: Hoare triple {1707#(<= ~counter~0 2)} assume !(0 == ~cond); {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,395 INFO L290 TraceCheckUtils]: 31: Hoare triple {1707#(<= ~counter~0 2)} assume true; {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,395 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1707#(<= ~counter~0 2)} {1707#(<= ~counter~0 2)} #63#return; {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,396 INFO L290 TraceCheckUtils]: 33: Hoare triple {1707#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,396 INFO L290 TraceCheckUtils]: 34: Hoare triple {1707#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {1707#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:07,397 INFO L290 TraceCheckUtils]: 35: Hoare triple {1707#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1735#(<= |main_#t~post6| 2)} is VALID [2022-04-28 07:17:07,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {1735#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {1623#false} is VALID [2022-04-28 07:17:07,397 INFO L272 TraceCheckUtils]: 37: Hoare triple {1623#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {1623#false} is VALID [2022-04-28 07:17:07,397 INFO L290 TraceCheckUtils]: 38: Hoare triple {1623#false} ~cond := #in~cond; {1623#false} is VALID [2022-04-28 07:17:07,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {1623#false} assume 0 == ~cond; {1623#false} is VALID [2022-04-28 07:17:07,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {1623#false} assume !false; {1623#false} is VALID [2022-04-28 07:17:07,398 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:07,398 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:07,630 INFO L290 TraceCheckUtils]: 40: Hoare triple {1623#false} assume !false; {1623#false} is VALID [2022-04-28 07:17:07,630 INFO L290 TraceCheckUtils]: 39: Hoare triple {1623#false} assume 0 == ~cond; {1623#false} is VALID [2022-04-28 07:17:07,630 INFO L290 TraceCheckUtils]: 38: Hoare triple {1623#false} ~cond := #in~cond; {1623#false} is VALID [2022-04-28 07:17:07,630 INFO L272 TraceCheckUtils]: 37: Hoare triple {1623#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {1623#false} is VALID [2022-04-28 07:17:07,630 INFO L290 TraceCheckUtils]: 36: Hoare triple {1763#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {1623#false} is VALID [2022-04-28 07:17:07,631 INFO L290 TraceCheckUtils]: 35: Hoare triple {1767#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1763#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:07,632 INFO L290 TraceCheckUtils]: 34: Hoare triple {1767#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {1767#(< ~counter~0 20)} is VALID [2022-04-28 07:17:07,634 INFO L290 TraceCheckUtils]: 33: Hoare triple {1767#(< ~counter~0 20)} assume !!(0 != ~y3~0); {1767#(< ~counter~0 20)} is VALID [2022-04-28 07:17:07,636 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1622#true} {1767#(< ~counter~0 20)} #63#return; {1767#(< ~counter~0 20)} is VALID [2022-04-28 07:17:07,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {1622#true} assume true; {1622#true} is VALID [2022-04-28 07:17:07,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {1622#true} assume !(0 == ~cond); {1622#true} is VALID [2022-04-28 07:17:07,637 INFO L290 TraceCheckUtils]: 29: Hoare triple {1622#true} ~cond := #in~cond; {1622#true} is VALID [2022-04-28 07:17:07,637 INFO L272 TraceCheckUtils]: 28: Hoare triple {1767#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {1622#true} is VALID [2022-04-28 07:17:07,647 INFO L290 TraceCheckUtils]: 27: Hoare triple {1767#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {1767#(< ~counter~0 20)} is VALID [2022-04-28 07:17:07,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {1795#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1767#(< ~counter~0 20)} is VALID [2022-04-28 07:17:07,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {1795#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {1795#(< ~counter~0 19)} is VALID [2022-04-28 07:17:07,649 INFO L290 TraceCheckUtils]: 24: Hoare triple {1795#(< ~counter~0 19)} assume !!(0 != ~y3~0); {1795#(< ~counter~0 19)} is VALID [2022-04-28 07:17:07,649 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1622#true} {1795#(< ~counter~0 19)} #63#return; {1795#(< ~counter~0 19)} is VALID [2022-04-28 07:17:07,649 INFO L290 TraceCheckUtils]: 22: Hoare triple {1622#true} assume true; {1622#true} is VALID [2022-04-28 07:17:07,650 INFO L290 TraceCheckUtils]: 21: Hoare triple {1622#true} assume !(0 == ~cond); {1622#true} is VALID [2022-04-28 07:17:07,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {1622#true} ~cond := #in~cond; {1622#true} is VALID [2022-04-28 07:17:07,650 INFO L272 TraceCheckUtils]: 19: Hoare triple {1795#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {1622#true} is VALID [2022-04-28 07:17:07,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {1795#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {1795#(< ~counter~0 19)} is VALID [2022-04-28 07:17:07,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {1823#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1795#(< ~counter~0 19)} is VALID [2022-04-28 07:17:07,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {1823#(< ~counter~0 18)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,652 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1622#true} {1823#(< ~counter~0 18)} #61#return; {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {1622#true} assume true; {1622#true} is VALID [2022-04-28 07:17:07,652 INFO L290 TraceCheckUtils]: 13: Hoare triple {1622#true} assume !(0 == ~cond); {1622#true} is VALID [2022-04-28 07:17:07,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {1622#true} ~cond := #in~cond; {1622#true} is VALID [2022-04-28 07:17:07,652 INFO L272 TraceCheckUtils]: 11: Hoare triple {1823#(< ~counter~0 18)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {1622#true} is VALID [2022-04-28 07:17:07,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1622#true} {1823#(< ~counter~0 18)} #59#return; {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {1622#true} assume true; {1622#true} is VALID [2022-04-28 07:17:07,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {1622#true} assume !(0 == ~cond); {1622#true} is VALID [2022-04-28 07:17:07,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {1622#true} ~cond := #in~cond; {1622#true} is VALID [2022-04-28 07:17:07,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {1823#(< ~counter~0 18)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {1622#true} is VALID [2022-04-28 07:17:07,654 INFO L290 TraceCheckUtils]: 5: Hoare triple {1823#(< ~counter~0 18)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,654 INFO L272 TraceCheckUtils]: 4: Hoare triple {1823#(< ~counter~0 18)} call #t~ret7 := main(); {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1823#(< ~counter~0 18)} {1622#true} #67#return; {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {1823#(< ~counter~0 18)} assume true; {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {1622#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1823#(< ~counter~0 18)} is VALID [2022-04-28 07:17:07,657 INFO L272 TraceCheckUtils]: 0: Hoare triple {1622#true} call ULTIMATE.init(); {1622#true} is VALID [2022-04-28 07:17:07,657 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 07:17:07,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:07,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1113592422] [2022-04-28 07:17:07,657 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:07,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1701646399] [2022-04-28 07:17:07,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1701646399] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:07,658 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:07,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 07:17:07,658 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:07,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [513879677] [2022-04-28 07:17:07,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [513879677] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:07,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:07,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:17:07,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2143283879] [2022-04-28 07:17:07,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:07,659 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 07:17:07,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:07,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:17:07,685 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-28 07:17:07,685 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 07:17:07,685 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:07,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 07:17:07,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:17:07,686 INFO L87 Difference]: Start difference. First operand 38 states and 41 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:17:07,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:07,850 INFO L93 Difference]: Finished difference Result 52 states and 56 transitions. [2022-04-28 07:17:07,850 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:17:07,850 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 07:17:07,850 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:07,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:17:07,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 07:17:07,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:17:07,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 07:17:07,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-28 07:17:07,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:07,893 INFO L225 Difference]: With dead ends: 52 [2022-04-28 07:17:07,893 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 07:17:07,893 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:17:07,894 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 15 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:07,894 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 80 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:07,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 07:17:07,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 07:17:07,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:07,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:17:07,932 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:17:07,932 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:17:07,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:07,934 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 07:17:07,934 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 07:17:07,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:07,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:07,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 47 states. [2022-04-28 07:17:07,934 INFO L87 Difference]: Start difference. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 47 states. [2022-04-28 07:17:07,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:07,936 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 07:17:07,936 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 07:17:07,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:07,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:07,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:07,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:07,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:17:07,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2022-04-28 07:17:07,937 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 41 [2022-04-28 07:17:07,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:07,938 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2022-04-28 07:17:07,938 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:17:07,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 51 transitions. [2022-04-28 07:17:07,985 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-28 07:17:07,985 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 07:17:07,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 07:17:07,985 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:07,986 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:08,005 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-28 07:17:08,205 WARN L477 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-28 07:17:08,205 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:08,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:08,205 INFO L85 PathProgramCache]: Analyzing trace with hash -678977956, now seen corresponding path program 5 times [2022-04-28 07:17:08,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:08,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1730676375] [2022-04-28 07:17:08,206 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:08,206 INFO L85 PathProgramCache]: Analyzing trace with hash -678977956, now seen corresponding path program 6 times [2022-04-28 07:17:08,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:08,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1388888918] [2022-04-28 07:17:08,206 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:08,206 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:08,232 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:08,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1337573232] [2022-04-28 07:17:08,232 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:17:08,232 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:08,232 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:08,234 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-28 07:17:08,235 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-28 07:17:08,277 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 07:17:08,277 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:08,278 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 07:17:08,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:08,295 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:08,523 INFO L272 TraceCheckUtils]: 0: Hoare triple {2173#true} call ULTIMATE.init(); {2173#true} is VALID [2022-04-28 07:17:08,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {2173#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {2181#(<= ~counter~0 0)} assume true; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2181#(<= ~counter~0 0)} {2173#true} #67#return; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {2181#(<= ~counter~0 0)} call #t~ret7 := main(); {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {2181#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,525 INFO L272 TraceCheckUtils]: 6: Hoare triple {2181#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {2181#(<= ~counter~0 0)} ~cond := #in~cond; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {2181#(<= ~counter~0 0)} assume !(0 == ~cond); {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {2181#(<= ~counter~0 0)} assume true; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,527 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2181#(<= ~counter~0 0)} {2181#(<= ~counter~0 0)} #59#return; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,527 INFO L272 TraceCheckUtils]: 11: Hoare triple {2181#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,527 INFO L290 TraceCheckUtils]: 12: Hoare triple {2181#(<= ~counter~0 0)} ~cond := #in~cond; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {2181#(<= ~counter~0 0)} assume !(0 == ~cond); {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {2181#(<= ~counter~0 0)} assume true; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,531 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2181#(<= ~counter~0 0)} {2181#(<= ~counter~0 0)} #61#return; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,532 INFO L290 TraceCheckUtils]: 16: Hoare triple {2181#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {2181#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:08,532 INFO L290 TraceCheckUtils]: 17: Hoare triple {2181#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,533 INFO L290 TraceCheckUtils]: 18: Hoare triple {2230#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,533 INFO L272 TraceCheckUtils]: 19: Hoare triple {2230#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,533 INFO L290 TraceCheckUtils]: 20: Hoare triple {2230#(<= ~counter~0 1)} ~cond := #in~cond; {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,534 INFO L290 TraceCheckUtils]: 21: Hoare triple {2230#(<= ~counter~0 1)} assume !(0 == ~cond); {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {2230#(<= ~counter~0 1)} assume true; {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,536 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2230#(<= ~counter~0 1)} {2230#(<= ~counter~0 1)} #63#return; {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {2230#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {2230#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2230#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:08,537 INFO L290 TraceCheckUtils]: 26: Hoare triple {2230#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {2258#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,538 INFO L272 TraceCheckUtils]: 28: Hoare triple {2258#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,538 INFO L290 TraceCheckUtils]: 29: Hoare triple {2258#(<= ~counter~0 2)} ~cond := #in~cond; {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {2258#(<= ~counter~0 2)} assume !(0 == ~cond); {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {2258#(<= ~counter~0 2)} assume true; {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,539 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2258#(<= ~counter~0 2)} {2258#(<= ~counter~0 2)} #63#return; {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,540 INFO L290 TraceCheckUtils]: 33: Hoare triple {2258#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {2258#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2258#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:08,541 INFO L290 TraceCheckUtils]: 35: Hoare triple {2258#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {2286#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,543 INFO L272 TraceCheckUtils]: 37: Hoare triple {2286#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,543 INFO L290 TraceCheckUtils]: 38: Hoare triple {2286#(<= ~counter~0 3)} ~cond := #in~cond; {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,543 INFO L290 TraceCheckUtils]: 39: Hoare triple {2286#(<= ~counter~0 3)} assume !(0 == ~cond); {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,544 INFO L290 TraceCheckUtils]: 40: Hoare triple {2286#(<= ~counter~0 3)} assume true; {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,544 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2286#(<= ~counter~0 3)} {2286#(<= ~counter~0 3)} #63#return; {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,545 INFO L290 TraceCheckUtils]: 42: Hoare triple {2286#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,550 INFO L290 TraceCheckUtils]: 43: Hoare triple {2286#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2286#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:08,550 INFO L290 TraceCheckUtils]: 44: Hoare triple {2286#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2314#(<= |main_#t~post6| 3)} is VALID [2022-04-28 07:17:08,551 INFO L290 TraceCheckUtils]: 45: Hoare triple {2314#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {2174#false} is VALID [2022-04-28 07:17:08,551 INFO L272 TraceCheckUtils]: 46: Hoare triple {2174#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {2174#false} is VALID [2022-04-28 07:17:08,551 INFO L290 TraceCheckUtils]: 47: Hoare triple {2174#false} ~cond := #in~cond; {2174#false} is VALID [2022-04-28 07:17:08,551 INFO L290 TraceCheckUtils]: 48: Hoare triple {2174#false} assume 0 == ~cond; {2174#false} is VALID [2022-04-28 07:17:08,551 INFO L290 TraceCheckUtils]: 49: Hoare triple {2174#false} assume !false; {2174#false} is VALID [2022-04-28 07:17:08,552 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 33 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:08,552 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:08,860 INFO L290 TraceCheckUtils]: 49: Hoare triple {2174#false} assume !false; {2174#false} is VALID [2022-04-28 07:17:08,861 INFO L290 TraceCheckUtils]: 48: Hoare triple {2174#false} assume 0 == ~cond; {2174#false} is VALID [2022-04-28 07:17:08,861 INFO L290 TraceCheckUtils]: 47: Hoare triple {2174#false} ~cond := #in~cond; {2174#false} is VALID [2022-04-28 07:17:08,861 INFO L272 TraceCheckUtils]: 46: Hoare triple {2174#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {2174#false} is VALID [2022-04-28 07:17:08,868 INFO L290 TraceCheckUtils]: 45: Hoare triple {2342#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2174#false} is VALID [2022-04-28 07:17:08,868 INFO L290 TraceCheckUtils]: 44: Hoare triple {2346#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2342#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:08,869 INFO L290 TraceCheckUtils]: 43: Hoare triple {2346#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2346#(< ~counter~0 20)} is VALID [2022-04-28 07:17:08,869 INFO L290 TraceCheckUtils]: 42: Hoare triple {2346#(< ~counter~0 20)} assume !!(0 != ~y3~0); {2346#(< ~counter~0 20)} is VALID [2022-04-28 07:17:08,870 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2173#true} {2346#(< ~counter~0 20)} #63#return; {2346#(< ~counter~0 20)} is VALID [2022-04-28 07:17:08,870 INFO L290 TraceCheckUtils]: 40: Hoare triple {2173#true} assume true; {2173#true} is VALID [2022-04-28 07:17:08,870 INFO L290 TraceCheckUtils]: 39: Hoare triple {2173#true} assume !(0 == ~cond); {2173#true} is VALID [2022-04-28 07:17:08,870 INFO L290 TraceCheckUtils]: 38: Hoare triple {2173#true} ~cond := #in~cond; {2173#true} is VALID [2022-04-28 07:17:08,870 INFO L272 TraceCheckUtils]: 37: Hoare triple {2346#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2173#true} is VALID [2022-04-28 07:17:08,871 INFO L290 TraceCheckUtils]: 36: Hoare triple {2346#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {2346#(< ~counter~0 20)} is VALID [2022-04-28 07:17:08,871 INFO L290 TraceCheckUtils]: 35: Hoare triple {2374#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2346#(< ~counter~0 20)} is VALID [2022-04-28 07:17:08,871 INFO L290 TraceCheckUtils]: 34: Hoare triple {2374#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2374#(< ~counter~0 19)} is VALID [2022-04-28 07:17:08,872 INFO L290 TraceCheckUtils]: 33: Hoare triple {2374#(< ~counter~0 19)} assume !!(0 != ~y3~0); {2374#(< ~counter~0 19)} is VALID [2022-04-28 07:17:08,872 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2173#true} {2374#(< ~counter~0 19)} #63#return; {2374#(< ~counter~0 19)} is VALID [2022-04-28 07:17:08,872 INFO L290 TraceCheckUtils]: 31: Hoare triple {2173#true} assume true; {2173#true} is VALID [2022-04-28 07:17:08,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {2173#true} assume !(0 == ~cond); {2173#true} is VALID [2022-04-28 07:17:08,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {2173#true} ~cond := #in~cond; {2173#true} is VALID [2022-04-28 07:17:08,873 INFO L272 TraceCheckUtils]: 28: Hoare triple {2374#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2173#true} is VALID [2022-04-28 07:17:08,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {2374#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {2374#(< ~counter~0 19)} is VALID [2022-04-28 07:17:08,874 INFO L290 TraceCheckUtils]: 26: Hoare triple {2402#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2374#(< ~counter~0 19)} is VALID [2022-04-28 07:17:08,874 INFO L290 TraceCheckUtils]: 25: Hoare triple {2402#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2402#(< ~counter~0 18)} is VALID [2022-04-28 07:17:08,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {2402#(< ~counter~0 18)} assume !!(0 != ~y3~0); {2402#(< ~counter~0 18)} is VALID [2022-04-28 07:17:08,875 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2173#true} {2402#(< ~counter~0 18)} #63#return; {2402#(< ~counter~0 18)} is VALID [2022-04-28 07:17:08,875 INFO L290 TraceCheckUtils]: 22: Hoare triple {2173#true} assume true; {2173#true} is VALID [2022-04-28 07:17:08,875 INFO L290 TraceCheckUtils]: 21: Hoare triple {2173#true} assume !(0 == ~cond); {2173#true} is VALID [2022-04-28 07:17:08,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {2173#true} ~cond := #in~cond; {2173#true} is VALID [2022-04-28 07:17:08,876 INFO L272 TraceCheckUtils]: 19: Hoare triple {2402#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2173#true} is VALID [2022-04-28 07:17:08,876 INFO L290 TraceCheckUtils]: 18: Hoare triple {2402#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {2402#(< ~counter~0 18)} is VALID [2022-04-28 07:17:08,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {2430#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2402#(< ~counter~0 18)} is VALID [2022-04-28 07:17:08,877 INFO L290 TraceCheckUtils]: 16: Hoare triple {2430#(< ~counter~0 17)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,877 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2173#true} {2430#(< ~counter~0 17)} #61#return; {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,877 INFO L290 TraceCheckUtils]: 14: Hoare triple {2173#true} assume true; {2173#true} is VALID [2022-04-28 07:17:08,877 INFO L290 TraceCheckUtils]: 13: Hoare triple {2173#true} assume !(0 == ~cond); {2173#true} is VALID [2022-04-28 07:17:08,878 INFO L290 TraceCheckUtils]: 12: Hoare triple {2173#true} ~cond := #in~cond; {2173#true} is VALID [2022-04-28 07:17:08,878 INFO L272 TraceCheckUtils]: 11: Hoare triple {2430#(< ~counter~0 17)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {2173#true} is VALID [2022-04-28 07:17:08,879 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2173#true} {2430#(< ~counter~0 17)} #59#return; {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {2173#true} assume true; {2173#true} is VALID [2022-04-28 07:17:08,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {2173#true} assume !(0 == ~cond); {2173#true} is VALID [2022-04-28 07:17:08,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {2173#true} ~cond := #in~cond; {2173#true} is VALID [2022-04-28 07:17:08,879 INFO L272 TraceCheckUtils]: 6: Hoare triple {2430#(< ~counter~0 17)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {2173#true} is VALID [2022-04-28 07:17:08,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {2430#(< ~counter~0 17)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,889 INFO L272 TraceCheckUtils]: 4: Hoare triple {2430#(< ~counter~0 17)} call #t~ret7 := main(); {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2430#(< ~counter~0 17)} {2173#true} #67#return; {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {2430#(< ~counter~0 17)} assume true; {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {2173#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2430#(< ~counter~0 17)} is VALID [2022-04-28 07:17:08,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {2173#true} call ULTIMATE.init(); {2173#true} is VALID [2022-04-28 07:17:08,891 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 07:17:08,891 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:08,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1388888918] [2022-04-28 07:17:08,891 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:08,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1337573232] [2022-04-28 07:17:08,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1337573232] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:08,891 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:08,891 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 07:17:08,891 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:08,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1730676375] [2022-04-28 07:17:08,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1730676375] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:08,892 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:08,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 07:17:08,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [606737605] [2022-04-28 07:17:08,892 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:08,892 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 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 50 [2022-04-28 07:17:08,893 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:08,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 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-28 07:17:08,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:08,929 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 07:17:08,929 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:08,930 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 07:17:08,930 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:17:08,930 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 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-28 07:17:09,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:09,075 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 07:17:09,075 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:17:09,075 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 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 50 [2022-04-28 07:17:09,076 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:09,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 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-28 07:17:09,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 07:17:09,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 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-28 07:17:09,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 07:17:09,079 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-28 07:17:09,126 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-28 07:17:09,129 INFO L225 Difference]: With dead ends: 61 [2022-04-28 07:17:09,129 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 07:17:09,129 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:17:09,130 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 10 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:09,130 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 94 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:09,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 07:17:09,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 07:17:09,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:09,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:17:09,174 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:17:09,177 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:17:09,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:09,180 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 07:17:09,180 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 07:17:09,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:09,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:09,181 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-28 07:17:09,181 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-28 07:17:09,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:09,183 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 07:17:09,183 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 07:17:09,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:09,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:09,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:09,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:09,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:17:09,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 61 transitions. [2022-04-28 07:17:09,185 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 61 transitions. Word has length 50 [2022-04-28 07:17:09,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:09,185 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 61 transitions. [2022-04-28 07:17:09,186 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 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-28 07:17:09,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 61 transitions. [2022-04-28 07:17:09,246 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:09,246 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 07:17:09,247 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 07:17:09,247 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:09,247 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:09,264 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:09,447 WARN L477 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-28 07:17:09,447 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:09,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:09,448 INFO L85 PathProgramCache]: Analyzing trace with hash 1632159894, now seen corresponding path program 7 times [2022-04-28 07:17:09,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:09,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1574491290] [2022-04-28 07:17:09,448 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:09,448 INFO L85 PathProgramCache]: Analyzing trace with hash 1632159894, now seen corresponding path program 8 times [2022-04-28 07:17:09,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:09,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [777228048] [2022-04-28 07:17:09,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:09,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:09,459 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:09,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1157024534] [2022-04-28 07:17:09,459 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:17:09,459 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:09,459 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:09,460 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-28 07:17:09,461 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-28 07:17:09,518 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:17:09,518 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:09,519 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 07:17:09,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:09,532 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:09,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {2836#true} call ULTIMATE.init(); {2836#true} is VALID [2022-04-28 07:17:09,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {2836#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {2844#(<= ~counter~0 0)} assume true; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2844#(<= ~counter~0 0)} {2836#true} #67#return; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {2844#(<= ~counter~0 0)} call #t~ret7 := main(); {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {2844#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,761 INFO L272 TraceCheckUtils]: 6: Hoare triple {2844#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {2844#(<= ~counter~0 0)} ~cond := #in~cond; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,761 INFO L290 TraceCheckUtils]: 8: Hoare triple {2844#(<= ~counter~0 0)} assume !(0 == ~cond); {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {2844#(<= ~counter~0 0)} assume true; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,763 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2844#(<= ~counter~0 0)} {2844#(<= ~counter~0 0)} #59#return; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,763 INFO L272 TraceCheckUtils]: 11: Hoare triple {2844#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {2844#(<= ~counter~0 0)} ~cond := #in~cond; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {2844#(<= ~counter~0 0)} assume !(0 == ~cond); {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {2844#(<= ~counter~0 0)} assume true; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,764 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2844#(<= ~counter~0 0)} {2844#(<= ~counter~0 0)} #61#return; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,765 INFO L290 TraceCheckUtils]: 16: Hoare triple {2844#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {2844#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:09,765 INFO L290 TraceCheckUtils]: 17: Hoare triple {2844#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,765 INFO L290 TraceCheckUtils]: 18: Hoare triple {2893#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,766 INFO L272 TraceCheckUtils]: 19: Hoare triple {2893#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {2893#(<= ~counter~0 1)} ~cond := #in~cond; {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,766 INFO L290 TraceCheckUtils]: 21: Hoare triple {2893#(<= ~counter~0 1)} assume !(0 == ~cond); {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,766 INFO L290 TraceCheckUtils]: 22: Hoare triple {2893#(<= ~counter~0 1)} assume true; {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,767 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2893#(<= ~counter~0 1)} {2893#(<= ~counter~0 1)} #63#return; {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,767 INFO L290 TraceCheckUtils]: 24: Hoare triple {2893#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {2893#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2893#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:09,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {2893#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {2921#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,768 INFO L272 TraceCheckUtils]: 28: Hoare triple {2921#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {2921#(<= ~counter~0 2)} ~cond := #in~cond; {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {2921#(<= ~counter~0 2)} assume !(0 == ~cond); {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,769 INFO L290 TraceCheckUtils]: 31: Hoare triple {2921#(<= ~counter~0 2)} assume true; {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,770 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2921#(<= ~counter~0 2)} {2921#(<= ~counter~0 2)} #63#return; {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,770 INFO L290 TraceCheckUtils]: 33: Hoare triple {2921#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,770 INFO L290 TraceCheckUtils]: 34: Hoare triple {2921#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2921#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:09,771 INFO L290 TraceCheckUtils]: 35: Hoare triple {2921#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,771 INFO L290 TraceCheckUtils]: 36: Hoare triple {2949#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,771 INFO L272 TraceCheckUtils]: 37: Hoare triple {2949#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,772 INFO L290 TraceCheckUtils]: 38: Hoare triple {2949#(<= ~counter~0 3)} ~cond := #in~cond; {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,772 INFO L290 TraceCheckUtils]: 39: Hoare triple {2949#(<= ~counter~0 3)} assume !(0 == ~cond); {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,772 INFO L290 TraceCheckUtils]: 40: Hoare triple {2949#(<= ~counter~0 3)} assume true; {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,772 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2949#(<= ~counter~0 3)} {2949#(<= ~counter~0 3)} #63#return; {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,773 INFO L290 TraceCheckUtils]: 42: Hoare triple {2949#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,773 INFO L290 TraceCheckUtils]: 43: Hoare triple {2949#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2949#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:09,773 INFO L290 TraceCheckUtils]: 44: Hoare triple {2949#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,774 INFO L290 TraceCheckUtils]: 45: Hoare triple {2977#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,774 INFO L272 TraceCheckUtils]: 46: Hoare triple {2977#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,774 INFO L290 TraceCheckUtils]: 47: Hoare triple {2977#(<= ~counter~0 4)} ~cond := #in~cond; {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,775 INFO L290 TraceCheckUtils]: 48: Hoare triple {2977#(<= ~counter~0 4)} assume !(0 == ~cond); {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,775 INFO L290 TraceCheckUtils]: 49: Hoare triple {2977#(<= ~counter~0 4)} assume true; {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,775 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2977#(<= ~counter~0 4)} {2977#(<= ~counter~0 4)} #63#return; {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,776 INFO L290 TraceCheckUtils]: 51: Hoare triple {2977#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,776 INFO L290 TraceCheckUtils]: 52: Hoare triple {2977#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {2977#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:09,776 INFO L290 TraceCheckUtils]: 53: Hoare triple {2977#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3005#(<= |main_#t~post6| 4)} is VALID [2022-04-28 07:17:09,777 INFO L290 TraceCheckUtils]: 54: Hoare triple {3005#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {2837#false} is VALID [2022-04-28 07:17:09,777 INFO L272 TraceCheckUtils]: 55: Hoare triple {2837#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {2837#false} is VALID [2022-04-28 07:17:09,777 INFO L290 TraceCheckUtils]: 56: Hoare triple {2837#false} ~cond := #in~cond; {2837#false} is VALID [2022-04-28 07:17:09,777 INFO L290 TraceCheckUtils]: 57: Hoare triple {2837#false} assume 0 == ~cond; {2837#false} is VALID [2022-04-28 07:17:09,777 INFO L290 TraceCheckUtils]: 58: Hoare triple {2837#false} assume !false; {2837#false} is VALID [2022-04-28 07:17:09,777 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:09,777 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:10,070 INFO L290 TraceCheckUtils]: 58: Hoare triple {2837#false} assume !false; {2837#false} is VALID [2022-04-28 07:17:10,070 INFO L290 TraceCheckUtils]: 57: Hoare triple {2837#false} assume 0 == ~cond; {2837#false} is VALID [2022-04-28 07:17:10,070 INFO L290 TraceCheckUtils]: 56: Hoare triple {2837#false} ~cond := #in~cond; {2837#false} is VALID [2022-04-28 07:17:10,070 INFO L272 TraceCheckUtils]: 55: Hoare triple {2837#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {2837#false} is VALID [2022-04-28 07:17:10,071 INFO L290 TraceCheckUtils]: 54: Hoare triple {3033#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2837#false} is VALID [2022-04-28 07:17:10,071 INFO L290 TraceCheckUtils]: 53: Hoare triple {3037#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3033#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:10,072 INFO L290 TraceCheckUtils]: 52: Hoare triple {3037#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3037#(< ~counter~0 20)} is VALID [2022-04-28 07:17:10,072 INFO L290 TraceCheckUtils]: 51: Hoare triple {3037#(< ~counter~0 20)} assume !!(0 != ~y3~0); {3037#(< ~counter~0 20)} is VALID [2022-04-28 07:17:10,073 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2836#true} {3037#(< ~counter~0 20)} #63#return; {3037#(< ~counter~0 20)} is VALID [2022-04-28 07:17:10,073 INFO L290 TraceCheckUtils]: 49: Hoare triple {2836#true} assume true; {2836#true} is VALID [2022-04-28 07:17:10,073 INFO L290 TraceCheckUtils]: 48: Hoare triple {2836#true} assume !(0 == ~cond); {2836#true} is VALID [2022-04-28 07:17:10,073 INFO L290 TraceCheckUtils]: 47: Hoare triple {2836#true} ~cond := #in~cond; {2836#true} is VALID [2022-04-28 07:17:10,073 INFO L272 TraceCheckUtils]: 46: Hoare triple {3037#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2836#true} is VALID [2022-04-28 07:17:10,074 INFO L290 TraceCheckUtils]: 45: Hoare triple {3037#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {3037#(< ~counter~0 20)} is VALID [2022-04-28 07:17:10,074 INFO L290 TraceCheckUtils]: 44: Hoare triple {3065#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3037#(< ~counter~0 20)} is VALID [2022-04-28 07:17:10,075 INFO L290 TraceCheckUtils]: 43: Hoare triple {3065#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3065#(< ~counter~0 19)} is VALID [2022-04-28 07:17:10,075 INFO L290 TraceCheckUtils]: 42: Hoare triple {3065#(< ~counter~0 19)} assume !!(0 != ~y3~0); {3065#(< ~counter~0 19)} is VALID [2022-04-28 07:17:10,076 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2836#true} {3065#(< ~counter~0 19)} #63#return; {3065#(< ~counter~0 19)} is VALID [2022-04-28 07:17:10,076 INFO L290 TraceCheckUtils]: 40: Hoare triple {2836#true} assume true; {2836#true} is VALID [2022-04-28 07:17:10,076 INFO L290 TraceCheckUtils]: 39: Hoare triple {2836#true} assume !(0 == ~cond); {2836#true} is VALID [2022-04-28 07:17:10,076 INFO L290 TraceCheckUtils]: 38: Hoare triple {2836#true} ~cond := #in~cond; {2836#true} is VALID [2022-04-28 07:17:10,077 INFO L272 TraceCheckUtils]: 37: Hoare triple {3065#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2836#true} is VALID [2022-04-28 07:17:10,077 INFO L290 TraceCheckUtils]: 36: Hoare triple {3065#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {3065#(< ~counter~0 19)} is VALID [2022-04-28 07:17:10,077 INFO L290 TraceCheckUtils]: 35: Hoare triple {3093#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3065#(< ~counter~0 19)} is VALID [2022-04-28 07:17:10,078 INFO L290 TraceCheckUtils]: 34: Hoare triple {3093#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3093#(< ~counter~0 18)} is VALID [2022-04-28 07:17:10,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {3093#(< ~counter~0 18)} assume !!(0 != ~y3~0); {3093#(< ~counter~0 18)} is VALID [2022-04-28 07:17:10,079 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2836#true} {3093#(< ~counter~0 18)} #63#return; {3093#(< ~counter~0 18)} is VALID [2022-04-28 07:17:10,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {2836#true} assume true; {2836#true} is VALID [2022-04-28 07:17:10,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {2836#true} assume !(0 == ~cond); {2836#true} is VALID [2022-04-28 07:17:10,079 INFO L290 TraceCheckUtils]: 29: Hoare triple {2836#true} ~cond := #in~cond; {2836#true} is VALID [2022-04-28 07:17:10,079 INFO L272 TraceCheckUtils]: 28: Hoare triple {3093#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2836#true} is VALID [2022-04-28 07:17:10,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {3093#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {3093#(< ~counter~0 18)} is VALID [2022-04-28 07:17:10,080 INFO L290 TraceCheckUtils]: 26: Hoare triple {3121#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3093#(< ~counter~0 18)} is VALID [2022-04-28 07:17:10,080 INFO L290 TraceCheckUtils]: 25: Hoare triple {3121#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3121#(< ~counter~0 17)} is VALID [2022-04-28 07:17:10,081 INFO L290 TraceCheckUtils]: 24: Hoare triple {3121#(< ~counter~0 17)} assume !!(0 != ~y3~0); {3121#(< ~counter~0 17)} is VALID [2022-04-28 07:17:10,081 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2836#true} {3121#(< ~counter~0 17)} #63#return; {3121#(< ~counter~0 17)} is VALID [2022-04-28 07:17:10,081 INFO L290 TraceCheckUtils]: 22: Hoare triple {2836#true} assume true; {2836#true} is VALID [2022-04-28 07:17:10,081 INFO L290 TraceCheckUtils]: 21: Hoare triple {2836#true} assume !(0 == ~cond); {2836#true} is VALID [2022-04-28 07:17:10,081 INFO L290 TraceCheckUtils]: 20: Hoare triple {2836#true} ~cond := #in~cond; {2836#true} is VALID [2022-04-28 07:17:10,082 INFO L272 TraceCheckUtils]: 19: Hoare triple {3121#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {2836#true} is VALID [2022-04-28 07:17:10,082 INFO L290 TraceCheckUtils]: 18: Hoare triple {3121#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {3121#(< ~counter~0 17)} is VALID [2022-04-28 07:17:10,082 INFO L290 TraceCheckUtils]: 17: Hoare triple {3149#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3121#(< ~counter~0 17)} is VALID [2022-04-28 07:17:10,083 INFO L290 TraceCheckUtils]: 16: Hoare triple {3149#(< ~counter~0 16)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,083 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2836#true} {3149#(< ~counter~0 16)} #61#return; {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,083 INFO L290 TraceCheckUtils]: 14: Hoare triple {2836#true} assume true; {2836#true} is VALID [2022-04-28 07:17:10,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {2836#true} assume !(0 == ~cond); {2836#true} is VALID [2022-04-28 07:17:10,083 INFO L290 TraceCheckUtils]: 12: Hoare triple {2836#true} ~cond := #in~cond; {2836#true} is VALID [2022-04-28 07:17:10,083 INFO L272 TraceCheckUtils]: 11: Hoare triple {3149#(< ~counter~0 16)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {2836#true} is VALID [2022-04-28 07:17:10,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2836#true} {3149#(< ~counter~0 16)} #59#return; {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {2836#true} assume true; {2836#true} is VALID [2022-04-28 07:17:10,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {2836#true} assume !(0 == ~cond); {2836#true} is VALID [2022-04-28 07:17:10,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {2836#true} ~cond := #in~cond; {2836#true} is VALID [2022-04-28 07:17:10,084 INFO L272 TraceCheckUtils]: 6: Hoare triple {3149#(< ~counter~0 16)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {2836#true} is VALID [2022-04-28 07:17:10,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {3149#(< ~counter~0 16)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {3149#(< ~counter~0 16)} call #t~ret7 := main(); {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3149#(< ~counter~0 16)} {2836#true} #67#return; {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {3149#(< ~counter~0 16)} assume true; {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,086 INFO L290 TraceCheckUtils]: 1: Hoare triple {2836#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3149#(< ~counter~0 16)} is VALID [2022-04-28 07:17:10,086 INFO L272 TraceCheckUtils]: 0: Hoare triple {2836#true} call ULTIMATE.init(); {2836#true} is VALID [2022-04-28 07:17:10,086 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 07:17:10,086 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:10,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [777228048] [2022-04-28 07:17:10,087 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:10,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1157024534] [2022-04-28 07:17:10,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1157024534] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:10,087 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:10,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 07:17:10,087 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:10,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1574491290] [2022-04-28 07:17:10,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1574491290] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:10,087 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:10,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:17:10,087 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [149102693] [2022-04-28 07:17:10,087 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:10,088 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 07:17:10,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:10,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:17:10,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:10,127 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:17:10,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:10,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:17:10,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 07:17:10,128 INFO L87 Difference]: Start difference. First operand 56 states and 61 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:17:10,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:10,333 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2022-04-28 07:17:10,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:17:10,333 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 07:17:10,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:10,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:17:10,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 07:17:10,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:17:10,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 07:17:10,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-28 07:17:10,384 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:10,387 INFO L225 Difference]: With dead ends: 70 [2022-04-28 07:17:10,387 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 07:17:10,388 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 105 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 07:17:10,388 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 25 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:10,388 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [25 Valid, 108 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:10,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 07:17:10,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 65. [2022-04-28 07:17:10,442 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:10,442 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:17:10,443 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:17:10,443 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:17:10,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:10,445 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-04-28 07:17:10,445 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 07:17:10,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:10,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:10,446 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 07:17:10,446 INFO L87 Difference]: Start difference. First operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 07:17:10,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:10,448 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-04-28 07:17:10,448 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 07:17:10,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:10,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:10,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:10,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:10,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:17:10,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 71 transitions. [2022-04-28 07:17:10,450 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 71 transitions. Word has length 59 [2022-04-28 07:17:10,450 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:10,450 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 71 transitions. [2022-04-28 07:17:10,451 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:17:10,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 71 transitions. [2022-04-28 07:17:10,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:10,519 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 07:17:10,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 07:17:10,519 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:10,519 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:10,536 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-28 07:17:10,731 WARN L477 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-28 07:17:10,733 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:10,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:10,734 INFO L85 PathProgramCache]: Analyzing trace with hash -1512407140, now seen corresponding path program 9 times [2022-04-28 07:17:10,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:10,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1435808057] [2022-04-28 07:17:10,734 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:10,734 INFO L85 PathProgramCache]: Analyzing trace with hash -1512407140, now seen corresponding path program 10 times [2022-04-28 07:17:10,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:10,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [250536527] [2022-04-28 07:17:10,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:10,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:10,745 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:10,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1123610023] [2022-04-28 07:17:10,745 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:17:10,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:10,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:10,746 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-28 07:17:10,747 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-28 07:17:10,791 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:17:10,792 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:10,793 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 07:17:10,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:10,803 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:11,089 INFO L272 TraceCheckUtils]: 0: Hoare triple {3611#true} call ULTIMATE.init(); {3611#true} is VALID [2022-04-28 07:17:11,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {3611#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {3619#(<= ~counter~0 0)} assume true; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3619#(<= ~counter~0 0)} {3611#true} #67#return; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {3619#(<= ~counter~0 0)} call #t~ret7 := main(); {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {3619#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {3619#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {3619#(<= ~counter~0 0)} ~cond := #in~cond; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {3619#(<= ~counter~0 0)} assume !(0 == ~cond); {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {3619#(<= ~counter~0 0)} assume true; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,094 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3619#(<= ~counter~0 0)} {3619#(<= ~counter~0 0)} #59#return; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,094 INFO L272 TraceCheckUtils]: 11: Hoare triple {3619#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {3619#(<= ~counter~0 0)} ~cond := #in~cond; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {3619#(<= ~counter~0 0)} assume !(0 == ~cond); {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,096 INFO L290 TraceCheckUtils]: 14: Hoare triple {3619#(<= ~counter~0 0)} assume true; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,096 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3619#(<= ~counter~0 0)} {3619#(<= ~counter~0 0)} #61#return; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {3619#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {3619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:11,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {3619#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {3668#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,098 INFO L272 TraceCheckUtils]: 19: Hoare triple {3668#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {3668#(<= ~counter~0 1)} ~cond := #in~cond; {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {3668#(<= ~counter~0 1)} assume !(0 == ~cond); {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,099 INFO L290 TraceCheckUtils]: 22: Hoare triple {3668#(<= ~counter~0 1)} assume true; {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,099 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3668#(<= ~counter~0 1)} {3668#(<= ~counter~0 1)} #63#return; {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,099 INFO L290 TraceCheckUtils]: 24: Hoare triple {3668#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {3668#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:11,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {3668#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,101 INFO L290 TraceCheckUtils]: 27: Hoare triple {3696#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,101 INFO L272 TraceCheckUtils]: 28: Hoare triple {3696#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,101 INFO L290 TraceCheckUtils]: 29: Hoare triple {3696#(<= ~counter~0 2)} ~cond := #in~cond; {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,102 INFO L290 TraceCheckUtils]: 30: Hoare triple {3696#(<= ~counter~0 2)} assume !(0 == ~cond); {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,102 INFO L290 TraceCheckUtils]: 31: Hoare triple {3696#(<= ~counter~0 2)} assume true; {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,102 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3696#(<= ~counter~0 2)} {3696#(<= ~counter~0 2)} #63#return; {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,103 INFO L290 TraceCheckUtils]: 33: Hoare triple {3696#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,103 INFO L290 TraceCheckUtils]: 34: Hoare triple {3696#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:11,103 INFO L290 TraceCheckUtils]: 35: Hoare triple {3696#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,104 INFO L290 TraceCheckUtils]: 36: Hoare triple {3724#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,105 INFO L272 TraceCheckUtils]: 37: Hoare triple {3724#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,105 INFO L290 TraceCheckUtils]: 38: Hoare triple {3724#(<= ~counter~0 3)} ~cond := #in~cond; {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,105 INFO L290 TraceCheckUtils]: 39: Hoare triple {3724#(<= ~counter~0 3)} assume !(0 == ~cond); {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,106 INFO L290 TraceCheckUtils]: 40: Hoare triple {3724#(<= ~counter~0 3)} assume true; {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,106 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3724#(<= ~counter~0 3)} {3724#(<= ~counter~0 3)} #63#return; {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,106 INFO L290 TraceCheckUtils]: 42: Hoare triple {3724#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,107 INFO L290 TraceCheckUtils]: 43: Hoare triple {3724#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:11,107 INFO L290 TraceCheckUtils]: 44: Hoare triple {3724#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,107 INFO L290 TraceCheckUtils]: 45: Hoare triple {3752#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,108 INFO L272 TraceCheckUtils]: 46: Hoare triple {3752#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,108 INFO L290 TraceCheckUtils]: 47: Hoare triple {3752#(<= ~counter~0 4)} ~cond := #in~cond; {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,108 INFO L290 TraceCheckUtils]: 48: Hoare triple {3752#(<= ~counter~0 4)} assume !(0 == ~cond); {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,109 INFO L290 TraceCheckUtils]: 49: Hoare triple {3752#(<= ~counter~0 4)} assume true; {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,109 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3752#(<= ~counter~0 4)} {3752#(<= ~counter~0 4)} #63#return; {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,109 INFO L290 TraceCheckUtils]: 51: Hoare triple {3752#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,110 INFO L290 TraceCheckUtils]: 52: Hoare triple {3752#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:11,110 INFO L290 TraceCheckUtils]: 53: Hoare triple {3752#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,110 INFO L290 TraceCheckUtils]: 54: Hoare triple {3780#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,111 INFO L272 TraceCheckUtils]: 55: Hoare triple {3780#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,111 INFO L290 TraceCheckUtils]: 56: Hoare triple {3780#(<= ~counter~0 5)} ~cond := #in~cond; {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,111 INFO L290 TraceCheckUtils]: 57: Hoare triple {3780#(<= ~counter~0 5)} assume !(0 == ~cond); {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,112 INFO L290 TraceCheckUtils]: 58: Hoare triple {3780#(<= ~counter~0 5)} assume true; {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,112 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3780#(<= ~counter~0 5)} {3780#(<= ~counter~0 5)} #63#return; {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,112 INFO L290 TraceCheckUtils]: 60: Hoare triple {3780#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,113 INFO L290 TraceCheckUtils]: 61: Hoare triple {3780#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:11,113 INFO L290 TraceCheckUtils]: 62: Hoare triple {3780#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3808#(<= |main_#t~post6| 5)} is VALID [2022-04-28 07:17:11,113 INFO L290 TraceCheckUtils]: 63: Hoare triple {3808#(<= |main_#t~post6| 5)} assume !(#t~post6 < 20);havoc #t~post6; {3612#false} is VALID [2022-04-28 07:17:11,113 INFO L272 TraceCheckUtils]: 64: Hoare triple {3612#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {3612#false} is VALID [2022-04-28 07:17:11,114 INFO L290 TraceCheckUtils]: 65: Hoare triple {3612#false} ~cond := #in~cond; {3612#false} is VALID [2022-04-28 07:17:11,114 INFO L290 TraceCheckUtils]: 66: Hoare triple {3612#false} assume 0 == ~cond; {3612#false} is VALID [2022-04-28 07:17:11,114 INFO L290 TraceCheckUtils]: 67: Hoare triple {3612#false} assume !false; {3612#false} is VALID [2022-04-28 07:17:11,114 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 10 proven. 100 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:11,114 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:11,472 INFO L290 TraceCheckUtils]: 67: Hoare triple {3612#false} assume !false; {3612#false} is VALID [2022-04-28 07:17:11,472 INFO L290 TraceCheckUtils]: 66: Hoare triple {3612#false} assume 0 == ~cond; {3612#false} is VALID [2022-04-28 07:17:11,472 INFO L290 TraceCheckUtils]: 65: Hoare triple {3612#false} ~cond := #in~cond; {3612#false} is VALID [2022-04-28 07:17:11,472 INFO L272 TraceCheckUtils]: 64: Hoare triple {3612#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {3612#false} is VALID [2022-04-28 07:17:11,473 INFO L290 TraceCheckUtils]: 63: Hoare triple {3836#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {3612#false} is VALID [2022-04-28 07:17:11,473 INFO L290 TraceCheckUtils]: 62: Hoare triple {3840#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3836#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:11,473 INFO L290 TraceCheckUtils]: 61: Hoare triple {3840#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3840#(< ~counter~0 20)} is VALID [2022-04-28 07:17:11,474 INFO L290 TraceCheckUtils]: 60: Hoare triple {3840#(< ~counter~0 20)} assume !!(0 != ~y3~0); {3840#(< ~counter~0 20)} is VALID [2022-04-28 07:17:11,474 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3611#true} {3840#(< ~counter~0 20)} #63#return; {3840#(< ~counter~0 20)} is VALID [2022-04-28 07:17:11,474 INFO L290 TraceCheckUtils]: 58: Hoare triple {3611#true} assume true; {3611#true} is VALID [2022-04-28 07:17:11,474 INFO L290 TraceCheckUtils]: 57: Hoare triple {3611#true} assume !(0 == ~cond); {3611#true} is VALID [2022-04-28 07:17:11,474 INFO L290 TraceCheckUtils]: 56: Hoare triple {3611#true} ~cond := #in~cond; {3611#true} is VALID [2022-04-28 07:17:11,475 INFO L272 TraceCheckUtils]: 55: Hoare triple {3840#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3611#true} is VALID [2022-04-28 07:17:11,475 INFO L290 TraceCheckUtils]: 54: Hoare triple {3840#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {3840#(< ~counter~0 20)} is VALID [2022-04-28 07:17:11,475 INFO L290 TraceCheckUtils]: 53: Hoare triple {3868#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3840#(< ~counter~0 20)} is VALID [2022-04-28 07:17:11,476 INFO L290 TraceCheckUtils]: 52: Hoare triple {3868#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3868#(< ~counter~0 19)} is VALID [2022-04-28 07:17:11,476 INFO L290 TraceCheckUtils]: 51: Hoare triple {3868#(< ~counter~0 19)} assume !!(0 != ~y3~0); {3868#(< ~counter~0 19)} is VALID [2022-04-28 07:17:11,476 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3611#true} {3868#(< ~counter~0 19)} #63#return; {3868#(< ~counter~0 19)} is VALID [2022-04-28 07:17:11,477 INFO L290 TraceCheckUtils]: 49: Hoare triple {3611#true} assume true; {3611#true} is VALID [2022-04-28 07:17:11,477 INFO L290 TraceCheckUtils]: 48: Hoare triple {3611#true} assume !(0 == ~cond); {3611#true} is VALID [2022-04-28 07:17:11,477 INFO L290 TraceCheckUtils]: 47: Hoare triple {3611#true} ~cond := #in~cond; {3611#true} is VALID [2022-04-28 07:17:11,477 INFO L272 TraceCheckUtils]: 46: Hoare triple {3868#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3611#true} is VALID [2022-04-28 07:17:11,477 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {3868#(< ~counter~0 19)} is VALID [2022-04-28 07:17:11,477 INFO L290 TraceCheckUtils]: 44: Hoare triple {3896#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3868#(< ~counter~0 19)} is VALID [2022-04-28 07:17:11,478 INFO L290 TraceCheckUtils]: 43: Hoare triple {3896#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3896#(< ~counter~0 18)} is VALID [2022-04-28 07:17:11,478 INFO L290 TraceCheckUtils]: 42: Hoare triple {3896#(< ~counter~0 18)} assume !!(0 != ~y3~0); {3896#(< ~counter~0 18)} is VALID [2022-04-28 07:17:11,478 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3611#true} {3896#(< ~counter~0 18)} #63#return; {3896#(< ~counter~0 18)} is VALID [2022-04-28 07:17:11,478 INFO L290 TraceCheckUtils]: 40: Hoare triple {3611#true} assume true; {3611#true} is VALID [2022-04-28 07:17:11,478 INFO L290 TraceCheckUtils]: 39: Hoare triple {3611#true} assume !(0 == ~cond); {3611#true} is VALID [2022-04-28 07:17:11,479 INFO L290 TraceCheckUtils]: 38: Hoare triple {3611#true} ~cond := #in~cond; {3611#true} is VALID [2022-04-28 07:17:11,479 INFO L272 TraceCheckUtils]: 37: Hoare triple {3896#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3611#true} is VALID [2022-04-28 07:17:11,479 INFO L290 TraceCheckUtils]: 36: Hoare triple {3896#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {3896#(< ~counter~0 18)} is VALID [2022-04-28 07:17:11,479 INFO L290 TraceCheckUtils]: 35: Hoare triple {3924#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3896#(< ~counter~0 18)} is VALID [2022-04-28 07:17:11,479 INFO L290 TraceCheckUtils]: 34: Hoare triple {3924#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3924#(< ~counter~0 17)} is VALID [2022-04-28 07:17:11,480 INFO L290 TraceCheckUtils]: 33: Hoare triple {3924#(< ~counter~0 17)} assume !!(0 != ~y3~0); {3924#(< ~counter~0 17)} is VALID [2022-04-28 07:17:11,480 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3611#true} {3924#(< ~counter~0 17)} #63#return; {3924#(< ~counter~0 17)} is VALID [2022-04-28 07:17:11,480 INFO L290 TraceCheckUtils]: 31: Hoare triple {3611#true} assume true; {3611#true} is VALID [2022-04-28 07:17:11,480 INFO L290 TraceCheckUtils]: 30: Hoare triple {3611#true} assume !(0 == ~cond); {3611#true} is VALID [2022-04-28 07:17:11,480 INFO L290 TraceCheckUtils]: 29: Hoare triple {3611#true} ~cond := #in~cond; {3611#true} is VALID [2022-04-28 07:17:11,480 INFO L272 TraceCheckUtils]: 28: Hoare triple {3924#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3611#true} is VALID [2022-04-28 07:17:11,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {3924#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {3924#(< ~counter~0 17)} is VALID [2022-04-28 07:17:11,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {3952#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3924#(< ~counter~0 17)} is VALID [2022-04-28 07:17:11,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {3952#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {3952#(< ~counter~0 16)} is VALID [2022-04-28 07:17:11,482 INFO L290 TraceCheckUtils]: 24: Hoare triple {3952#(< ~counter~0 16)} assume !!(0 != ~y3~0); {3952#(< ~counter~0 16)} is VALID [2022-04-28 07:17:11,482 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3611#true} {3952#(< ~counter~0 16)} #63#return; {3952#(< ~counter~0 16)} is VALID [2022-04-28 07:17:11,482 INFO L290 TraceCheckUtils]: 22: Hoare triple {3611#true} assume true; {3611#true} is VALID [2022-04-28 07:17:11,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {3611#true} assume !(0 == ~cond); {3611#true} is VALID [2022-04-28 07:17:11,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {3611#true} ~cond := #in~cond; {3611#true} is VALID [2022-04-28 07:17:11,482 INFO L272 TraceCheckUtils]: 19: Hoare triple {3952#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {3611#true} is VALID [2022-04-28 07:17:11,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {3952#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {3952#(< ~counter~0 16)} is VALID [2022-04-28 07:17:11,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {3980#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3952#(< ~counter~0 16)} is VALID [2022-04-28 07:17:11,483 INFO L290 TraceCheckUtils]: 16: Hoare triple {3980#(< ~counter~0 15)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,484 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3611#true} {3980#(< ~counter~0 15)} #61#return; {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {3611#true} assume true; {3611#true} is VALID [2022-04-28 07:17:11,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {3611#true} assume !(0 == ~cond); {3611#true} is VALID [2022-04-28 07:17:11,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {3611#true} ~cond := #in~cond; {3611#true} is VALID [2022-04-28 07:17:11,484 INFO L272 TraceCheckUtils]: 11: Hoare triple {3980#(< ~counter~0 15)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {3611#true} is VALID [2022-04-28 07:17:11,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3611#true} {3980#(< ~counter~0 15)} #59#return; {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {3611#true} assume true; {3611#true} is VALID [2022-04-28 07:17:11,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {3611#true} assume !(0 == ~cond); {3611#true} is VALID [2022-04-28 07:17:11,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {3611#true} ~cond := #in~cond; {3611#true} is VALID [2022-04-28 07:17:11,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {3980#(< ~counter~0 15)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {3611#true} is VALID [2022-04-28 07:17:11,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {3980#(< ~counter~0 15)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {3980#(< ~counter~0 15)} call #t~ret7 := main(); {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3980#(< ~counter~0 15)} {3611#true} #67#return; {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {3980#(< ~counter~0 15)} assume true; {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {3611#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3980#(< ~counter~0 15)} is VALID [2022-04-28 07:17:11,486 INFO L272 TraceCheckUtils]: 0: Hoare triple {3611#true} call ULTIMATE.init(); {3611#true} is VALID [2022-04-28 07:17:11,486 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 10 proven. 60 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 07:17:11,486 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:11,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [250536527] [2022-04-28 07:17:11,487 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:11,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1123610023] [2022-04-28 07:17:11,487 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1123610023] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:11,487 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:11,487 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 07:17:11,487 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:11,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1435808057] [2022-04-28 07:17:11,487 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1435808057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:11,487 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:11,487 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:17:11,487 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1130956145] [2022-04-28 07:17:11,487 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:11,488 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) Word has length 68 [2022-04-28 07:17:11,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:11,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:17:11,529 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-28 07:17:11,529 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:17:11,529 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:11,529 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:17:11,529 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 07:17:11,529 INFO L87 Difference]: Start difference. First operand 65 states and 71 transitions. Second operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:17:11,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:11,732 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2022-04-28 07:17:11,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 07:17:11,732 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) Word has length 68 [2022-04-28 07:17:11,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:11,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:17:11,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2022-04-28 07:17:11,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:17:11,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2022-04-28 07:17:11,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 85 transitions. [2022-04-28 07:17:11,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:11,789 INFO L225 Difference]: With dead ends: 79 [2022-04-28 07:17:11,789 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 07:17:11,790 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 121 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=249, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:17:11,790 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 13 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:11,790 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 116 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:11,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 07:17:11,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 07:17:11,862 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:11,862 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:17:11,862 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:17:11,863 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:17:11,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:11,864 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-28 07:17:11,864 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 07:17:11,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:11,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:11,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 07:17:11,865 INFO L87 Difference]: Start difference. First operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 07:17:11,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:11,866 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-28 07:17:11,866 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 07:17:11,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:11,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:11,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:11,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:11,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:17:11,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 81 transitions. [2022-04-28 07:17:11,868 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 81 transitions. Word has length 68 [2022-04-28 07:17:11,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:11,868 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 81 transitions. [2022-04-28 07:17:11,869 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 07:17:11,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 81 transitions. [2022-04-28 07:17:11,953 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:11,954 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 07:17:11,954 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 07:17:11,954 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:11,954 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:11,972 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-28 07:17:12,155 WARN L477 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-28 07:17:12,155 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:12,155 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:12,155 INFO L85 PathProgramCache]: Analyzing trace with hash 771706710, now seen corresponding path program 11 times [2022-04-28 07:17:12,155 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:12,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1138671600] [2022-04-28 07:17:12,156 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:12,156 INFO L85 PathProgramCache]: Analyzing trace with hash 771706710, now seen corresponding path program 12 times [2022-04-28 07:17:12,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:12,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1061115789] [2022-04-28 07:17:12,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:12,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:12,173 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:12,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2001345710] [2022-04-28 07:17:12,173 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:17:12,173 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:12,174 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:12,174 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-28 07:17:12,176 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-28 07:17:12,250 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 07:17:12,250 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:12,251 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 07:17:12,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:12,266 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:12,646 INFO L272 TraceCheckUtils]: 0: Hoare triple {4498#true} call ULTIMATE.init(); {4498#true} is VALID [2022-04-28 07:17:12,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {4498#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {4506#(<= ~counter~0 0)} assume true; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4506#(<= ~counter~0 0)} {4498#true} #67#return; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {4506#(<= ~counter~0 0)} call #t~ret7 := main(); {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {4506#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,648 INFO L272 TraceCheckUtils]: 6: Hoare triple {4506#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {4506#(<= ~counter~0 0)} ~cond := #in~cond; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {4506#(<= ~counter~0 0)} assume !(0 == ~cond); {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,649 INFO L290 TraceCheckUtils]: 9: Hoare triple {4506#(<= ~counter~0 0)} assume true; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,649 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4506#(<= ~counter~0 0)} {4506#(<= ~counter~0 0)} #59#return; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,649 INFO L272 TraceCheckUtils]: 11: Hoare triple {4506#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,655 INFO L290 TraceCheckUtils]: 12: Hoare triple {4506#(<= ~counter~0 0)} ~cond := #in~cond; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {4506#(<= ~counter~0 0)} assume !(0 == ~cond); {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,656 INFO L290 TraceCheckUtils]: 14: Hoare triple {4506#(<= ~counter~0 0)} assume true; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,656 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4506#(<= ~counter~0 0)} {4506#(<= ~counter~0 0)} #61#return; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,657 INFO L290 TraceCheckUtils]: 16: Hoare triple {4506#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {4506#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:12,657 INFO L290 TraceCheckUtils]: 17: Hoare triple {4506#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {4555#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,658 INFO L272 TraceCheckUtils]: 19: Hoare triple {4555#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {4555#(<= ~counter~0 1)} ~cond := #in~cond; {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,659 INFO L290 TraceCheckUtils]: 21: Hoare triple {4555#(<= ~counter~0 1)} assume !(0 == ~cond); {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {4555#(<= ~counter~0 1)} assume true; {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,659 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4555#(<= ~counter~0 1)} {4555#(<= ~counter~0 1)} #63#return; {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {4555#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {4555#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4555#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:12,660 INFO L290 TraceCheckUtils]: 26: Hoare triple {4555#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {4583#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,668 INFO L272 TraceCheckUtils]: 28: Hoare triple {4583#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,669 INFO L290 TraceCheckUtils]: 29: Hoare triple {4583#(<= ~counter~0 2)} ~cond := #in~cond; {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,669 INFO L290 TraceCheckUtils]: 30: Hoare triple {4583#(<= ~counter~0 2)} assume !(0 == ~cond); {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,669 INFO L290 TraceCheckUtils]: 31: Hoare triple {4583#(<= ~counter~0 2)} assume true; {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,670 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4583#(<= ~counter~0 2)} {4583#(<= ~counter~0 2)} #63#return; {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,670 INFO L290 TraceCheckUtils]: 33: Hoare triple {4583#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,670 INFO L290 TraceCheckUtils]: 34: Hoare triple {4583#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4583#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:12,671 INFO L290 TraceCheckUtils]: 35: Hoare triple {4583#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,671 INFO L290 TraceCheckUtils]: 36: Hoare triple {4611#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,671 INFO L272 TraceCheckUtils]: 37: Hoare triple {4611#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,672 INFO L290 TraceCheckUtils]: 38: Hoare triple {4611#(<= ~counter~0 3)} ~cond := #in~cond; {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,672 INFO L290 TraceCheckUtils]: 39: Hoare triple {4611#(<= ~counter~0 3)} assume !(0 == ~cond); {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,672 INFO L290 TraceCheckUtils]: 40: Hoare triple {4611#(<= ~counter~0 3)} assume true; {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,673 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4611#(<= ~counter~0 3)} {4611#(<= ~counter~0 3)} #63#return; {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,673 INFO L290 TraceCheckUtils]: 42: Hoare triple {4611#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,673 INFO L290 TraceCheckUtils]: 43: Hoare triple {4611#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4611#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:12,674 INFO L290 TraceCheckUtils]: 44: Hoare triple {4611#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,674 INFO L290 TraceCheckUtils]: 45: Hoare triple {4639#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,674 INFO L272 TraceCheckUtils]: 46: Hoare triple {4639#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,675 INFO L290 TraceCheckUtils]: 47: Hoare triple {4639#(<= ~counter~0 4)} ~cond := #in~cond; {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,675 INFO L290 TraceCheckUtils]: 48: Hoare triple {4639#(<= ~counter~0 4)} assume !(0 == ~cond); {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,675 INFO L290 TraceCheckUtils]: 49: Hoare triple {4639#(<= ~counter~0 4)} assume true; {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,676 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4639#(<= ~counter~0 4)} {4639#(<= ~counter~0 4)} #63#return; {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,676 INFO L290 TraceCheckUtils]: 51: Hoare triple {4639#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,676 INFO L290 TraceCheckUtils]: 52: Hoare triple {4639#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4639#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:12,677 INFO L290 TraceCheckUtils]: 53: Hoare triple {4639#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,677 INFO L290 TraceCheckUtils]: 54: Hoare triple {4667#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,678 INFO L272 TraceCheckUtils]: 55: Hoare triple {4667#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,678 INFO L290 TraceCheckUtils]: 56: Hoare triple {4667#(<= ~counter~0 5)} ~cond := #in~cond; {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,678 INFO L290 TraceCheckUtils]: 57: Hoare triple {4667#(<= ~counter~0 5)} assume !(0 == ~cond); {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,678 INFO L290 TraceCheckUtils]: 58: Hoare triple {4667#(<= ~counter~0 5)} assume true; {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,679 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4667#(<= ~counter~0 5)} {4667#(<= ~counter~0 5)} #63#return; {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,679 INFO L290 TraceCheckUtils]: 60: Hoare triple {4667#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,679 INFO L290 TraceCheckUtils]: 61: Hoare triple {4667#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4667#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:12,680 INFO L290 TraceCheckUtils]: 62: Hoare triple {4667#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,680 INFO L290 TraceCheckUtils]: 63: Hoare triple {4695#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,681 INFO L272 TraceCheckUtils]: 64: Hoare triple {4695#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,681 INFO L290 TraceCheckUtils]: 65: Hoare triple {4695#(<= ~counter~0 6)} ~cond := #in~cond; {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,681 INFO L290 TraceCheckUtils]: 66: Hoare triple {4695#(<= ~counter~0 6)} assume !(0 == ~cond); {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,681 INFO L290 TraceCheckUtils]: 67: Hoare triple {4695#(<= ~counter~0 6)} assume true; {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,682 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4695#(<= ~counter~0 6)} {4695#(<= ~counter~0 6)} #63#return; {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,682 INFO L290 TraceCheckUtils]: 69: Hoare triple {4695#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,682 INFO L290 TraceCheckUtils]: 70: Hoare triple {4695#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4695#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:12,683 INFO L290 TraceCheckUtils]: 71: Hoare triple {4695#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4723#(<= |main_#t~post6| 6)} is VALID [2022-04-28 07:17:12,683 INFO L290 TraceCheckUtils]: 72: Hoare triple {4723#(<= |main_#t~post6| 6)} assume !(#t~post6 < 20);havoc #t~post6; {4499#false} is VALID [2022-04-28 07:17:12,683 INFO L272 TraceCheckUtils]: 73: Hoare triple {4499#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {4499#false} is VALID [2022-04-28 07:17:12,683 INFO L290 TraceCheckUtils]: 74: Hoare triple {4499#false} ~cond := #in~cond; {4499#false} is VALID [2022-04-28 07:17:12,683 INFO L290 TraceCheckUtils]: 75: Hoare triple {4499#false} assume 0 == ~cond; {4499#false} is VALID [2022-04-28 07:17:12,683 INFO L290 TraceCheckUtils]: 76: Hoare triple {4499#false} assume !false; {4499#false} is VALID [2022-04-28 07:17:12,684 INFO L134 CoverageAnalysis]: Checked inductivity of 163 backedges. 12 proven. 147 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:12,684 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:13,092 INFO L290 TraceCheckUtils]: 76: Hoare triple {4499#false} assume !false; {4499#false} is VALID [2022-04-28 07:17:13,092 INFO L290 TraceCheckUtils]: 75: Hoare triple {4499#false} assume 0 == ~cond; {4499#false} is VALID [2022-04-28 07:17:13,092 INFO L290 TraceCheckUtils]: 74: Hoare triple {4499#false} ~cond := #in~cond; {4499#false} is VALID [2022-04-28 07:17:13,092 INFO L272 TraceCheckUtils]: 73: Hoare triple {4499#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {4499#false} is VALID [2022-04-28 07:17:13,102 INFO L290 TraceCheckUtils]: 72: Hoare triple {4751#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {4499#false} is VALID [2022-04-28 07:17:13,103 INFO L290 TraceCheckUtils]: 71: Hoare triple {4755#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4751#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:13,103 INFO L290 TraceCheckUtils]: 70: Hoare triple {4755#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4755#(< ~counter~0 20)} is VALID [2022-04-28 07:17:13,103 INFO L290 TraceCheckUtils]: 69: Hoare triple {4755#(< ~counter~0 20)} assume !!(0 != ~y3~0); {4755#(< ~counter~0 20)} is VALID [2022-04-28 07:17:13,104 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4498#true} {4755#(< ~counter~0 20)} #63#return; {4755#(< ~counter~0 20)} is VALID [2022-04-28 07:17:13,104 INFO L290 TraceCheckUtils]: 67: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,104 INFO L290 TraceCheckUtils]: 66: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,104 INFO L290 TraceCheckUtils]: 65: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,104 INFO L272 TraceCheckUtils]: 64: Hoare triple {4755#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,104 INFO L290 TraceCheckUtils]: 63: Hoare triple {4755#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {4755#(< ~counter~0 20)} is VALID [2022-04-28 07:17:13,105 INFO L290 TraceCheckUtils]: 62: Hoare triple {4783#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4755#(< ~counter~0 20)} is VALID [2022-04-28 07:17:13,105 INFO L290 TraceCheckUtils]: 61: Hoare triple {4783#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4783#(< ~counter~0 19)} is VALID [2022-04-28 07:17:13,105 INFO L290 TraceCheckUtils]: 60: Hoare triple {4783#(< ~counter~0 19)} assume !!(0 != ~y3~0); {4783#(< ~counter~0 19)} is VALID [2022-04-28 07:17:13,106 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4498#true} {4783#(< ~counter~0 19)} #63#return; {4783#(< ~counter~0 19)} is VALID [2022-04-28 07:17:13,106 INFO L290 TraceCheckUtils]: 58: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,106 INFO L290 TraceCheckUtils]: 57: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,106 INFO L290 TraceCheckUtils]: 56: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,106 INFO L272 TraceCheckUtils]: 55: Hoare triple {4783#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,106 INFO L290 TraceCheckUtils]: 54: Hoare triple {4783#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {4783#(< ~counter~0 19)} is VALID [2022-04-28 07:17:13,107 INFO L290 TraceCheckUtils]: 53: Hoare triple {4811#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4783#(< ~counter~0 19)} is VALID [2022-04-28 07:17:13,107 INFO L290 TraceCheckUtils]: 52: Hoare triple {4811#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4811#(< ~counter~0 18)} is VALID [2022-04-28 07:17:13,107 INFO L290 TraceCheckUtils]: 51: Hoare triple {4811#(< ~counter~0 18)} assume !!(0 != ~y3~0); {4811#(< ~counter~0 18)} is VALID [2022-04-28 07:17:13,108 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4498#true} {4811#(< ~counter~0 18)} #63#return; {4811#(< ~counter~0 18)} is VALID [2022-04-28 07:17:13,108 INFO L290 TraceCheckUtils]: 49: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,108 INFO L290 TraceCheckUtils]: 48: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,108 INFO L290 TraceCheckUtils]: 47: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,108 INFO L272 TraceCheckUtils]: 46: Hoare triple {4811#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,108 INFO L290 TraceCheckUtils]: 45: Hoare triple {4811#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {4811#(< ~counter~0 18)} is VALID [2022-04-28 07:17:13,109 INFO L290 TraceCheckUtils]: 44: Hoare triple {4839#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4811#(< ~counter~0 18)} is VALID [2022-04-28 07:17:13,109 INFO L290 TraceCheckUtils]: 43: Hoare triple {4839#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4839#(< ~counter~0 17)} is VALID [2022-04-28 07:17:13,109 INFO L290 TraceCheckUtils]: 42: Hoare triple {4839#(< ~counter~0 17)} assume !!(0 != ~y3~0); {4839#(< ~counter~0 17)} is VALID [2022-04-28 07:17:13,110 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4498#true} {4839#(< ~counter~0 17)} #63#return; {4839#(< ~counter~0 17)} is VALID [2022-04-28 07:17:13,110 INFO L290 TraceCheckUtils]: 40: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,110 INFO L290 TraceCheckUtils]: 39: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,110 INFO L290 TraceCheckUtils]: 38: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,110 INFO L272 TraceCheckUtils]: 37: Hoare triple {4839#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,111 INFO L290 TraceCheckUtils]: 36: Hoare triple {4839#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {4839#(< ~counter~0 17)} is VALID [2022-04-28 07:17:13,111 INFO L290 TraceCheckUtils]: 35: Hoare triple {4867#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4839#(< ~counter~0 17)} is VALID [2022-04-28 07:17:13,111 INFO L290 TraceCheckUtils]: 34: Hoare triple {4867#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4867#(< ~counter~0 16)} is VALID [2022-04-28 07:17:13,112 INFO L290 TraceCheckUtils]: 33: Hoare triple {4867#(< ~counter~0 16)} assume !!(0 != ~y3~0); {4867#(< ~counter~0 16)} is VALID [2022-04-28 07:17:13,112 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4498#true} {4867#(< ~counter~0 16)} #63#return; {4867#(< ~counter~0 16)} is VALID [2022-04-28 07:17:13,112 INFO L290 TraceCheckUtils]: 31: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,112 INFO L290 TraceCheckUtils]: 30: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,112 INFO L290 TraceCheckUtils]: 29: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,112 INFO L272 TraceCheckUtils]: 28: Hoare triple {4867#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,113 INFO L290 TraceCheckUtils]: 27: Hoare triple {4867#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {4867#(< ~counter~0 16)} is VALID [2022-04-28 07:17:13,113 INFO L290 TraceCheckUtils]: 26: Hoare triple {4895#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4867#(< ~counter~0 16)} is VALID [2022-04-28 07:17:13,113 INFO L290 TraceCheckUtils]: 25: Hoare triple {4895#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {4895#(< ~counter~0 15)} is VALID [2022-04-28 07:17:13,114 INFO L290 TraceCheckUtils]: 24: Hoare triple {4895#(< ~counter~0 15)} assume !!(0 != ~y3~0); {4895#(< ~counter~0 15)} is VALID [2022-04-28 07:17:13,114 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4498#true} {4895#(< ~counter~0 15)} #63#return; {4895#(< ~counter~0 15)} is VALID [2022-04-28 07:17:13,114 INFO L290 TraceCheckUtils]: 22: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,115 INFO L272 TraceCheckUtils]: 19: Hoare triple {4895#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {4895#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {4895#(< ~counter~0 15)} is VALID [2022-04-28 07:17:13,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {4923#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4895#(< ~counter~0 15)} is VALID [2022-04-28 07:17:13,115 INFO L290 TraceCheckUtils]: 16: Hoare triple {4923#(< ~counter~0 14)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,116 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4498#true} {4923#(< ~counter~0 14)} #61#return; {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,116 INFO L272 TraceCheckUtils]: 11: Hoare triple {4923#(< ~counter~0 14)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,117 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4498#true} {4923#(< ~counter~0 14)} #59#return; {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {4498#true} assume true; {4498#true} is VALID [2022-04-28 07:17:13,117 INFO L290 TraceCheckUtils]: 8: Hoare triple {4498#true} assume !(0 == ~cond); {4498#true} is VALID [2022-04-28 07:17:13,117 INFO L290 TraceCheckUtils]: 7: Hoare triple {4498#true} ~cond := #in~cond; {4498#true} is VALID [2022-04-28 07:17:13,117 INFO L272 TraceCheckUtils]: 6: Hoare triple {4923#(< ~counter~0 14)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {4498#true} is VALID [2022-04-28 07:17:13,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {4923#(< ~counter~0 14)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,117 INFO L272 TraceCheckUtils]: 4: Hoare triple {4923#(< ~counter~0 14)} call #t~ret7 := main(); {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4923#(< ~counter~0 14)} {4498#true} #67#return; {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {4923#(< ~counter~0 14)} assume true; {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {4498#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4923#(< ~counter~0 14)} is VALID [2022-04-28 07:17:13,119 INFO L272 TraceCheckUtils]: 0: Hoare triple {4498#true} call ULTIMATE.init(); {4498#true} is VALID [2022-04-28 07:17:13,119 INFO L134 CoverageAnalysis]: Checked inductivity of 163 backedges. 12 proven. 87 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 07:17:13,119 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:13,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1061115789] [2022-04-28 07:17:13,119 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:13,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2001345710] [2022-04-28 07:17:13,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2001345710] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:13,119 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:13,119 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 07:17:13,120 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:13,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1138671600] [2022-04-28 07:17:13,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1138671600] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:13,120 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:13,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 07:17:13,120 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1598560443] [2022-04-28 07:17:13,120 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:13,120 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) Word has length 77 [2022-04-28 07:17:13,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:13,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 07:17:13,169 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-28 07:17:13,169 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 07:17:13,169 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:13,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 07:17:13,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 07:17:13,170 INFO L87 Difference]: Start difference. First operand 74 states and 81 transitions. Second operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 07:17:13,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:13,427 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 07:17:13,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 07:17:13,427 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) Word has length 77 [2022-04-28 07:17:13,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:13,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 07:17:13,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 95 transitions. [2022-04-28 07:17:13,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 07:17:13,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 95 transitions. [2022-04-28 07:17:13,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 95 transitions. [2022-04-28 07:17:13,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:13,511 INFO L225 Difference]: With dead ends: 88 [2022-04-28 07:17:13,511 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 07:17:13,512 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 137 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=227, Invalid=325, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:13,513 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 16 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:13,513 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 124 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:13,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 07:17:13,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2022-04-28 07:17:13,603 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:13,603 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:17:13,603 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:17:13,604 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:17:13,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:13,607 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-28 07:17:13,607 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 07:17:13,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:13,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:13,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 83 states. [2022-04-28 07:17:13,608 INFO L87 Difference]: Start difference. First operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 83 states. [2022-04-28 07:17:13,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:13,611 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-28 07:17:13,611 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 07:17:13,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:13,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:13,612 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:13,612 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:13,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:17:13,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 91 transitions. [2022-04-28 07:17:13,614 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 91 transitions. Word has length 77 [2022-04-28 07:17:13,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:13,614 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 91 transitions. [2022-04-28 07:17:13,614 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 07:17:13,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 91 transitions. [2022-04-28 07:17:13,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:13,721 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 07:17:13,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 07:17:13,722 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:13,722 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:13,743 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 07:17:13,923 WARN L477 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-28 07:17:13,923 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:13,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:13,923 INFO L85 PathProgramCache]: Analyzing trace with hash 1848611036, now seen corresponding path program 13 times [2022-04-28 07:17:13,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:13,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1045584507] [2022-04-28 07:17:13,924 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:13,924 INFO L85 PathProgramCache]: Analyzing trace with hash 1848611036, now seen corresponding path program 14 times [2022-04-28 07:17:13,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:13,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1084672481] [2022-04-28 07:17:13,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:13,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:13,934 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:13,934 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2125105347] [2022-04-28 07:17:13,934 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:17:13,935 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:13,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:13,935 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-28 07:17:13,959 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-28 07:17:13,991 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:17:13,992 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:13,992 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 07:17:14,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:14,007 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:14,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {5497#true} call ULTIMATE.init(); {5497#true} is VALID [2022-04-28 07:17:14,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {5497#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {5505#(<= ~counter~0 0)} assume true; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5505#(<= ~counter~0 0)} {5497#true} #67#return; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {5505#(<= ~counter~0 0)} call #t~ret7 := main(); {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {5505#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {5505#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {5505#(<= ~counter~0 0)} ~cond := #in~cond; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {5505#(<= ~counter~0 0)} assume !(0 == ~cond); {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {5505#(<= ~counter~0 0)} assume true; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5505#(<= ~counter~0 0)} {5505#(<= ~counter~0 0)} #59#return; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,421 INFO L272 TraceCheckUtils]: 11: Hoare triple {5505#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,421 INFO L290 TraceCheckUtils]: 12: Hoare triple {5505#(<= ~counter~0 0)} ~cond := #in~cond; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,421 INFO L290 TraceCheckUtils]: 13: Hoare triple {5505#(<= ~counter~0 0)} assume !(0 == ~cond); {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {5505#(<= ~counter~0 0)} assume true; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,422 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5505#(<= ~counter~0 0)} {5505#(<= ~counter~0 0)} #61#return; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,422 INFO L290 TraceCheckUtils]: 16: Hoare triple {5505#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {5505#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:14,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {5505#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {5554#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,423 INFO L272 TraceCheckUtils]: 19: Hoare triple {5554#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {5554#(<= ~counter~0 1)} ~cond := #in~cond; {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {5554#(<= ~counter~0 1)} assume !(0 == ~cond); {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {5554#(<= ~counter~0 1)} assume true; {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,425 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5554#(<= ~counter~0 1)} {5554#(<= ~counter~0 1)} #63#return; {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {5554#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {5554#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5554#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:14,426 INFO L290 TraceCheckUtils]: 26: Hoare triple {5554#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {5582#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,426 INFO L272 TraceCheckUtils]: 28: Hoare triple {5582#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,427 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#(<= ~counter~0 2)} ~cond := #in~cond; {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#(<= ~counter~0 2)} assume !(0 == ~cond); {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#(<= ~counter~0 2)} assume true; {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,428 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5582#(<= ~counter~0 2)} {5582#(<= ~counter~0 2)} #63#return; {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {5582#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,428 INFO L290 TraceCheckUtils]: 34: Hoare triple {5582#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5582#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:14,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {5582#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {5610#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,429 INFO L272 TraceCheckUtils]: 37: Hoare triple {5610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,430 INFO L290 TraceCheckUtils]: 38: Hoare triple {5610#(<= ~counter~0 3)} ~cond := #in~cond; {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,430 INFO L290 TraceCheckUtils]: 39: Hoare triple {5610#(<= ~counter~0 3)} assume !(0 == ~cond); {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {5610#(<= ~counter~0 3)} assume true; {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,431 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5610#(<= ~counter~0 3)} {5610#(<= ~counter~0 3)} #63#return; {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,431 INFO L290 TraceCheckUtils]: 42: Hoare triple {5610#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,431 INFO L290 TraceCheckUtils]: 43: Hoare triple {5610#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5610#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:14,432 INFO L290 TraceCheckUtils]: 44: Hoare triple {5610#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,432 INFO L290 TraceCheckUtils]: 45: Hoare triple {5638#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,432 INFO L272 TraceCheckUtils]: 46: Hoare triple {5638#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {5638#(<= ~counter~0 4)} ~cond := #in~cond; {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,433 INFO L290 TraceCheckUtils]: 48: Hoare triple {5638#(<= ~counter~0 4)} assume !(0 == ~cond); {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,433 INFO L290 TraceCheckUtils]: 49: Hoare triple {5638#(<= ~counter~0 4)} assume true; {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,434 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5638#(<= ~counter~0 4)} {5638#(<= ~counter~0 4)} #63#return; {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,434 INFO L290 TraceCheckUtils]: 51: Hoare triple {5638#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,434 INFO L290 TraceCheckUtils]: 52: Hoare triple {5638#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5638#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:14,435 INFO L290 TraceCheckUtils]: 53: Hoare triple {5638#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,435 INFO L290 TraceCheckUtils]: 54: Hoare triple {5666#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,435 INFO L272 TraceCheckUtils]: 55: Hoare triple {5666#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,436 INFO L290 TraceCheckUtils]: 56: Hoare triple {5666#(<= ~counter~0 5)} ~cond := #in~cond; {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,436 INFO L290 TraceCheckUtils]: 57: Hoare triple {5666#(<= ~counter~0 5)} assume !(0 == ~cond); {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,436 INFO L290 TraceCheckUtils]: 58: Hoare triple {5666#(<= ~counter~0 5)} assume true; {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,437 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5666#(<= ~counter~0 5)} {5666#(<= ~counter~0 5)} #63#return; {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,437 INFO L290 TraceCheckUtils]: 60: Hoare triple {5666#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,437 INFO L290 TraceCheckUtils]: 61: Hoare triple {5666#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5666#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:14,438 INFO L290 TraceCheckUtils]: 62: Hoare triple {5666#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,438 INFO L290 TraceCheckUtils]: 63: Hoare triple {5694#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,439 INFO L272 TraceCheckUtils]: 64: Hoare triple {5694#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,439 INFO L290 TraceCheckUtils]: 65: Hoare triple {5694#(<= ~counter~0 6)} ~cond := #in~cond; {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,439 INFO L290 TraceCheckUtils]: 66: Hoare triple {5694#(<= ~counter~0 6)} assume !(0 == ~cond); {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,440 INFO L290 TraceCheckUtils]: 67: Hoare triple {5694#(<= ~counter~0 6)} assume true; {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,440 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5694#(<= ~counter~0 6)} {5694#(<= ~counter~0 6)} #63#return; {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,440 INFO L290 TraceCheckUtils]: 69: Hoare triple {5694#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,441 INFO L290 TraceCheckUtils]: 70: Hoare triple {5694#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5694#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:14,441 INFO L290 TraceCheckUtils]: 71: Hoare triple {5694#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,441 INFO L290 TraceCheckUtils]: 72: Hoare triple {5722#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,442 INFO L272 TraceCheckUtils]: 73: Hoare triple {5722#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,442 INFO L290 TraceCheckUtils]: 74: Hoare triple {5722#(<= ~counter~0 7)} ~cond := #in~cond; {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,442 INFO L290 TraceCheckUtils]: 75: Hoare triple {5722#(<= ~counter~0 7)} assume !(0 == ~cond); {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,443 INFO L290 TraceCheckUtils]: 76: Hoare triple {5722#(<= ~counter~0 7)} assume true; {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,443 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5722#(<= ~counter~0 7)} {5722#(<= ~counter~0 7)} #63#return; {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,443 INFO L290 TraceCheckUtils]: 78: Hoare triple {5722#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,444 INFO L290 TraceCheckUtils]: 79: Hoare triple {5722#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5722#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:14,444 INFO L290 TraceCheckUtils]: 80: Hoare triple {5722#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5750#(<= |main_#t~post6| 7)} is VALID [2022-04-28 07:17:14,444 INFO L290 TraceCheckUtils]: 81: Hoare triple {5750#(<= |main_#t~post6| 7)} assume !(#t~post6 < 20);havoc #t~post6; {5498#false} is VALID [2022-04-28 07:17:14,444 INFO L272 TraceCheckUtils]: 82: Hoare triple {5498#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {5498#false} is VALID [2022-04-28 07:17:14,445 INFO L290 TraceCheckUtils]: 83: Hoare triple {5498#false} ~cond := #in~cond; {5498#false} is VALID [2022-04-28 07:17:14,445 INFO L290 TraceCheckUtils]: 84: Hoare triple {5498#false} assume 0 == ~cond; {5498#false} is VALID [2022-04-28 07:17:14,445 INFO L290 TraceCheckUtils]: 85: Hoare triple {5498#false} assume !false; {5498#false} is VALID [2022-04-28 07:17:14,445 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 14 proven. 203 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:14,445 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:14,863 INFO L290 TraceCheckUtils]: 85: Hoare triple {5498#false} assume !false; {5498#false} is VALID [2022-04-28 07:17:14,863 INFO L290 TraceCheckUtils]: 84: Hoare triple {5498#false} assume 0 == ~cond; {5498#false} is VALID [2022-04-28 07:17:14,863 INFO L290 TraceCheckUtils]: 83: Hoare triple {5498#false} ~cond := #in~cond; {5498#false} is VALID [2022-04-28 07:17:14,863 INFO L272 TraceCheckUtils]: 82: Hoare triple {5498#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {5498#false} is VALID [2022-04-28 07:17:14,865 INFO L290 TraceCheckUtils]: 81: Hoare triple {5778#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {5498#false} is VALID [2022-04-28 07:17:14,866 INFO L290 TraceCheckUtils]: 80: Hoare triple {5782#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5778#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:14,866 INFO L290 TraceCheckUtils]: 79: Hoare triple {5782#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5782#(< ~counter~0 20)} is VALID [2022-04-28 07:17:14,867 INFO L290 TraceCheckUtils]: 78: Hoare triple {5782#(< ~counter~0 20)} assume !!(0 != ~y3~0); {5782#(< ~counter~0 20)} is VALID [2022-04-28 07:17:14,868 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5497#true} {5782#(< ~counter~0 20)} #63#return; {5782#(< ~counter~0 20)} is VALID [2022-04-28 07:17:14,868 INFO L290 TraceCheckUtils]: 76: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,868 INFO L290 TraceCheckUtils]: 75: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,868 INFO L290 TraceCheckUtils]: 74: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,868 INFO L272 TraceCheckUtils]: 73: Hoare triple {5782#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,868 INFO L290 TraceCheckUtils]: 72: Hoare triple {5782#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {5782#(< ~counter~0 20)} is VALID [2022-04-28 07:17:14,869 INFO L290 TraceCheckUtils]: 71: Hoare triple {5810#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5782#(< ~counter~0 20)} is VALID [2022-04-28 07:17:14,869 INFO L290 TraceCheckUtils]: 70: Hoare triple {5810#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5810#(< ~counter~0 19)} is VALID [2022-04-28 07:17:14,869 INFO L290 TraceCheckUtils]: 69: Hoare triple {5810#(< ~counter~0 19)} assume !!(0 != ~y3~0); {5810#(< ~counter~0 19)} is VALID [2022-04-28 07:17:14,870 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5497#true} {5810#(< ~counter~0 19)} #63#return; {5810#(< ~counter~0 19)} is VALID [2022-04-28 07:17:14,870 INFO L290 TraceCheckUtils]: 67: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,870 INFO L290 TraceCheckUtils]: 66: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,870 INFO L290 TraceCheckUtils]: 65: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,870 INFO L272 TraceCheckUtils]: 64: Hoare triple {5810#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,870 INFO L290 TraceCheckUtils]: 63: Hoare triple {5810#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {5810#(< ~counter~0 19)} is VALID [2022-04-28 07:17:14,871 INFO L290 TraceCheckUtils]: 62: Hoare triple {5838#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5810#(< ~counter~0 19)} is VALID [2022-04-28 07:17:14,871 INFO L290 TraceCheckUtils]: 61: Hoare triple {5838#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5838#(< ~counter~0 18)} is VALID [2022-04-28 07:17:14,871 INFO L290 TraceCheckUtils]: 60: Hoare triple {5838#(< ~counter~0 18)} assume !!(0 != ~y3~0); {5838#(< ~counter~0 18)} is VALID [2022-04-28 07:17:14,872 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5497#true} {5838#(< ~counter~0 18)} #63#return; {5838#(< ~counter~0 18)} is VALID [2022-04-28 07:17:14,872 INFO L290 TraceCheckUtils]: 58: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,872 INFO L290 TraceCheckUtils]: 57: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,872 INFO L290 TraceCheckUtils]: 56: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,872 INFO L272 TraceCheckUtils]: 55: Hoare triple {5838#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,873 INFO L290 TraceCheckUtils]: 54: Hoare triple {5838#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {5838#(< ~counter~0 18)} is VALID [2022-04-28 07:17:14,873 INFO L290 TraceCheckUtils]: 53: Hoare triple {5866#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5838#(< ~counter~0 18)} is VALID [2022-04-28 07:17:14,873 INFO L290 TraceCheckUtils]: 52: Hoare triple {5866#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5866#(< ~counter~0 17)} is VALID [2022-04-28 07:17:14,873 INFO L290 TraceCheckUtils]: 51: Hoare triple {5866#(< ~counter~0 17)} assume !!(0 != ~y3~0); {5866#(< ~counter~0 17)} is VALID [2022-04-28 07:17:14,874 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5497#true} {5866#(< ~counter~0 17)} #63#return; {5866#(< ~counter~0 17)} is VALID [2022-04-28 07:17:14,874 INFO L290 TraceCheckUtils]: 49: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,874 INFO L290 TraceCheckUtils]: 48: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,874 INFO L290 TraceCheckUtils]: 47: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,874 INFO L272 TraceCheckUtils]: 46: Hoare triple {5866#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,875 INFO L290 TraceCheckUtils]: 45: Hoare triple {5866#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {5866#(< ~counter~0 17)} is VALID [2022-04-28 07:17:14,881 INFO L290 TraceCheckUtils]: 44: Hoare triple {5894#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5866#(< ~counter~0 17)} is VALID [2022-04-28 07:17:14,881 INFO L290 TraceCheckUtils]: 43: Hoare triple {5894#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5894#(< ~counter~0 16)} is VALID [2022-04-28 07:17:14,881 INFO L290 TraceCheckUtils]: 42: Hoare triple {5894#(< ~counter~0 16)} assume !!(0 != ~y3~0); {5894#(< ~counter~0 16)} is VALID [2022-04-28 07:17:14,882 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5497#true} {5894#(< ~counter~0 16)} #63#return; {5894#(< ~counter~0 16)} is VALID [2022-04-28 07:17:14,882 INFO L290 TraceCheckUtils]: 40: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,882 INFO L290 TraceCheckUtils]: 38: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,882 INFO L272 TraceCheckUtils]: 37: Hoare triple {5894#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,882 INFO L290 TraceCheckUtils]: 36: Hoare triple {5894#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {5894#(< ~counter~0 16)} is VALID [2022-04-28 07:17:14,883 INFO L290 TraceCheckUtils]: 35: Hoare triple {5922#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5894#(< ~counter~0 16)} is VALID [2022-04-28 07:17:14,883 INFO L290 TraceCheckUtils]: 34: Hoare triple {5922#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5922#(< ~counter~0 15)} is VALID [2022-04-28 07:17:14,883 INFO L290 TraceCheckUtils]: 33: Hoare triple {5922#(< ~counter~0 15)} assume !!(0 != ~y3~0); {5922#(< ~counter~0 15)} is VALID [2022-04-28 07:17:14,884 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5497#true} {5922#(< ~counter~0 15)} #63#return; {5922#(< ~counter~0 15)} is VALID [2022-04-28 07:17:14,884 INFO L290 TraceCheckUtils]: 31: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,884 INFO L290 TraceCheckUtils]: 30: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,884 INFO L290 TraceCheckUtils]: 29: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,884 INFO L272 TraceCheckUtils]: 28: Hoare triple {5922#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {5922#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {5922#(< ~counter~0 15)} is VALID [2022-04-28 07:17:14,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {5950#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5922#(< ~counter~0 15)} is VALID [2022-04-28 07:17:14,885 INFO L290 TraceCheckUtils]: 25: Hoare triple {5950#(< ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {5950#(< ~counter~0 14)} is VALID [2022-04-28 07:17:14,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {5950#(< ~counter~0 14)} assume !!(0 != ~y3~0); {5950#(< ~counter~0 14)} is VALID [2022-04-28 07:17:14,886 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5497#true} {5950#(< ~counter~0 14)} #63#return; {5950#(< ~counter~0 14)} is VALID [2022-04-28 07:17:14,886 INFO L290 TraceCheckUtils]: 22: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,886 INFO L290 TraceCheckUtils]: 21: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,886 INFO L272 TraceCheckUtils]: 19: Hoare triple {5950#(< ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,887 INFO L290 TraceCheckUtils]: 18: Hoare triple {5950#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {5950#(< ~counter~0 14)} is VALID [2022-04-28 07:17:14,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {5978#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5950#(< ~counter~0 14)} is VALID [2022-04-28 07:17:14,897 INFO L290 TraceCheckUtils]: 16: Hoare triple {5978#(< ~counter~0 13)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,898 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5497#true} {5978#(< ~counter~0 13)} #61#return; {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,898 INFO L290 TraceCheckUtils]: 14: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,898 INFO L290 TraceCheckUtils]: 12: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,898 INFO L272 TraceCheckUtils]: 11: Hoare triple {5978#(< ~counter~0 13)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5497#true} {5978#(< ~counter~0 13)} #59#return; {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {5497#true} assume true; {5497#true} is VALID [2022-04-28 07:17:14,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {5497#true} assume !(0 == ~cond); {5497#true} is VALID [2022-04-28 07:17:14,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {5497#true} ~cond := #in~cond; {5497#true} is VALID [2022-04-28 07:17:14,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {5978#(< ~counter~0 13)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {5497#true} is VALID [2022-04-28 07:17:14,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {5978#(< ~counter~0 13)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {5978#(< ~counter~0 13)} call #t~ret7 := main(); {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,900 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5978#(< ~counter~0 13)} {5497#true} #67#return; {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {5978#(< ~counter~0 13)} assume true; {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {5497#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5978#(< ~counter~0 13)} is VALID [2022-04-28 07:17:14,901 INFO L272 TraceCheckUtils]: 0: Hoare triple {5497#true} call ULTIMATE.init(); {5497#true} is VALID [2022-04-28 07:17:14,901 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 14 proven. 119 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 07:17:14,901 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:14,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1084672481] [2022-04-28 07:17:14,901 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:14,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2125105347] [2022-04-28 07:17:14,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2125105347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:14,901 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:14,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2022-04-28 07:17:14,902 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:14,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1045584507] [2022-04-28 07:17:14,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1045584507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:14,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:14,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 07:17:14,902 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [890395857] [2022-04-28 07:17:14,902 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:14,902 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) Word has length 86 [2022-04-28 07:17:14,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:14,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 07:17:14,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:14,964 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 07:17:14,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:14,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 07:17:14,964 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=158, Invalid=222, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:17:14,964 INFO L87 Difference]: Start difference. First operand 83 states and 91 transitions. Second operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 07:17:15,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:15,213 INFO L93 Difference]: Finished difference Result 97 states and 106 transitions. [2022-04-28 07:17:15,213 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 07:17:15,213 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) Word has length 86 [2022-04-28 07:17:15,213 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:15,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 07:17:15,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2022-04-28 07:17:15,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 07:17:15,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2022-04-28 07:17:15,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 105 transitions. [2022-04-28 07:17:15,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:15,284 INFO L225 Difference]: With dead ends: 97 [2022-04-28 07:17:15,284 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 07:17:15,285 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 153 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=291, Invalid=411, Unknown=0, NotChecked=0, Total=702 [2022-04-28 07:17:15,285 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 33 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:15,285 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 126 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:15,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 07:17:15,356 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-04-28 07:17:15,356 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:15,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:17:15,357 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:17:15,357 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:17:15,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:15,360 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 07:17:15,360 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 07:17:15,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:15,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:15,360 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 92 states. [2022-04-28 07:17:15,360 INFO L87 Difference]: Start difference. First operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 92 states. [2022-04-28 07:17:15,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:15,362 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 07:17:15,362 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 07:17:15,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:15,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:15,362 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:15,362 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:15,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 07:17:15,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 101 transitions. [2022-04-28 07:17:15,364 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 101 transitions. Word has length 86 [2022-04-28 07:17:15,364 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:15,364 INFO L495 AbstractCegarLoop]: Abstraction has 92 states and 101 transitions. [2022-04-28 07:17:15,364 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 07:17:15,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 101 transitions. [2022-04-28 07:17:15,463 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:15,464 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 07:17:15,464 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-28 07:17:15,464 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:15,464 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 8, 8, 8, 8, 8, 8, 8, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:15,482 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-28 07:17:15,675 WARN L477 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-28 07:17:15,676 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:15,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:15,676 INFO L85 PathProgramCache]: Analyzing trace with hash -399923690, now seen corresponding path program 15 times [2022-04-28 07:17:15,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:15,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1118648632] [2022-04-28 07:17:15,677 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:15,677 INFO L85 PathProgramCache]: Analyzing trace with hash -399923690, now seen corresponding path program 16 times [2022-04-28 07:17:15,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:15,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [992641654] [2022-04-28 07:17:15,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:15,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:15,691 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:15,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [492610055] [2022-04-28 07:17:15,691 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:17:15,691 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:15,691 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:15,692 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-28 07:17:15,693 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-28 07:17:15,749 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:17:15,749 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:15,750 INFO L263 TraceCheckSpWp]: Trace formula consists of 277 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 07:17:15,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:15,768 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:16,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {6608#true} call ULTIMATE.init(); {6608#true} is VALID [2022-04-28 07:17:16,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {6608#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {6616#(<= ~counter~0 0)} assume true; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6616#(<= ~counter~0 0)} {6608#true} #67#return; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {6616#(<= ~counter~0 0)} call #t~ret7 := main(); {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {6616#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,180 INFO L272 TraceCheckUtils]: 6: Hoare triple {6616#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {6616#(<= ~counter~0 0)} ~cond := #in~cond; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,181 INFO L290 TraceCheckUtils]: 8: Hoare triple {6616#(<= ~counter~0 0)} assume !(0 == ~cond); {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,181 INFO L290 TraceCheckUtils]: 9: Hoare triple {6616#(<= ~counter~0 0)} assume true; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,181 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6616#(<= ~counter~0 0)} {6616#(<= ~counter~0 0)} #59#return; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,182 INFO L272 TraceCheckUtils]: 11: Hoare triple {6616#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,182 INFO L290 TraceCheckUtils]: 12: Hoare triple {6616#(<= ~counter~0 0)} ~cond := #in~cond; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,182 INFO L290 TraceCheckUtils]: 13: Hoare triple {6616#(<= ~counter~0 0)} assume !(0 == ~cond); {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,182 INFO L290 TraceCheckUtils]: 14: Hoare triple {6616#(<= ~counter~0 0)} assume true; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,183 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6616#(<= ~counter~0 0)} {6616#(<= ~counter~0 0)} #61#return; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,183 INFO L290 TraceCheckUtils]: 16: Hoare triple {6616#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {6616#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:16,184 INFO L290 TraceCheckUtils]: 17: Hoare triple {6616#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {6665#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,184 INFO L272 TraceCheckUtils]: 19: Hoare triple {6665#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {6665#(<= ~counter~0 1)} ~cond := #in~cond; {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {6665#(<= ~counter~0 1)} assume !(0 == ~cond); {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {6665#(<= ~counter~0 1)} assume true; {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,186 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6665#(<= ~counter~0 1)} {6665#(<= ~counter~0 1)} #63#return; {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,186 INFO L290 TraceCheckUtils]: 24: Hoare triple {6665#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {6665#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6665#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:16,187 INFO L290 TraceCheckUtils]: 26: Hoare triple {6665#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,187 INFO L290 TraceCheckUtils]: 27: Hoare triple {6693#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,187 INFO L272 TraceCheckUtils]: 28: Hoare triple {6693#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,188 INFO L290 TraceCheckUtils]: 29: Hoare triple {6693#(<= ~counter~0 2)} ~cond := #in~cond; {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,188 INFO L290 TraceCheckUtils]: 30: Hoare triple {6693#(<= ~counter~0 2)} assume !(0 == ~cond); {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {6693#(<= ~counter~0 2)} assume true; {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,189 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6693#(<= ~counter~0 2)} {6693#(<= ~counter~0 2)} #63#return; {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,189 INFO L290 TraceCheckUtils]: 33: Hoare triple {6693#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,189 INFO L290 TraceCheckUtils]: 34: Hoare triple {6693#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6693#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:16,190 INFO L290 TraceCheckUtils]: 35: Hoare triple {6693#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,190 INFO L290 TraceCheckUtils]: 36: Hoare triple {6721#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,190 INFO L272 TraceCheckUtils]: 37: Hoare triple {6721#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,191 INFO L290 TraceCheckUtils]: 38: Hoare triple {6721#(<= ~counter~0 3)} ~cond := #in~cond; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,191 INFO L290 TraceCheckUtils]: 39: Hoare triple {6721#(<= ~counter~0 3)} assume !(0 == ~cond); {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,191 INFO L290 TraceCheckUtils]: 40: Hoare triple {6721#(<= ~counter~0 3)} assume true; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,192 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6721#(<= ~counter~0 3)} {6721#(<= ~counter~0 3)} #63#return; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,192 INFO L290 TraceCheckUtils]: 42: Hoare triple {6721#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,192 INFO L290 TraceCheckUtils]: 43: Hoare triple {6721#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:16,193 INFO L290 TraceCheckUtils]: 44: Hoare triple {6721#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,193 INFO L290 TraceCheckUtils]: 45: Hoare triple {6749#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,193 INFO L272 TraceCheckUtils]: 46: Hoare triple {6749#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,194 INFO L290 TraceCheckUtils]: 47: Hoare triple {6749#(<= ~counter~0 4)} ~cond := #in~cond; {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,194 INFO L290 TraceCheckUtils]: 48: Hoare triple {6749#(<= ~counter~0 4)} assume !(0 == ~cond); {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,194 INFO L290 TraceCheckUtils]: 49: Hoare triple {6749#(<= ~counter~0 4)} assume true; {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,195 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6749#(<= ~counter~0 4)} {6749#(<= ~counter~0 4)} #63#return; {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,195 INFO L290 TraceCheckUtils]: 51: Hoare triple {6749#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,195 INFO L290 TraceCheckUtils]: 52: Hoare triple {6749#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6749#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:16,196 INFO L290 TraceCheckUtils]: 53: Hoare triple {6749#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,196 INFO L290 TraceCheckUtils]: 54: Hoare triple {6777#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,197 INFO L272 TraceCheckUtils]: 55: Hoare triple {6777#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,197 INFO L290 TraceCheckUtils]: 56: Hoare triple {6777#(<= ~counter~0 5)} ~cond := #in~cond; {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,197 INFO L290 TraceCheckUtils]: 57: Hoare triple {6777#(<= ~counter~0 5)} assume !(0 == ~cond); {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,197 INFO L290 TraceCheckUtils]: 58: Hoare triple {6777#(<= ~counter~0 5)} assume true; {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,198 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6777#(<= ~counter~0 5)} {6777#(<= ~counter~0 5)} #63#return; {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,198 INFO L290 TraceCheckUtils]: 60: Hoare triple {6777#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,198 INFO L290 TraceCheckUtils]: 61: Hoare triple {6777#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6777#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:16,199 INFO L290 TraceCheckUtils]: 62: Hoare triple {6777#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,199 INFO L290 TraceCheckUtils]: 63: Hoare triple {6805#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,200 INFO L272 TraceCheckUtils]: 64: Hoare triple {6805#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,200 INFO L290 TraceCheckUtils]: 65: Hoare triple {6805#(<= ~counter~0 6)} ~cond := #in~cond; {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,200 INFO L290 TraceCheckUtils]: 66: Hoare triple {6805#(<= ~counter~0 6)} assume !(0 == ~cond); {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,200 INFO L290 TraceCheckUtils]: 67: Hoare triple {6805#(<= ~counter~0 6)} assume true; {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,201 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6805#(<= ~counter~0 6)} {6805#(<= ~counter~0 6)} #63#return; {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,201 INFO L290 TraceCheckUtils]: 69: Hoare triple {6805#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,201 INFO L290 TraceCheckUtils]: 70: Hoare triple {6805#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6805#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:16,202 INFO L290 TraceCheckUtils]: 71: Hoare triple {6805#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,202 INFO L290 TraceCheckUtils]: 72: Hoare triple {6833#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,202 INFO L272 TraceCheckUtils]: 73: Hoare triple {6833#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,203 INFO L290 TraceCheckUtils]: 74: Hoare triple {6833#(<= ~counter~0 7)} ~cond := #in~cond; {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,203 INFO L290 TraceCheckUtils]: 75: Hoare triple {6833#(<= ~counter~0 7)} assume !(0 == ~cond); {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,203 INFO L290 TraceCheckUtils]: 76: Hoare triple {6833#(<= ~counter~0 7)} assume true; {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,204 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6833#(<= ~counter~0 7)} {6833#(<= ~counter~0 7)} #63#return; {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,204 INFO L290 TraceCheckUtils]: 78: Hoare triple {6833#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,204 INFO L290 TraceCheckUtils]: 79: Hoare triple {6833#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6833#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:16,205 INFO L290 TraceCheckUtils]: 80: Hoare triple {6833#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,205 INFO L290 TraceCheckUtils]: 81: Hoare triple {6861#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,205 INFO L272 TraceCheckUtils]: 82: Hoare triple {6861#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,206 INFO L290 TraceCheckUtils]: 83: Hoare triple {6861#(<= ~counter~0 8)} ~cond := #in~cond; {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,206 INFO L290 TraceCheckUtils]: 84: Hoare triple {6861#(<= ~counter~0 8)} assume !(0 == ~cond); {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,206 INFO L290 TraceCheckUtils]: 85: Hoare triple {6861#(<= ~counter~0 8)} assume true; {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,207 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6861#(<= ~counter~0 8)} {6861#(<= ~counter~0 8)} #63#return; {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,207 INFO L290 TraceCheckUtils]: 87: Hoare triple {6861#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,207 INFO L290 TraceCheckUtils]: 88: Hoare triple {6861#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6861#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:16,207 INFO L290 TraceCheckUtils]: 89: Hoare triple {6861#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6889#(<= |main_#t~post6| 8)} is VALID [2022-04-28 07:17:16,208 INFO L290 TraceCheckUtils]: 90: Hoare triple {6889#(<= |main_#t~post6| 8)} assume !(#t~post6 < 20);havoc #t~post6; {6609#false} is VALID [2022-04-28 07:17:16,208 INFO L272 TraceCheckUtils]: 91: Hoare triple {6609#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {6609#false} is VALID [2022-04-28 07:17:16,208 INFO L290 TraceCheckUtils]: 92: Hoare triple {6609#false} ~cond := #in~cond; {6609#false} is VALID [2022-04-28 07:17:16,208 INFO L290 TraceCheckUtils]: 93: Hoare triple {6609#false} assume 0 == ~cond; {6609#false} is VALID [2022-04-28 07:17:16,208 INFO L290 TraceCheckUtils]: 94: Hoare triple {6609#false} assume !false; {6609#false} is VALID [2022-04-28 07:17:16,208 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 16 proven. 268 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:16,208 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:16,684 INFO L290 TraceCheckUtils]: 94: Hoare triple {6609#false} assume !false; {6609#false} is VALID [2022-04-28 07:17:16,684 INFO L290 TraceCheckUtils]: 93: Hoare triple {6609#false} assume 0 == ~cond; {6609#false} is VALID [2022-04-28 07:17:16,684 INFO L290 TraceCheckUtils]: 92: Hoare triple {6609#false} ~cond := #in~cond; {6609#false} is VALID [2022-04-28 07:17:16,684 INFO L272 TraceCheckUtils]: 91: Hoare triple {6609#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {6609#false} is VALID [2022-04-28 07:17:16,685 INFO L290 TraceCheckUtils]: 90: Hoare triple {6917#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {6609#false} is VALID [2022-04-28 07:17:16,685 INFO L290 TraceCheckUtils]: 89: Hoare triple {6921#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6917#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:16,685 INFO L290 TraceCheckUtils]: 88: Hoare triple {6921#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6921#(< ~counter~0 20)} is VALID [2022-04-28 07:17:16,686 INFO L290 TraceCheckUtils]: 87: Hoare triple {6921#(< ~counter~0 20)} assume !!(0 != ~y3~0); {6921#(< ~counter~0 20)} is VALID [2022-04-28 07:17:16,686 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6608#true} {6921#(< ~counter~0 20)} #63#return; {6921#(< ~counter~0 20)} is VALID [2022-04-28 07:17:16,686 INFO L290 TraceCheckUtils]: 85: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,686 INFO L290 TraceCheckUtils]: 84: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,686 INFO L290 TraceCheckUtils]: 83: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,686 INFO L272 TraceCheckUtils]: 82: Hoare triple {6921#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,687 INFO L290 TraceCheckUtils]: 81: Hoare triple {6921#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {6921#(< ~counter~0 20)} is VALID [2022-04-28 07:17:16,687 INFO L290 TraceCheckUtils]: 80: Hoare triple {6949#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6921#(< ~counter~0 20)} is VALID [2022-04-28 07:17:16,688 INFO L290 TraceCheckUtils]: 79: Hoare triple {6949#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6949#(< ~counter~0 19)} is VALID [2022-04-28 07:17:16,688 INFO L290 TraceCheckUtils]: 78: Hoare triple {6949#(< ~counter~0 19)} assume !!(0 != ~y3~0); {6949#(< ~counter~0 19)} is VALID [2022-04-28 07:17:16,689 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6608#true} {6949#(< ~counter~0 19)} #63#return; {6949#(< ~counter~0 19)} is VALID [2022-04-28 07:17:16,689 INFO L290 TraceCheckUtils]: 76: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,689 INFO L290 TraceCheckUtils]: 75: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,689 INFO L290 TraceCheckUtils]: 74: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,689 INFO L272 TraceCheckUtils]: 73: Hoare triple {6949#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,689 INFO L290 TraceCheckUtils]: 72: Hoare triple {6949#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {6949#(< ~counter~0 19)} is VALID [2022-04-28 07:17:16,690 INFO L290 TraceCheckUtils]: 71: Hoare triple {6977#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6949#(< ~counter~0 19)} is VALID [2022-04-28 07:17:16,690 INFO L290 TraceCheckUtils]: 70: Hoare triple {6977#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {6977#(< ~counter~0 18)} is VALID [2022-04-28 07:17:16,690 INFO L290 TraceCheckUtils]: 69: Hoare triple {6977#(< ~counter~0 18)} assume !!(0 != ~y3~0); {6977#(< ~counter~0 18)} is VALID [2022-04-28 07:17:16,691 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6608#true} {6977#(< ~counter~0 18)} #63#return; {6977#(< ~counter~0 18)} is VALID [2022-04-28 07:17:16,691 INFO L290 TraceCheckUtils]: 67: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,691 INFO L290 TraceCheckUtils]: 66: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,691 INFO L290 TraceCheckUtils]: 65: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,691 INFO L272 TraceCheckUtils]: 64: Hoare triple {6977#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,691 INFO L290 TraceCheckUtils]: 63: Hoare triple {6977#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {6977#(< ~counter~0 18)} is VALID [2022-04-28 07:17:16,692 INFO L290 TraceCheckUtils]: 62: Hoare triple {7005#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6977#(< ~counter~0 18)} is VALID [2022-04-28 07:17:16,692 INFO L290 TraceCheckUtils]: 61: Hoare triple {7005#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7005#(< ~counter~0 17)} is VALID [2022-04-28 07:17:16,692 INFO L290 TraceCheckUtils]: 60: Hoare triple {7005#(< ~counter~0 17)} assume !!(0 != ~y3~0); {7005#(< ~counter~0 17)} is VALID [2022-04-28 07:17:16,693 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6608#true} {7005#(< ~counter~0 17)} #63#return; {7005#(< ~counter~0 17)} is VALID [2022-04-28 07:17:16,693 INFO L290 TraceCheckUtils]: 58: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,693 INFO L290 TraceCheckUtils]: 57: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,693 INFO L290 TraceCheckUtils]: 56: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,693 INFO L272 TraceCheckUtils]: 55: Hoare triple {7005#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,693 INFO L290 TraceCheckUtils]: 54: Hoare triple {7005#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {7005#(< ~counter~0 17)} is VALID [2022-04-28 07:17:16,694 INFO L290 TraceCheckUtils]: 53: Hoare triple {7033#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7005#(< ~counter~0 17)} is VALID [2022-04-28 07:17:16,694 INFO L290 TraceCheckUtils]: 52: Hoare triple {7033#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7033#(< ~counter~0 16)} is VALID [2022-04-28 07:17:16,694 INFO L290 TraceCheckUtils]: 51: Hoare triple {7033#(< ~counter~0 16)} assume !!(0 != ~y3~0); {7033#(< ~counter~0 16)} is VALID [2022-04-28 07:17:16,695 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6608#true} {7033#(< ~counter~0 16)} #63#return; {7033#(< ~counter~0 16)} is VALID [2022-04-28 07:17:16,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,695 INFO L290 TraceCheckUtils]: 48: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,695 INFO L290 TraceCheckUtils]: 47: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,695 INFO L272 TraceCheckUtils]: 46: Hoare triple {7033#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,695 INFO L290 TraceCheckUtils]: 45: Hoare triple {7033#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {7033#(< ~counter~0 16)} is VALID [2022-04-28 07:17:16,696 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7033#(< ~counter~0 16)} is VALID [2022-04-28 07:17:16,696 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7061#(< ~counter~0 15)} is VALID [2022-04-28 07:17:16,696 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#(< ~counter~0 15)} assume !!(0 != ~y3~0); {7061#(< ~counter~0 15)} is VALID [2022-04-28 07:17:16,697 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6608#true} {7061#(< ~counter~0 15)} #63#return; {7061#(< ~counter~0 15)} is VALID [2022-04-28 07:17:16,697 INFO L290 TraceCheckUtils]: 40: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,697 INFO L290 TraceCheckUtils]: 39: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,697 INFO L290 TraceCheckUtils]: 38: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,697 INFO L272 TraceCheckUtils]: 37: Hoare triple {7061#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,697 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {7061#(< ~counter~0 15)} is VALID [2022-04-28 07:17:16,698 INFO L290 TraceCheckUtils]: 35: Hoare triple {7089#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7061#(< ~counter~0 15)} is VALID [2022-04-28 07:17:16,698 INFO L290 TraceCheckUtils]: 34: Hoare triple {7089#(< ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7089#(< ~counter~0 14)} is VALID [2022-04-28 07:17:16,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {7089#(< ~counter~0 14)} assume !!(0 != ~y3~0); {7089#(< ~counter~0 14)} is VALID [2022-04-28 07:17:16,699 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6608#true} {7089#(< ~counter~0 14)} #63#return; {7089#(< ~counter~0 14)} is VALID [2022-04-28 07:17:16,699 INFO L290 TraceCheckUtils]: 31: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,699 INFO L272 TraceCheckUtils]: 28: Hoare triple {7089#(< ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,699 INFO L290 TraceCheckUtils]: 27: Hoare triple {7089#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {7089#(< ~counter~0 14)} is VALID [2022-04-28 07:17:16,700 INFO L290 TraceCheckUtils]: 26: Hoare triple {7117#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7089#(< ~counter~0 14)} is VALID [2022-04-28 07:17:16,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {7117#(< ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7117#(< ~counter~0 13)} is VALID [2022-04-28 07:17:16,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {7117#(< ~counter~0 13)} assume !!(0 != ~y3~0); {7117#(< ~counter~0 13)} is VALID [2022-04-28 07:17:16,701 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6608#true} {7117#(< ~counter~0 13)} #63#return; {7117#(< ~counter~0 13)} is VALID [2022-04-28 07:17:16,701 INFO L290 TraceCheckUtils]: 22: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,701 INFO L290 TraceCheckUtils]: 21: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,701 INFO L272 TraceCheckUtils]: 19: Hoare triple {7117#(< ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {7117#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {7117#(< ~counter~0 13)} is VALID [2022-04-28 07:17:16,702 INFO L290 TraceCheckUtils]: 17: Hoare triple {7145#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7117#(< ~counter~0 13)} is VALID [2022-04-28 07:17:16,702 INFO L290 TraceCheckUtils]: 16: Hoare triple {7145#(< ~counter~0 12)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,702 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6608#true} {7145#(< ~counter~0 12)} #61#return; {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,703 INFO L290 TraceCheckUtils]: 13: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,703 INFO L290 TraceCheckUtils]: 12: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,703 INFO L272 TraceCheckUtils]: 11: Hoare triple {7145#(< ~counter~0 12)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,703 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6608#true} {7145#(< ~counter~0 12)} #59#return; {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {6608#true} assume true; {6608#true} is VALID [2022-04-28 07:17:16,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {6608#true} assume !(0 == ~cond); {6608#true} is VALID [2022-04-28 07:17:16,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {6608#true} ~cond := #in~cond; {6608#true} is VALID [2022-04-28 07:17:16,703 INFO L272 TraceCheckUtils]: 6: Hoare triple {7145#(< ~counter~0 12)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {6608#true} is VALID [2022-04-28 07:17:16,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {7145#(< ~counter~0 12)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {7145#(< ~counter~0 12)} call #t~ret7 := main(); {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7145#(< ~counter~0 12)} {6608#true} #67#return; {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {7145#(< ~counter~0 12)} assume true; {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {6608#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7145#(< ~counter~0 12)} is VALID [2022-04-28 07:17:16,705 INFO L272 TraceCheckUtils]: 0: Hoare triple {6608#true} call ULTIMATE.init(); {6608#true} is VALID [2022-04-28 07:17:16,705 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 16 proven. 156 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-28 07:17:16,706 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:16,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [992641654] [2022-04-28 07:17:16,706 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:16,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [492610055] [2022-04-28 07:17:16,706 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [492610055] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:16,706 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:16,706 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2022-04-28 07:17:16,706 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:16,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1118648632] [2022-04-28 07:17:16,706 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1118648632] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:16,706 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:16,706 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:17:16,706 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [531264465] [2022-04-28 07:17:16,706 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:16,707 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) Word has length 95 [2022-04-28 07:17:16,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:16,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 07:17:16,772 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:16,772 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:17:16,772 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:16,773 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:17:16,773 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=267, Unknown=0, NotChecked=0, Total=462 [2022-04-28 07:17:16,773 INFO L87 Difference]: Start difference. First operand 92 states and 101 transitions. Second operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 07:17:17,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:17,076 INFO L93 Difference]: Finished difference Result 106 states and 116 transitions. [2022-04-28 07:17:17,076 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 07:17:17,076 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) Word has length 95 [2022-04-28 07:17:17,077 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:17,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 07:17:17,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 115 transitions. [2022-04-28 07:17:17,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 07:17:17,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 115 transitions. [2022-04-28 07:17:17,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 115 transitions. [2022-04-28 07:17:17,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:17,152 INFO L225 Difference]: With dead ends: 106 [2022-04-28 07:17:17,152 INFO L226 Difference]: Without dead ends: 101 [2022-04-28 07:17:17,153 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 169 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=363, Invalid=507, Unknown=0, NotChecked=0, Total=870 [2022-04-28 07:17:17,153 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 24 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:17,153 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 146 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:17,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-28 07:17:17,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 101. [2022-04-28 07:17:17,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:17,245 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:17:17,245 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:17:17,245 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:17:17,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:17,247 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 07:17:17,247 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 07:17:17,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:17,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:17,248 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 101 states. [2022-04-28 07:17:17,248 INFO L87 Difference]: Start difference. First operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 101 states. [2022-04-28 07:17:17,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:17,250 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 07:17:17,250 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 07:17:17,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:17,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:17,250 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:17,250 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:17,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 07:17:17,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 111 transitions. [2022-04-28 07:17:17,252 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 111 transitions. Word has length 95 [2022-04-28 07:17:17,252 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:17,252 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 111 transitions. [2022-04-28 07:17:17,252 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 07:17:17,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 101 states and 111 transitions. [2022-04-28 07:17:17,376 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:17,376 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 07:17:17,377 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 07:17:17,377 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:17,377 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:17,394 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 07:17:17,591 WARN L477 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-28 07:17:17,591 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:17,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:17,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1717228060, now seen corresponding path program 17 times [2022-04-28 07:17:17,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:17,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1043244146] [2022-04-28 07:17:17,592 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:17,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1717228060, now seen corresponding path program 18 times [2022-04-28 07:17:17,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:17,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [639810844] [2022-04-28 07:17:17,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:17,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:17,604 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:17,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2013019519] [2022-04-28 07:17:17,604 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:17:17,604 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:17,604 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:17,605 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-28 07:17:17,606 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-28 07:17:17,668 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 07:17:17,669 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:17,670 INFO L263 TraceCheckSpWp]: Trace formula consists of 300 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 07:17:17,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:17,691 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:18,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {7831#true} call ULTIMATE.init(); {7831#true} is VALID [2022-04-28 07:17:18,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {7831#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {7839#(<= ~counter~0 0)} assume true; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7839#(<= ~counter~0 0)} {7831#true} #67#return; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,158 INFO L272 TraceCheckUtils]: 4: Hoare triple {7839#(<= ~counter~0 0)} call #t~ret7 := main(); {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,158 INFO L290 TraceCheckUtils]: 5: Hoare triple {7839#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,158 INFO L272 TraceCheckUtils]: 6: Hoare triple {7839#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {7839#(<= ~counter~0 0)} ~cond := #in~cond; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {7839#(<= ~counter~0 0)} assume !(0 == ~cond); {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {7839#(<= ~counter~0 0)} assume true; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,159 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7839#(<= ~counter~0 0)} {7839#(<= ~counter~0 0)} #59#return; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,160 INFO L272 TraceCheckUtils]: 11: Hoare triple {7839#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,160 INFO L290 TraceCheckUtils]: 12: Hoare triple {7839#(<= ~counter~0 0)} ~cond := #in~cond; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,160 INFO L290 TraceCheckUtils]: 13: Hoare triple {7839#(<= ~counter~0 0)} assume !(0 == ~cond); {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {7839#(<= ~counter~0 0)} assume true; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,161 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7839#(<= ~counter~0 0)} {7839#(<= ~counter~0 0)} #61#return; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,161 INFO L290 TraceCheckUtils]: 16: Hoare triple {7839#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {7839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:18,162 INFO L290 TraceCheckUtils]: 17: Hoare triple {7839#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {7888#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,163 INFO L272 TraceCheckUtils]: 19: Hoare triple {7888#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {7888#(<= ~counter~0 1)} ~cond := #in~cond; {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {7888#(<= ~counter~0 1)} assume !(0 == ~cond); {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {7888#(<= ~counter~0 1)} assume true; {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,164 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7888#(<= ~counter~0 1)} {7888#(<= ~counter~0 1)} #63#return; {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,164 INFO L290 TraceCheckUtils]: 24: Hoare triple {7888#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {7888#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:18,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {7888#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,165 INFO L290 TraceCheckUtils]: 27: Hoare triple {7916#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,166 INFO L272 TraceCheckUtils]: 28: Hoare triple {7916#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,166 INFO L290 TraceCheckUtils]: 29: Hoare triple {7916#(<= ~counter~0 2)} ~cond := #in~cond; {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {7916#(<= ~counter~0 2)} assume !(0 == ~cond); {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,166 INFO L290 TraceCheckUtils]: 31: Hoare triple {7916#(<= ~counter~0 2)} assume true; {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,167 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7916#(<= ~counter~0 2)} {7916#(<= ~counter~0 2)} #63#return; {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,167 INFO L290 TraceCheckUtils]: 33: Hoare triple {7916#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,167 INFO L290 TraceCheckUtils]: 34: Hoare triple {7916#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:18,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {7916#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,168 INFO L290 TraceCheckUtils]: 36: Hoare triple {7944#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,169 INFO L272 TraceCheckUtils]: 37: Hoare triple {7944#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,169 INFO L290 TraceCheckUtils]: 38: Hoare triple {7944#(<= ~counter~0 3)} ~cond := #in~cond; {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {7944#(<= ~counter~0 3)} assume !(0 == ~cond); {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,169 INFO L290 TraceCheckUtils]: 40: Hoare triple {7944#(<= ~counter~0 3)} assume true; {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,170 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7944#(<= ~counter~0 3)} {7944#(<= ~counter~0 3)} #63#return; {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,170 INFO L290 TraceCheckUtils]: 42: Hoare triple {7944#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,170 INFO L290 TraceCheckUtils]: 43: Hoare triple {7944#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:18,171 INFO L290 TraceCheckUtils]: 44: Hoare triple {7944#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,171 INFO L290 TraceCheckUtils]: 45: Hoare triple {7972#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,171 INFO L272 TraceCheckUtils]: 46: Hoare triple {7972#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,172 INFO L290 TraceCheckUtils]: 47: Hoare triple {7972#(<= ~counter~0 4)} ~cond := #in~cond; {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,172 INFO L290 TraceCheckUtils]: 48: Hoare triple {7972#(<= ~counter~0 4)} assume !(0 == ~cond); {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,172 INFO L290 TraceCheckUtils]: 49: Hoare triple {7972#(<= ~counter~0 4)} assume true; {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,173 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7972#(<= ~counter~0 4)} {7972#(<= ~counter~0 4)} #63#return; {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,173 INFO L290 TraceCheckUtils]: 51: Hoare triple {7972#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,173 INFO L290 TraceCheckUtils]: 52: Hoare triple {7972#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {7972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:18,174 INFO L290 TraceCheckUtils]: 53: Hoare triple {7972#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,174 INFO L290 TraceCheckUtils]: 54: Hoare triple {8000#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,175 INFO L272 TraceCheckUtils]: 55: Hoare triple {8000#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,175 INFO L290 TraceCheckUtils]: 56: Hoare triple {8000#(<= ~counter~0 5)} ~cond := #in~cond; {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,175 INFO L290 TraceCheckUtils]: 57: Hoare triple {8000#(<= ~counter~0 5)} assume !(0 == ~cond); {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,175 INFO L290 TraceCheckUtils]: 58: Hoare triple {8000#(<= ~counter~0 5)} assume true; {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,176 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8000#(<= ~counter~0 5)} {8000#(<= ~counter~0 5)} #63#return; {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,176 INFO L290 TraceCheckUtils]: 60: Hoare triple {8000#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,176 INFO L290 TraceCheckUtils]: 61: Hoare triple {8000#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:18,177 INFO L290 TraceCheckUtils]: 62: Hoare triple {8000#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,177 INFO L290 TraceCheckUtils]: 63: Hoare triple {8028#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,178 INFO L272 TraceCheckUtils]: 64: Hoare triple {8028#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,178 INFO L290 TraceCheckUtils]: 65: Hoare triple {8028#(<= ~counter~0 6)} ~cond := #in~cond; {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,178 INFO L290 TraceCheckUtils]: 66: Hoare triple {8028#(<= ~counter~0 6)} assume !(0 == ~cond); {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,178 INFO L290 TraceCheckUtils]: 67: Hoare triple {8028#(<= ~counter~0 6)} assume true; {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,179 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8028#(<= ~counter~0 6)} {8028#(<= ~counter~0 6)} #63#return; {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,179 INFO L290 TraceCheckUtils]: 69: Hoare triple {8028#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,179 INFO L290 TraceCheckUtils]: 70: Hoare triple {8028#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:18,180 INFO L290 TraceCheckUtils]: 71: Hoare triple {8028#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,180 INFO L290 TraceCheckUtils]: 72: Hoare triple {8056#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,181 INFO L272 TraceCheckUtils]: 73: Hoare triple {8056#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,181 INFO L290 TraceCheckUtils]: 74: Hoare triple {8056#(<= ~counter~0 7)} ~cond := #in~cond; {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,181 INFO L290 TraceCheckUtils]: 75: Hoare triple {8056#(<= ~counter~0 7)} assume !(0 == ~cond); {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,181 INFO L290 TraceCheckUtils]: 76: Hoare triple {8056#(<= ~counter~0 7)} assume true; {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,182 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8056#(<= ~counter~0 7)} {8056#(<= ~counter~0 7)} #63#return; {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,182 INFO L290 TraceCheckUtils]: 78: Hoare triple {8056#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,182 INFO L290 TraceCheckUtils]: 79: Hoare triple {8056#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:18,183 INFO L290 TraceCheckUtils]: 80: Hoare triple {8056#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,183 INFO L290 TraceCheckUtils]: 81: Hoare triple {8084#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,184 INFO L272 TraceCheckUtils]: 82: Hoare triple {8084#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,184 INFO L290 TraceCheckUtils]: 83: Hoare triple {8084#(<= ~counter~0 8)} ~cond := #in~cond; {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,184 INFO L290 TraceCheckUtils]: 84: Hoare triple {8084#(<= ~counter~0 8)} assume !(0 == ~cond); {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,185 INFO L290 TraceCheckUtils]: 85: Hoare triple {8084#(<= ~counter~0 8)} assume true; {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,185 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8084#(<= ~counter~0 8)} {8084#(<= ~counter~0 8)} #63#return; {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,186 INFO L290 TraceCheckUtils]: 87: Hoare triple {8084#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,186 INFO L290 TraceCheckUtils]: 88: Hoare triple {8084#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:18,186 INFO L290 TraceCheckUtils]: 89: Hoare triple {8084#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,186 INFO L290 TraceCheckUtils]: 90: Hoare triple {8112#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,187 INFO L272 TraceCheckUtils]: 91: Hoare triple {8112#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,187 INFO L290 TraceCheckUtils]: 92: Hoare triple {8112#(<= ~counter~0 9)} ~cond := #in~cond; {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,188 INFO L290 TraceCheckUtils]: 93: Hoare triple {8112#(<= ~counter~0 9)} assume !(0 == ~cond); {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,188 INFO L290 TraceCheckUtils]: 94: Hoare triple {8112#(<= ~counter~0 9)} assume true; {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,188 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {8112#(<= ~counter~0 9)} {8112#(<= ~counter~0 9)} #63#return; {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,189 INFO L290 TraceCheckUtils]: 96: Hoare triple {8112#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,189 INFO L290 TraceCheckUtils]: 97: Hoare triple {8112#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:18,189 INFO L290 TraceCheckUtils]: 98: Hoare triple {8112#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8140#(<= |main_#t~post6| 9)} is VALID [2022-04-28 07:17:18,189 INFO L290 TraceCheckUtils]: 99: Hoare triple {8140#(<= |main_#t~post6| 9)} assume !(#t~post6 < 20);havoc #t~post6; {7832#false} is VALID [2022-04-28 07:17:18,190 INFO L272 TraceCheckUtils]: 100: Hoare triple {7832#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {7832#false} is VALID [2022-04-28 07:17:18,190 INFO L290 TraceCheckUtils]: 101: Hoare triple {7832#false} ~cond := #in~cond; {7832#false} is VALID [2022-04-28 07:17:18,190 INFO L290 TraceCheckUtils]: 102: Hoare triple {7832#false} assume 0 == ~cond; {7832#false} is VALID [2022-04-28 07:17:18,190 INFO L290 TraceCheckUtils]: 103: Hoare triple {7832#false} assume !false; {7832#false} is VALID [2022-04-28 07:17:18,190 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 18 proven. 342 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:18,190 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:18,717 INFO L290 TraceCheckUtils]: 103: Hoare triple {7832#false} assume !false; {7832#false} is VALID [2022-04-28 07:17:18,717 INFO L290 TraceCheckUtils]: 102: Hoare triple {7832#false} assume 0 == ~cond; {7832#false} is VALID [2022-04-28 07:17:18,717 INFO L290 TraceCheckUtils]: 101: Hoare triple {7832#false} ~cond := #in~cond; {7832#false} is VALID [2022-04-28 07:17:18,717 INFO L272 TraceCheckUtils]: 100: Hoare triple {7832#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {7832#false} is VALID [2022-04-28 07:17:18,718 INFO L290 TraceCheckUtils]: 99: Hoare triple {8168#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {7832#false} is VALID [2022-04-28 07:17:18,718 INFO L290 TraceCheckUtils]: 98: Hoare triple {8172#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8168#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:18,718 INFO L290 TraceCheckUtils]: 97: Hoare triple {8172#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8172#(< ~counter~0 20)} is VALID [2022-04-28 07:17:18,719 INFO L290 TraceCheckUtils]: 96: Hoare triple {8172#(< ~counter~0 20)} assume !!(0 != ~y3~0); {8172#(< ~counter~0 20)} is VALID [2022-04-28 07:17:18,719 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {7831#true} {8172#(< ~counter~0 20)} #63#return; {8172#(< ~counter~0 20)} is VALID [2022-04-28 07:17:18,719 INFO L290 TraceCheckUtils]: 94: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,719 INFO L290 TraceCheckUtils]: 93: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,720 INFO L290 TraceCheckUtils]: 92: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,720 INFO L272 TraceCheckUtils]: 91: Hoare triple {8172#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,720 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {8172#(< ~counter~0 20)} is VALID [2022-04-28 07:17:18,720 INFO L290 TraceCheckUtils]: 89: Hoare triple {8200#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8172#(< ~counter~0 20)} is VALID [2022-04-28 07:17:18,721 INFO L290 TraceCheckUtils]: 88: Hoare triple {8200#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8200#(< ~counter~0 19)} is VALID [2022-04-28 07:17:18,721 INFO L290 TraceCheckUtils]: 87: Hoare triple {8200#(< ~counter~0 19)} assume !!(0 != ~y3~0); {8200#(< ~counter~0 19)} is VALID [2022-04-28 07:17:18,722 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {7831#true} {8200#(< ~counter~0 19)} #63#return; {8200#(< ~counter~0 19)} is VALID [2022-04-28 07:17:18,722 INFO L290 TraceCheckUtils]: 85: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,722 INFO L290 TraceCheckUtils]: 84: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,722 INFO L290 TraceCheckUtils]: 83: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,722 INFO L272 TraceCheckUtils]: 82: Hoare triple {8200#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,722 INFO L290 TraceCheckUtils]: 81: Hoare triple {8200#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {8200#(< ~counter~0 19)} is VALID [2022-04-28 07:17:18,723 INFO L290 TraceCheckUtils]: 80: Hoare triple {8228#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8200#(< ~counter~0 19)} is VALID [2022-04-28 07:17:18,723 INFO L290 TraceCheckUtils]: 79: Hoare triple {8228#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8228#(< ~counter~0 18)} is VALID [2022-04-28 07:17:18,723 INFO L290 TraceCheckUtils]: 78: Hoare triple {8228#(< ~counter~0 18)} assume !!(0 != ~y3~0); {8228#(< ~counter~0 18)} is VALID [2022-04-28 07:17:18,724 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7831#true} {8228#(< ~counter~0 18)} #63#return; {8228#(< ~counter~0 18)} is VALID [2022-04-28 07:17:18,724 INFO L290 TraceCheckUtils]: 76: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,724 INFO L290 TraceCheckUtils]: 75: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,724 INFO L290 TraceCheckUtils]: 74: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,724 INFO L272 TraceCheckUtils]: 73: Hoare triple {8228#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,724 INFO L290 TraceCheckUtils]: 72: Hoare triple {8228#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {8228#(< ~counter~0 18)} is VALID [2022-04-28 07:17:18,725 INFO L290 TraceCheckUtils]: 71: Hoare triple {8256#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8228#(< ~counter~0 18)} is VALID [2022-04-28 07:17:18,725 INFO L290 TraceCheckUtils]: 70: Hoare triple {8256#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8256#(< ~counter~0 17)} is VALID [2022-04-28 07:17:18,725 INFO L290 TraceCheckUtils]: 69: Hoare triple {8256#(< ~counter~0 17)} assume !!(0 != ~y3~0); {8256#(< ~counter~0 17)} is VALID [2022-04-28 07:17:18,726 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7831#true} {8256#(< ~counter~0 17)} #63#return; {8256#(< ~counter~0 17)} is VALID [2022-04-28 07:17:18,726 INFO L290 TraceCheckUtils]: 67: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,726 INFO L290 TraceCheckUtils]: 66: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,726 INFO L290 TraceCheckUtils]: 65: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,726 INFO L272 TraceCheckUtils]: 64: Hoare triple {8256#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,726 INFO L290 TraceCheckUtils]: 63: Hoare triple {8256#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {8256#(< ~counter~0 17)} is VALID [2022-04-28 07:17:18,727 INFO L290 TraceCheckUtils]: 62: Hoare triple {8284#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8256#(< ~counter~0 17)} is VALID [2022-04-28 07:17:18,727 INFO L290 TraceCheckUtils]: 61: Hoare triple {8284#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8284#(< ~counter~0 16)} is VALID [2022-04-28 07:17:18,727 INFO L290 TraceCheckUtils]: 60: Hoare triple {8284#(< ~counter~0 16)} assume !!(0 != ~y3~0); {8284#(< ~counter~0 16)} is VALID [2022-04-28 07:17:18,728 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7831#true} {8284#(< ~counter~0 16)} #63#return; {8284#(< ~counter~0 16)} is VALID [2022-04-28 07:17:18,728 INFO L290 TraceCheckUtils]: 58: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,728 INFO L290 TraceCheckUtils]: 57: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,728 INFO L290 TraceCheckUtils]: 56: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,728 INFO L272 TraceCheckUtils]: 55: Hoare triple {8284#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,728 INFO L290 TraceCheckUtils]: 54: Hoare triple {8284#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {8284#(< ~counter~0 16)} is VALID [2022-04-28 07:17:18,729 INFO L290 TraceCheckUtils]: 53: Hoare triple {8312#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8284#(< ~counter~0 16)} is VALID [2022-04-28 07:17:18,729 INFO L290 TraceCheckUtils]: 52: Hoare triple {8312#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8312#(< ~counter~0 15)} is VALID [2022-04-28 07:17:18,729 INFO L290 TraceCheckUtils]: 51: Hoare triple {8312#(< ~counter~0 15)} assume !!(0 != ~y3~0); {8312#(< ~counter~0 15)} is VALID [2022-04-28 07:17:18,730 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7831#true} {8312#(< ~counter~0 15)} #63#return; {8312#(< ~counter~0 15)} is VALID [2022-04-28 07:17:18,730 INFO L290 TraceCheckUtils]: 49: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,730 INFO L290 TraceCheckUtils]: 48: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,730 INFO L290 TraceCheckUtils]: 47: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,730 INFO L272 TraceCheckUtils]: 46: Hoare triple {8312#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,731 INFO L290 TraceCheckUtils]: 45: Hoare triple {8312#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {8312#(< ~counter~0 15)} is VALID [2022-04-28 07:17:18,731 INFO L290 TraceCheckUtils]: 44: Hoare triple {8340#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8312#(< ~counter~0 15)} is VALID [2022-04-28 07:17:18,731 INFO L290 TraceCheckUtils]: 43: Hoare triple {8340#(< ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8340#(< ~counter~0 14)} is VALID [2022-04-28 07:17:18,732 INFO L290 TraceCheckUtils]: 42: Hoare triple {8340#(< ~counter~0 14)} assume !!(0 != ~y3~0); {8340#(< ~counter~0 14)} is VALID [2022-04-28 07:17:18,732 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7831#true} {8340#(< ~counter~0 14)} #63#return; {8340#(< ~counter~0 14)} is VALID [2022-04-28 07:17:18,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,732 INFO L290 TraceCheckUtils]: 38: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,732 INFO L272 TraceCheckUtils]: 37: Hoare triple {8340#(< ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,751 INFO L290 TraceCheckUtils]: 36: Hoare triple {8340#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {8340#(< ~counter~0 14)} is VALID [2022-04-28 07:17:18,752 INFO L290 TraceCheckUtils]: 35: Hoare triple {8368#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8340#(< ~counter~0 14)} is VALID [2022-04-28 07:17:18,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {8368#(< ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8368#(< ~counter~0 13)} is VALID [2022-04-28 07:17:18,753 INFO L290 TraceCheckUtils]: 33: Hoare triple {8368#(< ~counter~0 13)} assume !!(0 != ~y3~0); {8368#(< ~counter~0 13)} is VALID [2022-04-28 07:17:18,754 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7831#true} {8368#(< ~counter~0 13)} #63#return; {8368#(< ~counter~0 13)} is VALID [2022-04-28 07:17:18,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,754 INFO L290 TraceCheckUtils]: 30: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,754 INFO L290 TraceCheckUtils]: 29: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,754 INFO L272 TraceCheckUtils]: 28: Hoare triple {8368#(< ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {8368#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {8368#(< ~counter~0 13)} is VALID [2022-04-28 07:17:18,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {8396#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8368#(< ~counter~0 13)} is VALID [2022-04-28 07:17:18,756 INFO L290 TraceCheckUtils]: 25: Hoare triple {8396#(< ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {8396#(< ~counter~0 12)} is VALID [2022-04-28 07:17:18,756 INFO L290 TraceCheckUtils]: 24: Hoare triple {8396#(< ~counter~0 12)} assume !!(0 != ~y3~0); {8396#(< ~counter~0 12)} is VALID [2022-04-28 07:17:18,757 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7831#true} {8396#(< ~counter~0 12)} #63#return; {8396#(< ~counter~0 12)} is VALID [2022-04-28 07:17:18,757 INFO L290 TraceCheckUtils]: 22: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,757 INFO L290 TraceCheckUtils]: 21: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,757 INFO L272 TraceCheckUtils]: 19: Hoare triple {8396#(< ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,758 INFO L290 TraceCheckUtils]: 18: Hoare triple {8396#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {8396#(< ~counter~0 12)} is VALID [2022-04-28 07:17:18,758 INFO L290 TraceCheckUtils]: 17: Hoare triple {8424#(< ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8396#(< ~counter~0 12)} is VALID [2022-04-28 07:17:18,759 INFO L290 TraceCheckUtils]: 16: Hoare triple {8424#(< ~counter~0 11)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,759 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7831#true} {8424#(< ~counter~0 11)} #61#return; {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,760 INFO L272 TraceCheckUtils]: 11: Hoare triple {8424#(< ~counter~0 11)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,760 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7831#true} {8424#(< ~counter~0 11)} #59#return; {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,760 INFO L290 TraceCheckUtils]: 9: Hoare triple {7831#true} assume true; {7831#true} is VALID [2022-04-28 07:17:18,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {7831#true} assume !(0 == ~cond); {7831#true} is VALID [2022-04-28 07:17:18,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {7831#true} ~cond := #in~cond; {7831#true} is VALID [2022-04-28 07:17:18,760 INFO L272 TraceCheckUtils]: 6: Hoare triple {8424#(< ~counter~0 11)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {7831#true} is VALID [2022-04-28 07:17:18,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {8424#(< ~counter~0 11)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {8424#(< ~counter~0 11)} call #t~ret7 := main(); {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8424#(< ~counter~0 11)} {7831#true} #67#return; {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {8424#(< ~counter~0 11)} assume true; {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {7831#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8424#(< ~counter~0 11)} is VALID [2022-04-28 07:17:18,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {7831#true} call ULTIMATE.init(); {7831#true} is VALID [2022-04-28 07:17:18,763 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 18 proven. 198 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 07:17:18,763 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:18,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [639810844] [2022-04-28 07:17:18,763 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:18,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2013019519] [2022-04-28 07:17:18,763 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2013019519] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:18,764 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:18,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-28 07:17:18,764 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:18,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1043244146] [2022-04-28 07:17:18,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1043244146] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:18,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:18,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:17:18,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [933376262] [2022-04-28 07:17:18,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:18,765 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 104 [2022-04-28 07:17:18,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:18,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 07:17:18,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:18,826 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:17:18,826 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:18,827 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:17:18,827 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:18,827 INFO L87 Difference]: Start difference. First operand 101 states and 111 transitions. Second operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 07:17:19,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:19,142 INFO L93 Difference]: Finished difference Result 115 states and 126 transitions. [2022-04-28 07:17:19,142 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 07:17:19,142 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 104 [2022-04-28 07:17:19,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:19,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 07:17:19,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 125 transitions. [2022-04-28 07:17:19,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 07:17:19,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 125 transitions. [2022-04-28 07:17:19,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 125 transitions. [2022-04-28 07:17:19,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:19,230 INFO L225 Difference]: With dead ends: 115 [2022-04-28 07:17:19,231 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 07:17:19,231 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 216 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=443, Invalid=613, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 07:17:19,231 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:19,232 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 154 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:19,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 07:17:19,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-28 07:17:19,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:19,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:17:19,327 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:17:19,327 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:17:19,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:19,328 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 07:17:19,328 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 07:17:19,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:19,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:19,329 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-28 07:17:19,329 INFO L87 Difference]: Start difference. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-28 07:17:19,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:19,331 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 07:17:19,331 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 07:17:19,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:19,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:19,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:19,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:19,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:17:19,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 121 transitions. [2022-04-28 07:17:19,333 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 121 transitions. Word has length 104 [2022-04-28 07:17:19,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:19,333 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 121 transitions. [2022-04-28 07:17:19,333 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 07:17:19,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 121 transitions. [2022-04-28 07:17:19,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:19,451 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 07:17:19,451 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 07:17:19,451 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:19,451 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:19,468 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-28 07:17:19,657 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 07:17:19,657 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:19,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:19,659 INFO L85 PathProgramCache]: Analyzing trace with hash -1468805930, now seen corresponding path program 19 times [2022-04-28 07:17:19,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:19,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2096174293] [2022-04-28 07:17:19,659 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:19,659 INFO L85 PathProgramCache]: Analyzing trace with hash -1468805930, now seen corresponding path program 20 times [2022-04-28 07:17:19,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:19,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [378104104] [2022-04-28 07:17:19,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:19,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:19,670 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:19,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2018682345] [2022-04-28 07:17:19,670 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:17:19,671 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:19,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:19,671 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:19,673 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 07:17:19,726 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:17:19,727 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:19,728 INFO L263 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 07:17:19,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:19,743 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:20,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-28 07:17:20,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {9174#(<= ~counter~0 0)} assume true; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9174#(<= ~counter~0 0)} {9166#true} #67#return; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,284 INFO L272 TraceCheckUtils]: 4: Hoare triple {9174#(<= ~counter~0 0)} call #t~ret7 := main(); {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {9174#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {9174#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {9174#(<= ~counter~0 0)} ~cond := #in~cond; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {9174#(<= ~counter~0 0)} assume !(0 == ~cond); {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,285 INFO L290 TraceCheckUtils]: 9: Hoare triple {9174#(<= ~counter~0 0)} assume true; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,285 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9174#(<= ~counter~0 0)} {9174#(<= ~counter~0 0)} #59#return; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,286 INFO L272 TraceCheckUtils]: 11: Hoare triple {9174#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,286 INFO L290 TraceCheckUtils]: 12: Hoare triple {9174#(<= ~counter~0 0)} ~cond := #in~cond; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {9174#(<= ~counter~0 0)} assume !(0 == ~cond); {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,287 INFO L290 TraceCheckUtils]: 14: Hoare triple {9174#(<= ~counter~0 0)} assume true; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,287 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9174#(<= ~counter~0 0)} {9174#(<= ~counter~0 0)} #61#return; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,287 INFO L290 TraceCheckUtils]: 16: Hoare triple {9174#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {9174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:20,288 INFO L290 TraceCheckUtils]: 17: Hoare triple {9174#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,288 INFO L290 TraceCheckUtils]: 18: Hoare triple {9223#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,289 INFO L272 TraceCheckUtils]: 19: Hoare triple {9223#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,289 INFO L290 TraceCheckUtils]: 20: Hoare triple {9223#(<= ~counter~0 1)} ~cond := #in~cond; {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,289 INFO L290 TraceCheckUtils]: 21: Hoare triple {9223#(<= ~counter~0 1)} assume !(0 == ~cond); {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,290 INFO L290 TraceCheckUtils]: 22: Hoare triple {9223#(<= ~counter~0 1)} assume true; {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,290 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9223#(<= ~counter~0 1)} {9223#(<= ~counter~0 1)} #63#return; {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,290 INFO L290 TraceCheckUtils]: 24: Hoare triple {9223#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,291 INFO L290 TraceCheckUtils]: 25: Hoare triple {9223#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:20,291 INFO L290 TraceCheckUtils]: 26: Hoare triple {9223#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,292 INFO L290 TraceCheckUtils]: 27: Hoare triple {9251#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,292 INFO L272 TraceCheckUtils]: 28: Hoare triple {9251#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,292 INFO L290 TraceCheckUtils]: 29: Hoare triple {9251#(<= ~counter~0 2)} ~cond := #in~cond; {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,293 INFO L290 TraceCheckUtils]: 30: Hoare triple {9251#(<= ~counter~0 2)} assume !(0 == ~cond); {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,293 INFO L290 TraceCheckUtils]: 31: Hoare triple {9251#(<= ~counter~0 2)} assume true; {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,293 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9251#(<= ~counter~0 2)} {9251#(<= ~counter~0 2)} #63#return; {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,294 INFO L290 TraceCheckUtils]: 33: Hoare triple {9251#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,294 INFO L290 TraceCheckUtils]: 34: Hoare triple {9251#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:20,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {9251#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,295 INFO L290 TraceCheckUtils]: 36: Hoare triple {9279#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,296 INFO L272 TraceCheckUtils]: 37: Hoare triple {9279#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,296 INFO L290 TraceCheckUtils]: 38: Hoare triple {9279#(<= ~counter~0 3)} ~cond := #in~cond; {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,296 INFO L290 TraceCheckUtils]: 39: Hoare triple {9279#(<= ~counter~0 3)} assume !(0 == ~cond); {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,296 INFO L290 TraceCheckUtils]: 40: Hoare triple {9279#(<= ~counter~0 3)} assume true; {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,297 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9279#(<= ~counter~0 3)} {9279#(<= ~counter~0 3)} #63#return; {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,297 INFO L290 TraceCheckUtils]: 42: Hoare triple {9279#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,297 INFO L290 TraceCheckUtils]: 43: Hoare triple {9279#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:20,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {9279#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,298 INFO L290 TraceCheckUtils]: 45: Hoare triple {9307#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,299 INFO L272 TraceCheckUtils]: 46: Hoare triple {9307#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,299 INFO L290 TraceCheckUtils]: 47: Hoare triple {9307#(<= ~counter~0 4)} ~cond := #in~cond; {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,299 INFO L290 TraceCheckUtils]: 48: Hoare triple {9307#(<= ~counter~0 4)} assume !(0 == ~cond); {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,300 INFO L290 TraceCheckUtils]: 49: Hoare triple {9307#(<= ~counter~0 4)} assume true; {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,300 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9307#(<= ~counter~0 4)} {9307#(<= ~counter~0 4)} #63#return; {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,300 INFO L290 TraceCheckUtils]: 51: Hoare triple {9307#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {9307#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:20,301 INFO L290 TraceCheckUtils]: 53: Hoare triple {9307#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,301 INFO L290 TraceCheckUtils]: 54: Hoare triple {9335#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,302 INFO L272 TraceCheckUtils]: 55: Hoare triple {9335#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,302 INFO L290 TraceCheckUtils]: 56: Hoare triple {9335#(<= ~counter~0 5)} ~cond := #in~cond; {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,302 INFO L290 TraceCheckUtils]: 57: Hoare triple {9335#(<= ~counter~0 5)} assume !(0 == ~cond); {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,303 INFO L290 TraceCheckUtils]: 58: Hoare triple {9335#(<= ~counter~0 5)} assume true; {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,303 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9335#(<= ~counter~0 5)} {9335#(<= ~counter~0 5)} #63#return; {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,303 INFO L290 TraceCheckUtils]: 60: Hoare triple {9335#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,304 INFO L290 TraceCheckUtils]: 61: Hoare triple {9335#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:20,304 INFO L290 TraceCheckUtils]: 62: Hoare triple {9335#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,304 INFO L290 TraceCheckUtils]: 63: Hoare triple {9363#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,305 INFO L272 TraceCheckUtils]: 64: Hoare triple {9363#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,305 INFO L290 TraceCheckUtils]: 65: Hoare triple {9363#(<= ~counter~0 6)} ~cond := #in~cond; {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,312 INFO L290 TraceCheckUtils]: 66: Hoare triple {9363#(<= ~counter~0 6)} assume !(0 == ~cond); {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,313 INFO L290 TraceCheckUtils]: 67: Hoare triple {9363#(<= ~counter~0 6)} assume true; {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,313 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9363#(<= ~counter~0 6)} {9363#(<= ~counter~0 6)} #63#return; {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,314 INFO L290 TraceCheckUtils]: 69: Hoare triple {9363#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,315 INFO L290 TraceCheckUtils]: 70: Hoare triple {9363#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:20,316 INFO L290 TraceCheckUtils]: 71: Hoare triple {9363#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,316 INFO L290 TraceCheckUtils]: 72: Hoare triple {9391#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,316 INFO L272 TraceCheckUtils]: 73: Hoare triple {9391#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,317 INFO L290 TraceCheckUtils]: 74: Hoare triple {9391#(<= ~counter~0 7)} ~cond := #in~cond; {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,317 INFO L290 TraceCheckUtils]: 75: Hoare triple {9391#(<= ~counter~0 7)} assume !(0 == ~cond); {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,317 INFO L290 TraceCheckUtils]: 76: Hoare triple {9391#(<= ~counter~0 7)} assume true; {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,318 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9391#(<= ~counter~0 7)} {9391#(<= ~counter~0 7)} #63#return; {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,318 INFO L290 TraceCheckUtils]: 78: Hoare triple {9391#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,318 INFO L290 TraceCheckUtils]: 79: Hoare triple {9391#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:20,319 INFO L290 TraceCheckUtils]: 80: Hoare triple {9391#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,319 INFO L290 TraceCheckUtils]: 81: Hoare triple {9419#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,320 INFO L272 TraceCheckUtils]: 82: Hoare triple {9419#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,320 INFO L290 TraceCheckUtils]: 83: Hoare triple {9419#(<= ~counter~0 8)} ~cond := #in~cond; {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,320 INFO L290 TraceCheckUtils]: 84: Hoare triple {9419#(<= ~counter~0 8)} assume !(0 == ~cond); {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,320 INFO L290 TraceCheckUtils]: 85: Hoare triple {9419#(<= ~counter~0 8)} assume true; {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,321 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9419#(<= ~counter~0 8)} {9419#(<= ~counter~0 8)} #63#return; {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,321 INFO L290 TraceCheckUtils]: 87: Hoare triple {9419#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,321 INFO L290 TraceCheckUtils]: 88: Hoare triple {9419#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:20,322 INFO L290 TraceCheckUtils]: 89: Hoare triple {9419#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,322 INFO L290 TraceCheckUtils]: 90: Hoare triple {9447#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,323 INFO L272 TraceCheckUtils]: 91: Hoare triple {9447#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,323 INFO L290 TraceCheckUtils]: 92: Hoare triple {9447#(<= ~counter~0 9)} ~cond := #in~cond; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,323 INFO L290 TraceCheckUtils]: 93: Hoare triple {9447#(<= ~counter~0 9)} assume !(0 == ~cond); {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,323 INFO L290 TraceCheckUtils]: 94: Hoare triple {9447#(<= ~counter~0 9)} assume true; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,324 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9447#(<= ~counter~0 9)} {9447#(<= ~counter~0 9)} #63#return; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,324 INFO L290 TraceCheckUtils]: 96: Hoare triple {9447#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,324 INFO L290 TraceCheckUtils]: 97: Hoare triple {9447#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,325 INFO L290 TraceCheckUtils]: 98: Hoare triple {9447#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,325 INFO L290 TraceCheckUtils]: 99: Hoare triple {9475#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,326 INFO L272 TraceCheckUtils]: 100: Hoare triple {9475#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,326 INFO L290 TraceCheckUtils]: 101: Hoare triple {9475#(<= ~counter~0 10)} ~cond := #in~cond; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,326 INFO L290 TraceCheckUtils]: 102: Hoare triple {9475#(<= ~counter~0 10)} assume !(0 == ~cond); {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,326 INFO L290 TraceCheckUtils]: 103: Hoare triple {9475#(<= ~counter~0 10)} assume true; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,327 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9475#(<= ~counter~0 10)} {9475#(<= ~counter~0 10)} #63#return; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,327 INFO L290 TraceCheckUtils]: 105: Hoare triple {9475#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,327 INFO L290 TraceCheckUtils]: 106: Hoare triple {9475#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,328 INFO L290 TraceCheckUtils]: 107: Hoare triple {9475#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9503#(<= |main_#t~post6| 10)} is VALID [2022-04-28 07:17:20,328 INFO L290 TraceCheckUtils]: 108: Hoare triple {9503#(<= |main_#t~post6| 10)} assume !(#t~post6 < 20);havoc #t~post6; {9167#false} is VALID [2022-04-28 07:17:20,328 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {9167#false} is VALID [2022-04-28 07:17:20,328 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-28 07:17:20,328 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-28 07:17:20,328 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-28 07:17:20,329 INFO L134 CoverageAnalysis]: Checked inductivity of 449 backedges. 20 proven. 425 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:20,329 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:20,909 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-28 07:17:20,910 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-28 07:17:20,910 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-28 07:17:20,910 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {9167#false} is VALID [2022-04-28 07:17:20,910 INFO L290 TraceCheckUtils]: 108: Hoare triple {9531#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {9167#false} is VALID [2022-04-28 07:17:20,911 INFO L290 TraceCheckUtils]: 107: Hoare triple {9535#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9531#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:20,911 INFO L290 TraceCheckUtils]: 106: Hoare triple {9535#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9535#(< ~counter~0 20)} is VALID [2022-04-28 07:17:20,911 INFO L290 TraceCheckUtils]: 105: Hoare triple {9535#(< ~counter~0 20)} assume !!(0 != ~y3~0); {9535#(< ~counter~0 20)} is VALID [2022-04-28 07:17:20,912 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9166#true} {9535#(< ~counter~0 20)} #63#return; {9535#(< ~counter~0 20)} is VALID [2022-04-28 07:17:20,912 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,912 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,912 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,912 INFO L272 TraceCheckUtils]: 100: Hoare triple {9535#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,912 INFO L290 TraceCheckUtils]: 99: Hoare triple {9535#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {9535#(< ~counter~0 20)} is VALID [2022-04-28 07:17:20,913 INFO L290 TraceCheckUtils]: 98: Hoare triple {9563#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9535#(< ~counter~0 20)} is VALID [2022-04-28 07:17:20,913 INFO L290 TraceCheckUtils]: 97: Hoare triple {9563#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9563#(< ~counter~0 19)} is VALID [2022-04-28 07:17:20,913 INFO L290 TraceCheckUtils]: 96: Hoare triple {9563#(< ~counter~0 19)} assume !!(0 != ~y3~0); {9563#(< ~counter~0 19)} is VALID [2022-04-28 07:17:20,914 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9166#true} {9563#(< ~counter~0 19)} #63#return; {9563#(< ~counter~0 19)} is VALID [2022-04-28 07:17:20,914 INFO L290 TraceCheckUtils]: 94: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,914 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,914 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,914 INFO L272 TraceCheckUtils]: 91: Hoare triple {9563#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,915 INFO L290 TraceCheckUtils]: 90: Hoare triple {9563#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {9563#(< ~counter~0 19)} is VALID [2022-04-28 07:17:20,915 INFO L290 TraceCheckUtils]: 89: Hoare triple {9591#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9563#(< ~counter~0 19)} is VALID [2022-04-28 07:17:20,915 INFO L290 TraceCheckUtils]: 88: Hoare triple {9591#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9591#(< ~counter~0 18)} is VALID [2022-04-28 07:17:20,916 INFO L290 TraceCheckUtils]: 87: Hoare triple {9591#(< ~counter~0 18)} assume !!(0 != ~y3~0); {9591#(< ~counter~0 18)} is VALID [2022-04-28 07:17:20,917 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9166#true} {9591#(< ~counter~0 18)} #63#return; {9591#(< ~counter~0 18)} is VALID [2022-04-28 07:17:20,917 INFO L290 TraceCheckUtils]: 85: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,917 INFO L290 TraceCheckUtils]: 84: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,917 INFO L290 TraceCheckUtils]: 83: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,917 INFO L272 TraceCheckUtils]: 82: Hoare triple {9591#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,918 INFO L290 TraceCheckUtils]: 81: Hoare triple {9591#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {9591#(< ~counter~0 18)} is VALID [2022-04-28 07:17:20,918 INFO L290 TraceCheckUtils]: 80: Hoare triple {9619#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9591#(< ~counter~0 18)} is VALID [2022-04-28 07:17:20,918 INFO L290 TraceCheckUtils]: 79: Hoare triple {9619#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9619#(< ~counter~0 17)} is VALID [2022-04-28 07:17:20,919 INFO L290 TraceCheckUtils]: 78: Hoare triple {9619#(< ~counter~0 17)} assume !!(0 != ~y3~0); {9619#(< ~counter~0 17)} is VALID [2022-04-28 07:17:20,919 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9166#true} {9619#(< ~counter~0 17)} #63#return; {9619#(< ~counter~0 17)} is VALID [2022-04-28 07:17:20,919 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,919 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,919 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,919 INFO L272 TraceCheckUtils]: 73: Hoare triple {9619#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,920 INFO L290 TraceCheckUtils]: 72: Hoare triple {9619#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {9619#(< ~counter~0 17)} is VALID [2022-04-28 07:17:20,920 INFO L290 TraceCheckUtils]: 71: Hoare triple {9647#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9619#(< ~counter~0 17)} is VALID [2022-04-28 07:17:20,920 INFO L290 TraceCheckUtils]: 70: Hoare triple {9647#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9647#(< ~counter~0 16)} is VALID [2022-04-28 07:17:20,921 INFO L290 TraceCheckUtils]: 69: Hoare triple {9647#(< ~counter~0 16)} assume !!(0 != ~y3~0); {9647#(< ~counter~0 16)} is VALID [2022-04-28 07:17:20,921 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9166#true} {9647#(< ~counter~0 16)} #63#return; {9647#(< ~counter~0 16)} is VALID [2022-04-28 07:17:20,921 INFO L290 TraceCheckUtils]: 67: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,922 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,922 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,922 INFO L272 TraceCheckUtils]: 64: Hoare triple {9647#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,922 INFO L290 TraceCheckUtils]: 63: Hoare triple {9647#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {9647#(< ~counter~0 16)} is VALID [2022-04-28 07:17:20,922 INFO L290 TraceCheckUtils]: 62: Hoare triple {9675#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9647#(< ~counter~0 16)} is VALID [2022-04-28 07:17:20,923 INFO L290 TraceCheckUtils]: 61: Hoare triple {9675#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9675#(< ~counter~0 15)} is VALID [2022-04-28 07:17:20,923 INFO L290 TraceCheckUtils]: 60: Hoare triple {9675#(< ~counter~0 15)} assume !!(0 != ~y3~0); {9675#(< ~counter~0 15)} is VALID [2022-04-28 07:17:20,924 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9166#true} {9675#(< ~counter~0 15)} #63#return; {9675#(< ~counter~0 15)} is VALID [2022-04-28 07:17:20,924 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,924 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,924 INFO L290 TraceCheckUtils]: 56: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,924 INFO L272 TraceCheckUtils]: 55: Hoare triple {9675#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,924 INFO L290 TraceCheckUtils]: 54: Hoare triple {9675#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {9675#(< ~counter~0 15)} is VALID [2022-04-28 07:17:20,925 INFO L290 TraceCheckUtils]: 53: Hoare triple {9703#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9675#(< ~counter~0 15)} is VALID [2022-04-28 07:17:20,925 INFO L290 TraceCheckUtils]: 52: Hoare triple {9703#(< ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9703#(< ~counter~0 14)} is VALID [2022-04-28 07:17:20,925 INFO L290 TraceCheckUtils]: 51: Hoare triple {9703#(< ~counter~0 14)} assume !!(0 != ~y3~0); {9703#(< ~counter~0 14)} is VALID [2022-04-28 07:17:20,926 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9703#(< ~counter~0 14)} #63#return; {9703#(< ~counter~0 14)} is VALID [2022-04-28 07:17:20,926 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,926 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,926 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,926 INFO L272 TraceCheckUtils]: 46: Hoare triple {9703#(< ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {9703#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {9703#(< ~counter~0 14)} is VALID [2022-04-28 07:17:20,927 INFO L290 TraceCheckUtils]: 44: Hoare triple {9731#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9703#(< ~counter~0 14)} is VALID [2022-04-28 07:17:20,927 INFO L290 TraceCheckUtils]: 43: Hoare triple {9731#(< ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9731#(< ~counter~0 13)} is VALID [2022-04-28 07:17:20,927 INFO L290 TraceCheckUtils]: 42: Hoare triple {9731#(< ~counter~0 13)} assume !!(0 != ~y3~0); {9731#(< ~counter~0 13)} is VALID [2022-04-28 07:17:20,928 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9166#true} {9731#(< ~counter~0 13)} #63#return; {9731#(< ~counter~0 13)} is VALID [2022-04-28 07:17:20,928 INFO L290 TraceCheckUtils]: 40: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,928 INFO L290 TraceCheckUtils]: 39: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,928 INFO L290 TraceCheckUtils]: 38: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,928 INFO L272 TraceCheckUtils]: 37: Hoare triple {9731#(< ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,929 INFO L290 TraceCheckUtils]: 36: Hoare triple {9731#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {9731#(< ~counter~0 13)} is VALID [2022-04-28 07:17:20,929 INFO L290 TraceCheckUtils]: 35: Hoare triple {9759#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9731#(< ~counter~0 13)} is VALID [2022-04-28 07:17:20,929 INFO L290 TraceCheckUtils]: 34: Hoare triple {9759#(< ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9759#(< ~counter~0 12)} is VALID [2022-04-28 07:17:20,930 INFO L290 TraceCheckUtils]: 33: Hoare triple {9759#(< ~counter~0 12)} assume !!(0 != ~y3~0); {9759#(< ~counter~0 12)} is VALID [2022-04-28 07:17:20,930 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9759#(< ~counter~0 12)} #63#return; {9759#(< ~counter~0 12)} is VALID [2022-04-28 07:17:20,930 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,930 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,930 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,930 INFO L272 TraceCheckUtils]: 28: Hoare triple {9759#(< ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {9759#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {9759#(< ~counter~0 12)} is VALID [2022-04-28 07:17:20,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {9475#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9759#(< ~counter~0 12)} is VALID [2022-04-28 07:17:20,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {9475#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {9475#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,932 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9166#true} {9475#(<= ~counter~0 10)} #63#return; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,932 INFO L290 TraceCheckUtils]: 21: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,933 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,933 INFO L272 TraceCheckUtils]: 19: Hoare triple {9475#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,933 INFO L290 TraceCheckUtils]: 18: Hoare triple {9475#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,933 INFO L290 TraceCheckUtils]: 17: Hoare triple {9447#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:20,934 INFO L290 TraceCheckUtils]: 16: Hoare triple {9447#(<= ~counter~0 9)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,934 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9166#true} {9447#(<= ~counter~0 9)} #61#return; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,934 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,934 INFO L290 TraceCheckUtils]: 12: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,934 INFO L272 TraceCheckUtils]: 11: Hoare triple {9447#(<= ~counter~0 9)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,935 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9166#true} {9447#(<= ~counter~0 9)} #59#return; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 07:17:20,935 INFO L290 TraceCheckUtils]: 8: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 07:17:20,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 07:17:20,935 INFO L272 TraceCheckUtils]: 6: Hoare triple {9447#(<= ~counter~0 9)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {9166#true} is VALID [2022-04-28 07:17:20,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {9447#(<= ~counter~0 9)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {9447#(<= ~counter~0 9)} call #t~ret7 := main(); {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9447#(<= ~counter~0 9)} {9166#true} #67#return; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {9447#(<= ~counter~0 9)} assume true; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:20,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-28 07:17:20,937 INFO L134 CoverageAnalysis]: Checked inductivity of 449 backedges. 20 proven. 245 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 07:17:20,937 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:20,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [378104104] [2022-04-28 07:17:20,937 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:20,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2018682345] [2022-04-28 07:17:20,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2018682345] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:20,938 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:20,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-28 07:17:20,938 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:20,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2096174293] [2022-04-28 07:17:20,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2096174293] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:20,938 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:20,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 07:17:20,938 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1543352430] [2022-04-28 07:17:20,938 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:20,939 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) Word has length 113 [2022-04-28 07:17:20,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:20,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 07:17:21,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:21,028 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 07:17:21,028 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:21,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 07:17:21,028 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:21,029 INFO L87 Difference]: Start difference. First operand 110 states and 121 transitions. Second operand has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 07:17:21,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:21,388 INFO L93 Difference]: Finished difference Result 124 states and 136 transitions. [2022-04-28 07:17:21,388 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 07:17:21,389 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) Word has length 113 [2022-04-28 07:17:21,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:21,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 07:17:21,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 135 transitions. [2022-04-28 07:17:21,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 07:17:21,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 135 transitions. [2022-04-28 07:17:21,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 135 transitions. [2022-04-28 07:17:21,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:21,478 INFO L225 Difference]: With dead ends: 124 [2022-04-28 07:17:21,478 INFO L226 Difference]: Without dead ends: 119 [2022-04-28 07:17:21,478 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 202 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=466, Invalid=656, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 07:17:21,479 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 28 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:21,479 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 162 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:17:21,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-28 07:17:21,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 119. [2022-04-28 07:17:21,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:21,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:17:21,579 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:17:21,580 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:17:21,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:21,582 INFO L93 Difference]: Finished difference Result 119 states and 131 transitions. [2022-04-28 07:17:21,582 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 131 transitions. [2022-04-28 07:17:21,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:21,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:21,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 119 states. [2022-04-28 07:17:21,583 INFO L87 Difference]: Start difference. First operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 119 states. [2022-04-28 07:17:21,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:21,585 INFO L93 Difference]: Finished difference Result 119 states and 131 transitions. [2022-04-28 07:17:21,585 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 131 transitions. [2022-04-28 07:17:21,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:21,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:21,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:21,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:21,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 07:17:21,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 131 transitions. [2022-04-28 07:17:21,588 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 131 transitions. Word has length 113 [2022-04-28 07:17:21,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:21,590 INFO L495 AbstractCegarLoop]: Abstraction has 119 states and 131 transitions. [2022-04-28 07:17:21,590 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 07:17:21,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 119 states and 131 transitions. [2022-04-28 07:17:21,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:21,717 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 131 transitions. [2022-04-28 07:17:21,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 07:17:21,718 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:21,718 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 11, 11, 11, 11, 11, 11, 11, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:21,741 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 07:17:21,941 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 07:17:21,941 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:21,942 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:21,942 INFO L85 PathProgramCache]: Analyzing trace with hash 1999651676, now seen corresponding path program 21 times [2022-04-28 07:17:21,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:21,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2120636998] [2022-04-28 07:17:21,942 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:21,942 INFO L85 PathProgramCache]: Analyzing trace with hash 1999651676, now seen corresponding path program 22 times [2022-04-28 07:17:21,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:21,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1573203342] [2022-04-28 07:17:21,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:21,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:21,954 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:21,954 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [932698841] [2022-04-28 07:17:21,954 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:17:21,954 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:21,954 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:21,961 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:21,967 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 07:17:22,026 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:17:22,027 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:22,028 INFO L263 TraceCheckSpWp]: Trace formula consists of 346 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 07:17:22,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:22,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:22,618 INFO L272 TraceCheckUtils]: 0: Hoare triple {10611#true} call ULTIMATE.init(); {10611#true} is VALID [2022-04-28 07:17:22,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {10611#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {10619#(<= ~counter~0 0)} assume true; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10619#(<= ~counter~0 0)} {10611#true} #67#return; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {10619#(<= ~counter~0 0)} call #t~ret7 := main(); {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {10619#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,620 INFO L272 TraceCheckUtils]: 6: Hoare triple {10619#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {10619#(<= ~counter~0 0)} ~cond := #in~cond; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,621 INFO L290 TraceCheckUtils]: 8: Hoare triple {10619#(<= ~counter~0 0)} assume !(0 == ~cond); {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {10619#(<= ~counter~0 0)} assume true; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,621 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10619#(<= ~counter~0 0)} {10619#(<= ~counter~0 0)} #59#return; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,622 INFO L272 TraceCheckUtils]: 11: Hoare triple {10619#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,622 INFO L290 TraceCheckUtils]: 12: Hoare triple {10619#(<= ~counter~0 0)} ~cond := #in~cond; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,622 INFO L290 TraceCheckUtils]: 13: Hoare triple {10619#(<= ~counter~0 0)} assume !(0 == ~cond); {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {10619#(<= ~counter~0 0)} assume true; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,623 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10619#(<= ~counter~0 0)} {10619#(<= ~counter~0 0)} #61#return; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,623 INFO L290 TraceCheckUtils]: 16: Hoare triple {10619#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {10619#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:22,624 INFO L290 TraceCheckUtils]: 17: Hoare triple {10619#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {10668#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,625 INFO L272 TraceCheckUtils]: 19: Hoare triple {10668#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {10668#(<= ~counter~0 1)} ~cond := #in~cond; {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,625 INFO L290 TraceCheckUtils]: 21: Hoare triple {10668#(<= ~counter~0 1)} assume !(0 == ~cond); {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,626 INFO L290 TraceCheckUtils]: 22: Hoare triple {10668#(<= ~counter~0 1)} assume true; {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,626 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10668#(<= ~counter~0 1)} {10668#(<= ~counter~0 1)} #63#return; {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {10668#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,627 INFO L290 TraceCheckUtils]: 25: Hoare triple {10668#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10668#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:22,627 INFO L290 TraceCheckUtils]: 26: Hoare triple {10668#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {10696#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,628 INFO L272 TraceCheckUtils]: 28: Hoare triple {10696#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {10696#(<= ~counter~0 2)} ~cond := #in~cond; {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {10696#(<= ~counter~0 2)} assume !(0 == ~cond); {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {10696#(<= ~counter~0 2)} assume true; {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,630 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10696#(<= ~counter~0 2)} {10696#(<= ~counter~0 2)} #63#return; {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,630 INFO L290 TraceCheckUtils]: 33: Hoare triple {10696#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,630 INFO L290 TraceCheckUtils]: 34: Hoare triple {10696#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10696#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:22,631 INFO L290 TraceCheckUtils]: 35: Hoare triple {10696#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,631 INFO L290 TraceCheckUtils]: 36: Hoare triple {10724#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,631 INFO L272 TraceCheckUtils]: 37: Hoare triple {10724#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,632 INFO L290 TraceCheckUtils]: 38: Hoare triple {10724#(<= ~counter~0 3)} ~cond := #in~cond; {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,632 INFO L290 TraceCheckUtils]: 39: Hoare triple {10724#(<= ~counter~0 3)} assume !(0 == ~cond); {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,632 INFO L290 TraceCheckUtils]: 40: Hoare triple {10724#(<= ~counter~0 3)} assume true; {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,633 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10724#(<= ~counter~0 3)} {10724#(<= ~counter~0 3)} #63#return; {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,633 INFO L290 TraceCheckUtils]: 42: Hoare triple {10724#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,633 INFO L290 TraceCheckUtils]: 43: Hoare triple {10724#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10724#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:22,634 INFO L290 TraceCheckUtils]: 44: Hoare triple {10724#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,634 INFO L290 TraceCheckUtils]: 45: Hoare triple {10752#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,635 INFO L272 TraceCheckUtils]: 46: Hoare triple {10752#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,635 INFO L290 TraceCheckUtils]: 47: Hoare triple {10752#(<= ~counter~0 4)} ~cond := #in~cond; {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,635 INFO L290 TraceCheckUtils]: 48: Hoare triple {10752#(<= ~counter~0 4)} assume !(0 == ~cond); {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,635 INFO L290 TraceCheckUtils]: 49: Hoare triple {10752#(<= ~counter~0 4)} assume true; {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,636 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10752#(<= ~counter~0 4)} {10752#(<= ~counter~0 4)} #63#return; {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,636 INFO L290 TraceCheckUtils]: 51: Hoare triple {10752#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,636 INFO L290 TraceCheckUtils]: 52: Hoare triple {10752#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10752#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:22,637 INFO L290 TraceCheckUtils]: 53: Hoare triple {10752#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,637 INFO L290 TraceCheckUtils]: 54: Hoare triple {10780#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,638 INFO L272 TraceCheckUtils]: 55: Hoare triple {10780#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,638 INFO L290 TraceCheckUtils]: 56: Hoare triple {10780#(<= ~counter~0 5)} ~cond := #in~cond; {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,638 INFO L290 TraceCheckUtils]: 57: Hoare triple {10780#(<= ~counter~0 5)} assume !(0 == ~cond); {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,638 INFO L290 TraceCheckUtils]: 58: Hoare triple {10780#(<= ~counter~0 5)} assume true; {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,639 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10780#(<= ~counter~0 5)} {10780#(<= ~counter~0 5)} #63#return; {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,639 INFO L290 TraceCheckUtils]: 60: Hoare triple {10780#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,640 INFO L290 TraceCheckUtils]: 61: Hoare triple {10780#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10780#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:22,640 INFO L290 TraceCheckUtils]: 62: Hoare triple {10780#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,640 INFO L290 TraceCheckUtils]: 63: Hoare triple {10808#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,641 INFO L272 TraceCheckUtils]: 64: Hoare triple {10808#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,641 INFO L290 TraceCheckUtils]: 65: Hoare triple {10808#(<= ~counter~0 6)} ~cond := #in~cond; {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,641 INFO L290 TraceCheckUtils]: 66: Hoare triple {10808#(<= ~counter~0 6)} assume !(0 == ~cond); {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,642 INFO L290 TraceCheckUtils]: 67: Hoare triple {10808#(<= ~counter~0 6)} assume true; {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,642 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10808#(<= ~counter~0 6)} {10808#(<= ~counter~0 6)} #63#return; {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,642 INFO L290 TraceCheckUtils]: 69: Hoare triple {10808#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,643 INFO L290 TraceCheckUtils]: 70: Hoare triple {10808#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10808#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:22,643 INFO L290 TraceCheckUtils]: 71: Hoare triple {10808#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,643 INFO L290 TraceCheckUtils]: 72: Hoare triple {10836#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,644 INFO L272 TraceCheckUtils]: 73: Hoare triple {10836#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,644 INFO L290 TraceCheckUtils]: 74: Hoare triple {10836#(<= ~counter~0 7)} ~cond := #in~cond; {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,644 INFO L290 TraceCheckUtils]: 75: Hoare triple {10836#(<= ~counter~0 7)} assume !(0 == ~cond); {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,645 INFO L290 TraceCheckUtils]: 76: Hoare triple {10836#(<= ~counter~0 7)} assume true; {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,645 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {10836#(<= ~counter~0 7)} {10836#(<= ~counter~0 7)} #63#return; {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,645 INFO L290 TraceCheckUtils]: 78: Hoare triple {10836#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,646 INFO L290 TraceCheckUtils]: 79: Hoare triple {10836#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10836#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:22,646 INFO L290 TraceCheckUtils]: 80: Hoare triple {10836#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,646 INFO L290 TraceCheckUtils]: 81: Hoare triple {10864#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,647 INFO L272 TraceCheckUtils]: 82: Hoare triple {10864#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,647 INFO L290 TraceCheckUtils]: 83: Hoare triple {10864#(<= ~counter~0 8)} ~cond := #in~cond; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,647 INFO L290 TraceCheckUtils]: 84: Hoare triple {10864#(<= ~counter~0 8)} assume !(0 == ~cond); {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,648 INFO L290 TraceCheckUtils]: 85: Hoare triple {10864#(<= ~counter~0 8)} assume true; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,648 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {10864#(<= ~counter~0 8)} {10864#(<= ~counter~0 8)} #63#return; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,648 INFO L290 TraceCheckUtils]: 87: Hoare triple {10864#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,649 INFO L290 TraceCheckUtils]: 88: Hoare triple {10864#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:22,649 INFO L290 TraceCheckUtils]: 89: Hoare triple {10864#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,649 INFO L290 TraceCheckUtils]: 90: Hoare triple {10892#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,650 INFO L272 TraceCheckUtils]: 91: Hoare triple {10892#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,650 INFO L290 TraceCheckUtils]: 92: Hoare triple {10892#(<= ~counter~0 9)} ~cond := #in~cond; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,650 INFO L290 TraceCheckUtils]: 93: Hoare triple {10892#(<= ~counter~0 9)} assume !(0 == ~cond); {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,651 INFO L290 TraceCheckUtils]: 94: Hoare triple {10892#(<= ~counter~0 9)} assume true; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,651 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {10892#(<= ~counter~0 9)} {10892#(<= ~counter~0 9)} #63#return; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,651 INFO L290 TraceCheckUtils]: 96: Hoare triple {10892#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,652 INFO L290 TraceCheckUtils]: 97: Hoare triple {10892#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:22,652 INFO L290 TraceCheckUtils]: 98: Hoare triple {10892#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,652 INFO L290 TraceCheckUtils]: 99: Hoare triple {10920#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,653 INFO L272 TraceCheckUtils]: 100: Hoare triple {10920#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,653 INFO L290 TraceCheckUtils]: 101: Hoare triple {10920#(<= ~counter~0 10)} ~cond := #in~cond; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,654 INFO L290 TraceCheckUtils]: 102: Hoare triple {10920#(<= ~counter~0 10)} assume !(0 == ~cond); {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,654 INFO L290 TraceCheckUtils]: 103: Hoare triple {10920#(<= ~counter~0 10)} assume true; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,654 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {10920#(<= ~counter~0 10)} {10920#(<= ~counter~0 10)} #63#return; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,655 INFO L290 TraceCheckUtils]: 105: Hoare triple {10920#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,655 INFO L290 TraceCheckUtils]: 106: Hoare triple {10920#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:22,655 INFO L290 TraceCheckUtils]: 107: Hoare triple {10920#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,656 INFO L290 TraceCheckUtils]: 108: Hoare triple {10948#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,656 INFO L272 TraceCheckUtils]: 109: Hoare triple {10948#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,656 INFO L290 TraceCheckUtils]: 110: Hoare triple {10948#(<= ~counter~0 11)} ~cond := #in~cond; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,657 INFO L290 TraceCheckUtils]: 111: Hoare triple {10948#(<= ~counter~0 11)} assume !(0 == ~cond); {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,657 INFO L290 TraceCheckUtils]: 112: Hoare triple {10948#(<= ~counter~0 11)} assume true; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,657 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {10948#(<= ~counter~0 11)} {10948#(<= ~counter~0 11)} #63#return; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,658 INFO L290 TraceCheckUtils]: 114: Hoare triple {10948#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,658 INFO L290 TraceCheckUtils]: 115: Hoare triple {10948#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:22,658 INFO L290 TraceCheckUtils]: 116: Hoare triple {10948#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10976#(<= |main_#t~post6| 11)} is VALID [2022-04-28 07:17:22,658 INFO L290 TraceCheckUtils]: 117: Hoare triple {10976#(<= |main_#t~post6| 11)} assume !(#t~post6 < 20);havoc #t~post6; {10612#false} is VALID [2022-04-28 07:17:22,659 INFO L272 TraceCheckUtils]: 118: Hoare triple {10612#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {10612#false} is VALID [2022-04-28 07:17:22,659 INFO L290 TraceCheckUtils]: 119: Hoare triple {10612#false} ~cond := #in~cond; {10612#false} is VALID [2022-04-28 07:17:22,659 INFO L290 TraceCheckUtils]: 120: Hoare triple {10612#false} assume 0 == ~cond; {10612#false} is VALID [2022-04-28 07:17:22,659 INFO L290 TraceCheckUtils]: 121: Hoare triple {10612#false} assume !false; {10612#false} is VALID [2022-04-28 07:17:22,660 INFO L134 CoverageAnalysis]: Checked inductivity of 543 backedges. 22 proven. 517 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:22,660 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:23,269 INFO L290 TraceCheckUtils]: 121: Hoare triple {10612#false} assume !false; {10612#false} is VALID [2022-04-28 07:17:23,269 INFO L290 TraceCheckUtils]: 120: Hoare triple {10612#false} assume 0 == ~cond; {10612#false} is VALID [2022-04-28 07:17:23,269 INFO L290 TraceCheckUtils]: 119: Hoare triple {10612#false} ~cond := #in~cond; {10612#false} is VALID [2022-04-28 07:17:23,269 INFO L272 TraceCheckUtils]: 118: Hoare triple {10612#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {10612#false} is VALID [2022-04-28 07:17:23,270 INFO L290 TraceCheckUtils]: 117: Hoare triple {11004#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {10612#false} is VALID [2022-04-28 07:17:23,270 INFO L290 TraceCheckUtils]: 116: Hoare triple {11008#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11004#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:23,270 INFO L290 TraceCheckUtils]: 115: Hoare triple {11008#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11008#(< ~counter~0 20)} is VALID [2022-04-28 07:17:23,271 INFO L290 TraceCheckUtils]: 114: Hoare triple {11008#(< ~counter~0 20)} assume !!(0 != ~y3~0); {11008#(< ~counter~0 20)} is VALID [2022-04-28 07:17:23,271 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {10611#true} {11008#(< ~counter~0 20)} #63#return; {11008#(< ~counter~0 20)} is VALID [2022-04-28 07:17:23,271 INFO L290 TraceCheckUtils]: 112: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,271 INFO L290 TraceCheckUtils]: 111: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,271 INFO L290 TraceCheckUtils]: 110: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,271 INFO L272 TraceCheckUtils]: 109: Hoare triple {11008#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,272 INFO L290 TraceCheckUtils]: 108: Hoare triple {11008#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {11008#(< ~counter~0 20)} is VALID [2022-04-28 07:17:23,272 INFO L290 TraceCheckUtils]: 107: Hoare triple {11036#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11008#(< ~counter~0 20)} is VALID [2022-04-28 07:17:23,272 INFO L290 TraceCheckUtils]: 106: Hoare triple {11036#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11036#(< ~counter~0 19)} is VALID [2022-04-28 07:17:23,273 INFO L290 TraceCheckUtils]: 105: Hoare triple {11036#(< ~counter~0 19)} assume !!(0 != ~y3~0); {11036#(< ~counter~0 19)} is VALID [2022-04-28 07:17:23,273 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {10611#true} {11036#(< ~counter~0 19)} #63#return; {11036#(< ~counter~0 19)} is VALID [2022-04-28 07:17:23,273 INFO L290 TraceCheckUtils]: 103: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,273 INFO L290 TraceCheckUtils]: 102: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,274 INFO L290 TraceCheckUtils]: 101: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,274 INFO L272 TraceCheckUtils]: 100: Hoare triple {11036#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,274 INFO L290 TraceCheckUtils]: 99: Hoare triple {11036#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {11036#(< ~counter~0 19)} is VALID [2022-04-28 07:17:23,275 INFO L290 TraceCheckUtils]: 98: Hoare triple {11064#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11036#(< ~counter~0 19)} is VALID [2022-04-28 07:17:23,275 INFO L290 TraceCheckUtils]: 97: Hoare triple {11064#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11064#(< ~counter~0 18)} is VALID [2022-04-28 07:17:23,275 INFO L290 TraceCheckUtils]: 96: Hoare triple {11064#(< ~counter~0 18)} assume !!(0 != ~y3~0); {11064#(< ~counter~0 18)} is VALID [2022-04-28 07:17:23,276 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {10611#true} {11064#(< ~counter~0 18)} #63#return; {11064#(< ~counter~0 18)} is VALID [2022-04-28 07:17:23,276 INFO L290 TraceCheckUtils]: 94: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,276 INFO L290 TraceCheckUtils]: 93: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,276 INFO L290 TraceCheckUtils]: 92: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,276 INFO L272 TraceCheckUtils]: 91: Hoare triple {11064#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,276 INFO L290 TraceCheckUtils]: 90: Hoare triple {11064#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {11064#(< ~counter~0 18)} is VALID [2022-04-28 07:17:23,277 INFO L290 TraceCheckUtils]: 89: Hoare triple {11092#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11064#(< ~counter~0 18)} is VALID [2022-04-28 07:17:23,277 INFO L290 TraceCheckUtils]: 88: Hoare triple {11092#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11092#(< ~counter~0 17)} is VALID [2022-04-28 07:17:23,277 INFO L290 TraceCheckUtils]: 87: Hoare triple {11092#(< ~counter~0 17)} assume !!(0 != ~y3~0); {11092#(< ~counter~0 17)} is VALID [2022-04-28 07:17:23,278 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {10611#true} {11092#(< ~counter~0 17)} #63#return; {11092#(< ~counter~0 17)} is VALID [2022-04-28 07:17:23,278 INFO L290 TraceCheckUtils]: 85: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,278 INFO L290 TraceCheckUtils]: 84: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,278 INFO L290 TraceCheckUtils]: 83: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,278 INFO L272 TraceCheckUtils]: 82: Hoare triple {11092#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,278 INFO L290 TraceCheckUtils]: 81: Hoare triple {11092#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {11092#(< ~counter~0 17)} is VALID [2022-04-28 07:17:23,279 INFO L290 TraceCheckUtils]: 80: Hoare triple {11120#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11092#(< ~counter~0 17)} is VALID [2022-04-28 07:17:23,279 INFO L290 TraceCheckUtils]: 79: Hoare triple {11120#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11120#(< ~counter~0 16)} is VALID [2022-04-28 07:17:23,279 INFO L290 TraceCheckUtils]: 78: Hoare triple {11120#(< ~counter~0 16)} assume !!(0 != ~y3~0); {11120#(< ~counter~0 16)} is VALID [2022-04-28 07:17:23,280 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {10611#true} {11120#(< ~counter~0 16)} #63#return; {11120#(< ~counter~0 16)} is VALID [2022-04-28 07:17:23,280 INFO L290 TraceCheckUtils]: 76: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,280 INFO L290 TraceCheckUtils]: 75: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,280 INFO L290 TraceCheckUtils]: 74: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,280 INFO L272 TraceCheckUtils]: 73: Hoare triple {11120#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,289 INFO L290 TraceCheckUtils]: 72: Hoare triple {11120#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {11120#(< ~counter~0 16)} is VALID [2022-04-28 07:17:23,289 INFO L290 TraceCheckUtils]: 71: Hoare triple {11148#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11120#(< ~counter~0 16)} is VALID [2022-04-28 07:17:23,290 INFO L290 TraceCheckUtils]: 70: Hoare triple {11148#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11148#(< ~counter~0 15)} is VALID [2022-04-28 07:17:23,290 INFO L290 TraceCheckUtils]: 69: Hoare triple {11148#(< ~counter~0 15)} assume !!(0 != ~y3~0); {11148#(< ~counter~0 15)} is VALID [2022-04-28 07:17:23,290 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10611#true} {11148#(< ~counter~0 15)} #63#return; {11148#(< ~counter~0 15)} is VALID [2022-04-28 07:17:23,291 INFO L290 TraceCheckUtils]: 67: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,291 INFO L290 TraceCheckUtils]: 66: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,291 INFO L290 TraceCheckUtils]: 65: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,291 INFO L272 TraceCheckUtils]: 64: Hoare triple {11148#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,303 INFO L290 TraceCheckUtils]: 63: Hoare triple {11148#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {11148#(< ~counter~0 15)} is VALID [2022-04-28 07:17:23,304 INFO L290 TraceCheckUtils]: 62: Hoare triple {11176#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11148#(< ~counter~0 15)} is VALID [2022-04-28 07:17:23,304 INFO L290 TraceCheckUtils]: 61: Hoare triple {11176#(< ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11176#(< ~counter~0 14)} is VALID [2022-04-28 07:17:23,304 INFO L290 TraceCheckUtils]: 60: Hoare triple {11176#(< ~counter~0 14)} assume !!(0 != ~y3~0); {11176#(< ~counter~0 14)} is VALID [2022-04-28 07:17:23,305 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10611#true} {11176#(< ~counter~0 14)} #63#return; {11176#(< ~counter~0 14)} is VALID [2022-04-28 07:17:23,305 INFO L290 TraceCheckUtils]: 58: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,305 INFO L290 TraceCheckUtils]: 57: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,305 INFO L290 TraceCheckUtils]: 56: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,305 INFO L272 TraceCheckUtils]: 55: Hoare triple {11176#(< ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,305 INFO L290 TraceCheckUtils]: 54: Hoare triple {11176#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {11176#(< ~counter~0 14)} is VALID [2022-04-28 07:17:23,306 INFO L290 TraceCheckUtils]: 53: Hoare triple {11204#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11176#(< ~counter~0 14)} is VALID [2022-04-28 07:17:23,306 INFO L290 TraceCheckUtils]: 52: Hoare triple {11204#(< ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {11204#(< ~counter~0 13)} is VALID [2022-04-28 07:17:23,306 INFO L290 TraceCheckUtils]: 51: Hoare triple {11204#(< ~counter~0 13)} assume !!(0 != ~y3~0); {11204#(< ~counter~0 13)} is VALID [2022-04-28 07:17:23,307 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10611#true} {11204#(< ~counter~0 13)} #63#return; {11204#(< ~counter~0 13)} is VALID [2022-04-28 07:17:23,307 INFO L290 TraceCheckUtils]: 49: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,307 INFO L290 TraceCheckUtils]: 48: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,307 INFO L290 TraceCheckUtils]: 47: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,307 INFO L272 TraceCheckUtils]: 46: Hoare triple {11204#(< ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,308 INFO L290 TraceCheckUtils]: 45: Hoare triple {11204#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {11204#(< ~counter~0 13)} is VALID [2022-04-28 07:17:23,308 INFO L290 TraceCheckUtils]: 44: Hoare triple {10948#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11204#(< ~counter~0 13)} is VALID [2022-04-28 07:17:23,308 INFO L290 TraceCheckUtils]: 43: Hoare triple {10948#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:23,309 INFO L290 TraceCheckUtils]: 42: Hoare triple {10948#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:23,309 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10611#true} {10948#(<= ~counter~0 11)} #63#return; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:23,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,309 INFO L290 TraceCheckUtils]: 39: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,309 INFO L290 TraceCheckUtils]: 38: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,309 INFO L272 TraceCheckUtils]: 37: Hoare triple {10948#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,310 INFO L290 TraceCheckUtils]: 36: Hoare triple {10948#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:23,310 INFO L290 TraceCheckUtils]: 35: Hoare triple {10920#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10948#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:23,310 INFO L290 TraceCheckUtils]: 34: Hoare triple {10920#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:23,311 INFO L290 TraceCheckUtils]: 33: Hoare triple {10920#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:23,311 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10611#true} {10920#(<= ~counter~0 10)} #63#return; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:23,311 INFO L290 TraceCheckUtils]: 31: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,312 INFO L290 TraceCheckUtils]: 29: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,312 INFO L272 TraceCheckUtils]: 28: Hoare triple {10920#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,312 INFO L290 TraceCheckUtils]: 27: Hoare triple {10920#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:23,312 INFO L290 TraceCheckUtils]: 26: Hoare triple {10892#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10920#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:23,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {10892#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:23,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {10892#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:23,314 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10611#true} {10892#(<= ~counter~0 9)} #63#return; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:23,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,314 INFO L272 TraceCheckUtils]: 19: Hoare triple {10892#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,314 INFO L290 TraceCheckUtils]: 18: Hoare triple {10892#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:23,315 INFO L290 TraceCheckUtils]: 17: Hoare triple {10864#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10892#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:23,315 INFO L290 TraceCheckUtils]: 16: Hoare triple {10864#(<= ~counter~0 8)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,315 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10611#true} {10864#(<= ~counter~0 8)} #61#return; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,316 INFO L290 TraceCheckUtils]: 12: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,316 INFO L272 TraceCheckUtils]: 11: Hoare triple {10864#(<= ~counter~0 8)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10611#true} {10864#(<= ~counter~0 8)} #59#return; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {10611#true} assume true; {10611#true} is VALID [2022-04-28 07:17:23,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {10611#true} assume !(0 == ~cond); {10611#true} is VALID [2022-04-28 07:17:23,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {10611#true} ~cond := #in~cond; {10611#true} is VALID [2022-04-28 07:17:23,316 INFO L272 TraceCheckUtils]: 6: Hoare triple {10864#(<= ~counter~0 8)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {10611#true} is VALID [2022-04-28 07:17:23,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {10864#(<= ~counter~0 8)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {10864#(<= ~counter~0 8)} call #t~ret7 := main(); {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10864#(<= ~counter~0 8)} {10611#true} #67#return; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {10864#(<= ~counter~0 8)} assume true; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {10611#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10864#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:23,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {10611#true} call ULTIMATE.init(); {10611#true} is VALID [2022-04-28 07:17:23,318 INFO L134 CoverageAnalysis]: Checked inductivity of 543 backedges. 22 proven. 297 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 07:17:23,319 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:23,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1573203342] [2022-04-28 07:17:23,319 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:23,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [932698841] [2022-04-28 07:17:23,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [932698841] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:23,319 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:23,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 07:17:23,319 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:23,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2120636998] [2022-04-28 07:17:23,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2120636998] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:23,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:23,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 07:17:23,320 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1187225662] [2022-04-28 07:17:23,320 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:23,320 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) Word has length 122 [2022-04-28 07:17:23,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:23,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 07:17:23,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:23,392 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 07:17:23,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:23,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 07:17:23,393 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:23,393 INFO L87 Difference]: Start difference. First operand 119 states and 131 transitions. Second operand has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 07:17:23,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:23,871 INFO L93 Difference]: Finished difference Result 133 states and 146 transitions. [2022-04-28 07:17:23,871 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 07:17:23,871 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) Word has length 122 [2022-04-28 07:17:23,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:23,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 07:17:23,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 145 transitions. [2022-04-28 07:17:23,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 07:17:23,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 145 transitions. [2022-04-28 07:17:23,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 145 transitions. [2022-04-28 07:17:24,003 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:24,005 INFO L225 Difference]: With dead ends: 133 [2022-04-28 07:17:24,005 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 07:17:24,006 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 254 GetRequests, 220 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=489, Invalid=701, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 07:17:24,006 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 59 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:24,006 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 164 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:24,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 07:17:24,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 128. [2022-04-28 07:17:24,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:24,135 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 07:17:24,135 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 07:17:24,136 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 07:17:24,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:24,137 INFO L93 Difference]: Finished difference Result 128 states and 141 transitions. [2022-04-28 07:17:24,137 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-28 07:17:24,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:24,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:24,138 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 128 states. [2022-04-28 07:17:24,138 INFO L87 Difference]: Start difference. First operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 128 states. [2022-04-28 07:17:24,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:24,140 INFO L93 Difference]: Finished difference Result 128 states and 141 transitions. [2022-04-28 07:17:24,140 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-28 07:17:24,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:24,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:24,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:24,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:24,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 07:17:24,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 141 transitions. [2022-04-28 07:17:24,142 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 141 transitions. Word has length 122 [2022-04-28 07:17:24,142 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:24,142 INFO L495 AbstractCegarLoop]: Abstraction has 128 states and 141 transitions. [2022-04-28 07:17:24,142 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 07:17:24,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 141 transitions. [2022-04-28 07:17:24,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:24,284 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-28 07:17:24,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 132 [2022-04-28 07:17:24,285 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:24,285 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 12, 12, 12, 12, 12, 12, 12, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:24,302 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:24,485 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:24,486 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:24,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:24,486 INFO L85 PathProgramCache]: Analyzing trace with hash 881443734, now seen corresponding path program 23 times [2022-04-28 07:17:24,486 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:24,486 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1279984321] [2022-04-28 07:17:24,486 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:24,486 INFO L85 PathProgramCache]: Analyzing trace with hash 881443734, now seen corresponding path program 24 times [2022-04-28 07:17:24,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:24,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1289517960] [2022-04-28 07:17:24,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:24,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:24,503 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:24,503 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [674889035] [2022-04-28 07:17:24,503 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:17:24,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:24,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:24,524 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:24,524 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 07:17:24,613 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-28 07:17:24,613 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:24,615 INFO L263 TraceCheckSpWp]: Trace formula consists of 369 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 07:17:24,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:24,646 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:25,257 INFO L272 TraceCheckUtils]: 0: Hoare triple {12166#true} call ULTIMATE.init(); {12166#true} is VALID [2022-04-28 07:17:25,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {12166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {12174#(<= ~counter~0 0)} assume true; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12174#(<= ~counter~0 0)} {12166#true} #67#return; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,258 INFO L272 TraceCheckUtils]: 4: Hoare triple {12174#(<= ~counter~0 0)} call #t~ret7 := main(); {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {12174#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,259 INFO L272 TraceCheckUtils]: 6: Hoare triple {12174#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,259 INFO L290 TraceCheckUtils]: 7: Hoare triple {12174#(<= ~counter~0 0)} ~cond := #in~cond; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,260 INFO L290 TraceCheckUtils]: 8: Hoare triple {12174#(<= ~counter~0 0)} assume !(0 == ~cond); {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {12174#(<= ~counter~0 0)} assume true; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,260 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12174#(<= ~counter~0 0)} {12174#(<= ~counter~0 0)} #59#return; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,261 INFO L272 TraceCheckUtils]: 11: Hoare triple {12174#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,261 INFO L290 TraceCheckUtils]: 12: Hoare triple {12174#(<= ~counter~0 0)} ~cond := #in~cond; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,261 INFO L290 TraceCheckUtils]: 13: Hoare triple {12174#(<= ~counter~0 0)} assume !(0 == ~cond); {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,261 INFO L290 TraceCheckUtils]: 14: Hoare triple {12174#(<= ~counter~0 0)} assume true; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,262 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12174#(<= ~counter~0 0)} {12174#(<= ~counter~0 0)} #61#return; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,262 INFO L290 TraceCheckUtils]: 16: Hoare triple {12174#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {12174#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:25,263 INFO L290 TraceCheckUtils]: 17: Hoare triple {12174#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,263 INFO L290 TraceCheckUtils]: 18: Hoare triple {12223#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,263 INFO L272 TraceCheckUtils]: 19: Hoare triple {12223#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,264 INFO L290 TraceCheckUtils]: 20: Hoare triple {12223#(<= ~counter~0 1)} ~cond := #in~cond; {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,264 INFO L290 TraceCheckUtils]: 21: Hoare triple {12223#(<= ~counter~0 1)} assume !(0 == ~cond); {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {12223#(<= ~counter~0 1)} assume true; {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,265 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12223#(<= ~counter~0 1)} {12223#(<= ~counter~0 1)} #63#return; {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,265 INFO L290 TraceCheckUtils]: 24: Hoare triple {12223#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {12223#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12223#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:25,266 INFO L290 TraceCheckUtils]: 26: Hoare triple {12223#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {12251#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,266 INFO L272 TraceCheckUtils]: 28: Hoare triple {12251#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {12251#(<= ~counter~0 2)} ~cond := #in~cond; {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,267 INFO L290 TraceCheckUtils]: 30: Hoare triple {12251#(<= ~counter~0 2)} assume !(0 == ~cond); {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,267 INFO L290 TraceCheckUtils]: 31: Hoare triple {12251#(<= ~counter~0 2)} assume true; {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,268 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12251#(<= ~counter~0 2)} {12251#(<= ~counter~0 2)} #63#return; {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,268 INFO L290 TraceCheckUtils]: 33: Hoare triple {12251#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,268 INFO L290 TraceCheckUtils]: 34: Hoare triple {12251#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12251#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:25,269 INFO L290 TraceCheckUtils]: 35: Hoare triple {12251#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,269 INFO L290 TraceCheckUtils]: 36: Hoare triple {12279#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,269 INFO L272 TraceCheckUtils]: 37: Hoare triple {12279#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,270 INFO L290 TraceCheckUtils]: 38: Hoare triple {12279#(<= ~counter~0 3)} ~cond := #in~cond; {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,270 INFO L290 TraceCheckUtils]: 39: Hoare triple {12279#(<= ~counter~0 3)} assume !(0 == ~cond); {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,270 INFO L290 TraceCheckUtils]: 40: Hoare triple {12279#(<= ~counter~0 3)} assume true; {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,271 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12279#(<= ~counter~0 3)} {12279#(<= ~counter~0 3)} #63#return; {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,271 INFO L290 TraceCheckUtils]: 42: Hoare triple {12279#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,271 INFO L290 TraceCheckUtils]: 43: Hoare triple {12279#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12279#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:25,272 INFO L290 TraceCheckUtils]: 44: Hoare triple {12279#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,272 INFO L290 TraceCheckUtils]: 45: Hoare triple {12307#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,272 INFO L272 TraceCheckUtils]: 46: Hoare triple {12307#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,273 INFO L290 TraceCheckUtils]: 47: Hoare triple {12307#(<= ~counter~0 4)} ~cond := #in~cond; {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,273 INFO L290 TraceCheckUtils]: 48: Hoare triple {12307#(<= ~counter~0 4)} assume !(0 == ~cond); {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,273 INFO L290 TraceCheckUtils]: 49: Hoare triple {12307#(<= ~counter~0 4)} assume true; {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,274 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12307#(<= ~counter~0 4)} {12307#(<= ~counter~0 4)} #63#return; {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,274 INFO L290 TraceCheckUtils]: 51: Hoare triple {12307#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,274 INFO L290 TraceCheckUtils]: 52: Hoare triple {12307#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12307#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:25,275 INFO L290 TraceCheckUtils]: 53: Hoare triple {12307#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,275 INFO L290 TraceCheckUtils]: 54: Hoare triple {12335#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,275 INFO L272 TraceCheckUtils]: 55: Hoare triple {12335#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,276 INFO L290 TraceCheckUtils]: 56: Hoare triple {12335#(<= ~counter~0 5)} ~cond := #in~cond; {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,276 INFO L290 TraceCheckUtils]: 57: Hoare triple {12335#(<= ~counter~0 5)} assume !(0 == ~cond); {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,276 INFO L290 TraceCheckUtils]: 58: Hoare triple {12335#(<= ~counter~0 5)} assume true; {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,277 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12335#(<= ~counter~0 5)} {12335#(<= ~counter~0 5)} #63#return; {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,277 INFO L290 TraceCheckUtils]: 60: Hoare triple {12335#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,277 INFO L290 TraceCheckUtils]: 61: Hoare triple {12335#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12335#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:25,278 INFO L290 TraceCheckUtils]: 62: Hoare triple {12335#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,278 INFO L290 TraceCheckUtils]: 63: Hoare triple {12363#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,278 INFO L272 TraceCheckUtils]: 64: Hoare triple {12363#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,279 INFO L290 TraceCheckUtils]: 65: Hoare triple {12363#(<= ~counter~0 6)} ~cond := #in~cond; {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,283 INFO L290 TraceCheckUtils]: 66: Hoare triple {12363#(<= ~counter~0 6)} assume !(0 == ~cond); {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,283 INFO L290 TraceCheckUtils]: 67: Hoare triple {12363#(<= ~counter~0 6)} assume true; {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,284 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12363#(<= ~counter~0 6)} {12363#(<= ~counter~0 6)} #63#return; {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,284 INFO L290 TraceCheckUtils]: 69: Hoare triple {12363#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,284 INFO L290 TraceCheckUtils]: 70: Hoare triple {12363#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12363#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:25,284 INFO L290 TraceCheckUtils]: 71: Hoare triple {12363#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,285 INFO L290 TraceCheckUtils]: 72: Hoare triple {12391#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,285 INFO L272 TraceCheckUtils]: 73: Hoare triple {12391#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,286 INFO L290 TraceCheckUtils]: 74: Hoare triple {12391#(<= ~counter~0 7)} ~cond := #in~cond; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,286 INFO L290 TraceCheckUtils]: 75: Hoare triple {12391#(<= ~counter~0 7)} assume !(0 == ~cond); {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,286 INFO L290 TraceCheckUtils]: 76: Hoare triple {12391#(<= ~counter~0 7)} assume true; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,287 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12391#(<= ~counter~0 7)} {12391#(<= ~counter~0 7)} #63#return; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,287 INFO L290 TraceCheckUtils]: 78: Hoare triple {12391#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,287 INFO L290 TraceCheckUtils]: 79: Hoare triple {12391#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,288 INFO L290 TraceCheckUtils]: 80: Hoare triple {12391#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,288 INFO L290 TraceCheckUtils]: 81: Hoare triple {12419#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,288 INFO L272 TraceCheckUtils]: 82: Hoare triple {12419#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,289 INFO L290 TraceCheckUtils]: 83: Hoare triple {12419#(<= ~counter~0 8)} ~cond := #in~cond; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,289 INFO L290 TraceCheckUtils]: 84: Hoare triple {12419#(<= ~counter~0 8)} assume !(0 == ~cond); {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,289 INFO L290 TraceCheckUtils]: 85: Hoare triple {12419#(<= ~counter~0 8)} assume true; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,290 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {12419#(<= ~counter~0 8)} {12419#(<= ~counter~0 8)} #63#return; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,290 INFO L290 TraceCheckUtils]: 87: Hoare triple {12419#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,290 INFO L290 TraceCheckUtils]: 88: Hoare triple {12419#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,291 INFO L290 TraceCheckUtils]: 89: Hoare triple {12419#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,291 INFO L290 TraceCheckUtils]: 90: Hoare triple {12447#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,291 INFO L272 TraceCheckUtils]: 91: Hoare triple {12447#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,292 INFO L290 TraceCheckUtils]: 92: Hoare triple {12447#(<= ~counter~0 9)} ~cond := #in~cond; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,292 INFO L290 TraceCheckUtils]: 93: Hoare triple {12447#(<= ~counter~0 9)} assume !(0 == ~cond); {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,292 INFO L290 TraceCheckUtils]: 94: Hoare triple {12447#(<= ~counter~0 9)} assume true; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,293 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {12447#(<= ~counter~0 9)} {12447#(<= ~counter~0 9)} #63#return; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,294 INFO L290 TraceCheckUtils]: 96: Hoare triple {12447#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,295 INFO L290 TraceCheckUtils]: 97: Hoare triple {12447#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,295 INFO L290 TraceCheckUtils]: 98: Hoare triple {12447#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,295 INFO L290 TraceCheckUtils]: 99: Hoare triple {12475#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,296 INFO L272 TraceCheckUtils]: 100: Hoare triple {12475#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,296 INFO L290 TraceCheckUtils]: 101: Hoare triple {12475#(<= ~counter~0 10)} ~cond := #in~cond; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,296 INFO L290 TraceCheckUtils]: 102: Hoare triple {12475#(<= ~counter~0 10)} assume !(0 == ~cond); {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,297 INFO L290 TraceCheckUtils]: 103: Hoare triple {12475#(<= ~counter~0 10)} assume true; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,297 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12475#(<= ~counter~0 10)} {12475#(<= ~counter~0 10)} #63#return; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,297 INFO L290 TraceCheckUtils]: 105: Hoare triple {12475#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,298 INFO L290 TraceCheckUtils]: 106: Hoare triple {12475#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,298 INFO L290 TraceCheckUtils]: 107: Hoare triple {12475#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,298 INFO L290 TraceCheckUtils]: 108: Hoare triple {12503#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,299 INFO L272 TraceCheckUtils]: 109: Hoare triple {12503#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,299 INFO L290 TraceCheckUtils]: 110: Hoare triple {12503#(<= ~counter~0 11)} ~cond := #in~cond; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,299 INFO L290 TraceCheckUtils]: 111: Hoare triple {12503#(<= ~counter~0 11)} assume !(0 == ~cond); {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,300 INFO L290 TraceCheckUtils]: 112: Hoare triple {12503#(<= ~counter~0 11)} assume true; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,300 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {12503#(<= ~counter~0 11)} {12503#(<= ~counter~0 11)} #63#return; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,300 INFO L290 TraceCheckUtils]: 114: Hoare triple {12503#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,301 INFO L290 TraceCheckUtils]: 115: Hoare triple {12503#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,301 INFO L290 TraceCheckUtils]: 116: Hoare triple {12503#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,301 INFO L290 TraceCheckUtils]: 117: Hoare triple {12531#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,302 INFO L272 TraceCheckUtils]: 118: Hoare triple {12531#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,302 INFO L290 TraceCheckUtils]: 119: Hoare triple {12531#(<= ~counter~0 12)} ~cond := #in~cond; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,302 INFO L290 TraceCheckUtils]: 120: Hoare triple {12531#(<= ~counter~0 12)} assume !(0 == ~cond); {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,303 INFO L290 TraceCheckUtils]: 121: Hoare triple {12531#(<= ~counter~0 12)} assume true; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,303 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {12531#(<= ~counter~0 12)} {12531#(<= ~counter~0 12)} #63#return; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,303 INFO L290 TraceCheckUtils]: 123: Hoare triple {12531#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,305 INFO L290 TraceCheckUtils]: 124: Hoare triple {12531#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,305 INFO L290 TraceCheckUtils]: 125: Hoare triple {12531#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12559#(<= |main_#t~post6| 12)} is VALID [2022-04-28 07:17:25,306 INFO L290 TraceCheckUtils]: 126: Hoare triple {12559#(<= |main_#t~post6| 12)} assume !(#t~post6 < 20);havoc #t~post6; {12167#false} is VALID [2022-04-28 07:17:25,306 INFO L272 TraceCheckUtils]: 127: Hoare triple {12167#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {12167#false} is VALID [2022-04-28 07:17:25,306 INFO L290 TraceCheckUtils]: 128: Hoare triple {12167#false} ~cond := #in~cond; {12167#false} is VALID [2022-04-28 07:17:25,306 INFO L290 TraceCheckUtils]: 129: Hoare triple {12167#false} assume 0 == ~cond; {12167#false} is VALID [2022-04-28 07:17:25,306 INFO L290 TraceCheckUtils]: 130: Hoare triple {12167#false} assume !false; {12167#false} is VALID [2022-04-28 07:17:25,306 INFO L134 CoverageAnalysis]: Checked inductivity of 646 backedges. 24 proven. 618 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:25,306 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:25,930 INFO L290 TraceCheckUtils]: 130: Hoare triple {12167#false} assume !false; {12167#false} is VALID [2022-04-28 07:17:25,930 INFO L290 TraceCheckUtils]: 129: Hoare triple {12167#false} assume 0 == ~cond; {12167#false} is VALID [2022-04-28 07:17:25,930 INFO L290 TraceCheckUtils]: 128: Hoare triple {12167#false} ~cond := #in~cond; {12167#false} is VALID [2022-04-28 07:17:25,930 INFO L272 TraceCheckUtils]: 127: Hoare triple {12167#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {12167#false} is VALID [2022-04-28 07:17:25,931 INFO L290 TraceCheckUtils]: 126: Hoare triple {12587#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {12167#false} is VALID [2022-04-28 07:17:25,931 INFO L290 TraceCheckUtils]: 125: Hoare triple {12591#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12587#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:25,931 INFO L290 TraceCheckUtils]: 124: Hoare triple {12591#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12591#(< ~counter~0 20)} is VALID [2022-04-28 07:17:25,932 INFO L290 TraceCheckUtils]: 123: Hoare triple {12591#(< ~counter~0 20)} assume !!(0 != ~y3~0); {12591#(< ~counter~0 20)} is VALID [2022-04-28 07:17:25,932 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {12166#true} {12591#(< ~counter~0 20)} #63#return; {12591#(< ~counter~0 20)} is VALID [2022-04-28 07:17:25,932 INFO L290 TraceCheckUtils]: 121: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,932 INFO L290 TraceCheckUtils]: 120: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,932 INFO L290 TraceCheckUtils]: 119: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,932 INFO L272 TraceCheckUtils]: 118: Hoare triple {12591#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,933 INFO L290 TraceCheckUtils]: 117: Hoare triple {12591#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {12591#(< ~counter~0 20)} is VALID [2022-04-28 07:17:25,933 INFO L290 TraceCheckUtils]: 116: Hoare triple {12619#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12591#(< ~counter~0 20)} is VALID [2022-04-28 07:17:25,934 INFO L290 TraceCheckUtils]: 115: Hoare triple {12619#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12619#(< ~counter~0 19)} is VALID [2022-04-28 07:17:25,934 INFO L290 TraceCheckUtils]: 114: Hoare triple {12619#(< ~counter~0 19)} assume !!(0 != ~y3~0); {12619#(< ~counter~0 19)} is VALID [2022-04-28 07:17:25,934 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {12166#true} {12619#(< ~counter~0 19)} #63#return; {12619#(< ~counter~0 19)} is VALID [2022-04-28 07:17:25,934 INFO L290 TraceCheckUtils]: 112: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,934 INFO L290 TraceCheckUtils]: 111: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,935 INFO L290 TraceCheckUtils]: 110: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,935 INFO L272 TraceCheckUtils]: 109: Hoare triple {12619#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,935 INFO L290 TraceCheckUtils]: 108: Hoare triple {12619#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {12619#(< ~counter~0 19)} is VALID [2022-04-28 07:17:25,935 INFO L290 TraceCheckUtils]: 107: Hoare triple {12647#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12619#(< ~counter~0 19)} is VALID [2022-04-28 07:17:25,936 INFO L290 TraceCheckUtils]: 106: Hoare triple {12647#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12647#(< ~counter~0 18)} is VALID [2022-04-28 07:17:25,936 INFO L290 TraceCheckUtils]: 105: Hoare triple {12647#(< ~counter~0 18)} assume !!(0 != ~y3~0); {12647#(< ~counter~0 18)} is VALID [2022-04-28 07:17:25,936 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12166#true} {12647#(< ~counter~0 18)} #63#return; {12647#(< ~counter~0 18)} is VALID [2022-04-28 07:17:25,936 INFO L290 TraceCheckUtils]: 103: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,936 INFO L290 TraceCheckUtils]: 102: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,937 INFO L290 TraceCheckUtils]: 101: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,937 INFO L272 TraceCheckUtils]: 100: Hoare triple {12647#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,937 INFO L290 TraceCheckUtils]: 99: Hoare triple {12647#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {12647#(< ~counter~0 18)} is VALID [2022-04-28 07:17:25,937 INFO L290 TraceCheckUtils]: 98: Hoare triple {12675#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12647#(< ~counter~0 18)} is VALID [2022-04-28 07:17:25,938 INFO L290 TraceCheckUtils]: 97: Hoare triple {12675#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12675#(< ~counter~0 17)} is VALID [2022-04-28 07:17:25,938 INFO L290 TraceCheckUtils]: 96: Hoare triple {12675#(< ~counter~0 17)} assume !!(0 != ~y3~0); {12675#(< ~counter~0 17)} is VALID [2022-04-28 07:17:25,938 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {12166#true} {12675#(< ~counter~0 17)} #63#return; {12675#(< ~counter~0 17)} is VALID [2022-04-28 07:17:25,938 INFO L290 TraceCheckUtils]: 94: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,939 INFO L290 TraceCheckUtils]: 93: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,939 INFO L290 TraceCheckUtils]: 92: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,939 INFO L272 TraceCheckUtils]: 91: Hoare triple {12675#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,939 INFO L290 TraceCheckUtils]: 90: Hoare triple {12675#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {12675#(< ~counter~0 17)} is VALID [2022-04-28 07:17:25,939 INFO L290 TraceCheckUtils]: 89: Hoare triple {12703#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12675#(< ~counter~0 17)} is VALID [2022-04-28 07:17:25,940 INFO L290 TraceCheckUtils]: 88: Hoare triple {12703#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12703#(< ~counter~0 16)} is VALID [2022-04-28 07:17:25,940 INFO L290 TraceCheckUtils]: 87: Hoare triple {12703#(< ~counter~0 16)} assume !!(0 != ~y3~0); {12703#(< ~counter~0 16)} is VALID [2022-04-28 07:17:25,940 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {12166#true} {12703#(< ~counter~0 16)} #63#return; {12703#(< ~counter~0 16)} is VALID [2022-04-28 07:17:25,940 INFO L290 TraceCheckUtils]: 85: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,941 INFO L290 TraceCheckUtils]: 84: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,941 INFO L290 TraceCheckUtils]: 83: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,941 INFO L272 TraceCheckUtils]: 82: Hoare triple {12703#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,943 INFO L290 TraceCheckUtils]: 81: Hoare triple {12703#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {12703#(< ~counter~0 16)} is VALID [2022-04-28 07:17:25,944 INFO L290 TraceCheckUtils]: 80: Hoare triple {12731#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12703#(< ~counter~0 16)} is VALID [2022-04-28 07:17:25,944 INFO L290 TraceCheckUtils]: 79: Hoare triple {12731#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12731#(< ~counter~0 15)} is VALID [2022-04-28 07:17:25,945 INFO L290 TraceCheckUtils]: 78: Hoare triple {12731#(< ~counter~0 15)} assume !!(0 != ~y3~0); {12731#(< ~counter~0 15)} is VALID [2022-04-28 07:17:25,945 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12166#true} {12731#(< ~counter~0 15)} #63#return; {12731#(< ~counter~0 15)} is VALID [2022-04-28 07:17:25,945 INFO L290 TraceCheckUtils]: 76: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,945 INFO L290 TraceCheckUtils]: 75: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,945 INFO L290 TraceCheckUtils]: 74: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,945 INFO L272 TraceCheckUtils]: 73: Hoare triple {12731#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,946 INFO L290 TraceCheckUtils]: 72: Hoare triple {12731#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {12731#(< ~counter~0 15)} is VALID [2022-04-28 07:17:25,946 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12731#(< ~counter~0 15)} is VALID [2022-04-28 07:17:25,946 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#(< ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12759#(< ~counter~0 14)} is VALID [2022-04-28 07:17:25,947 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#(< ~counter~0 14)} assume !!(0 != ~y3~0); {12759#(< ~counter~0 14)} is VALID [2022-04-28 07:17:25,947 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12166#true} {12759#(< ~counter~0 14)} #63#return; {12759#(< ~counter~0 14)} is VALID [2022-04-28 07:17:25,947 INFO L290 TraceCheckUtils]: 67: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,947 INFO L290 TraceCheckUtils]: 66: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,947 INFO L290 TraceCheckUtils]: 65: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,947 INFO L272 TraceCheckUtils]: 64: Hoare triple {12759#(< ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,948 INFO L290 TraceCheckUtils]: 63: Hoare triple {12759#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {12759#(< ~counter~0 14)} is VALID [2022-04-28 07:17:25,948 INFO L290 TraceCheckUtils]: 62: Hoare triple {12531#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12759#(< ~counter~0 14)} is VALID [2022-04-28 07:17:25,948 INFO L290 TraceCheckUtils]: 61: Hoare triple {12531#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,949 INFO L290 TraceCheckUtils]: 60: Hoare triple {12531#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,949 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12166#true} {12531#(<= ~counter~0 12)} #63#return; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,949 INFO L290 TraceCheckUtils]: 58: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,949 INFO L290 TraceCheckUtils]: 57: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,949 INFO L290 TraceCheckUtils]: 56: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,949 INFO L272 TraceCheckUtils]: 55: Hoare triple {12531#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {12531#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {12503#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12531#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:25,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {12503#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,951 INFO L290 TraceCheckUtils]: 51: Hoare triple {12503#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,951 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12166#true} {12503#(<= ~counter~0 11)} #63#return; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,951 INFO L290 TraceCheckUtils]: 48: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,951 INFO L290 TraceCheckUtils]: 47: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,951 INFO L272 TraceCheckUtils]: 46: Hoare triple {12503#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,952 INFO L290 TraceCheckUtils]: 45: Hoare triple {12503#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,952 INFO L290 TraceCheckUtils]: 44: Hoare triple {12475#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12503#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:25,952 INFO L290 TraceCheckUtils]: 43: Hoare triple {12475#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,962 INFO L290 TraceCheckUtils]: 42: Hoare triple {12475#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,962 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12166#true} {12475#(<= ~counter~0 10)} #63#return; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,963 INFO L290 TraceCheckUtils]: 40: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,963 INFO L290 TraceCheckUtils]: 39: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,963 INFO L290 TraceCheckUtils]: 38: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,963 INFO L272 TraceCheckUtils]: 37: Hoare triple {12475#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,963 INFO L290 TraceCheckUtils]: 36: Hoare triple {12475#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,963 INFO L290 TraceCheckUtils]: 35: Hoare triple {12447#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12475#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:25,964 INFO L290 TraceCheckUtils]: 34: Hoare triple {12447#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,964 INFO L290 TraceCheckUtils]: 33: Hoare triple {12447#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,965 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12166#true} {12447#(<= ~counter~0 9)} #63#return; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,965 INFO L290 TraceCheckUtils]: 29: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,965 INFO L272 TraceCheckUtils]: 28: Hoare triple {12447#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,965 INFO L290 TraceCheckUtils]: 27: Hoare triple {12447#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,965 INFO L290 TraceCheckUtils]: 26: Hoare triple {12419#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12447#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:25,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {12419#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,966 INFO L290 TraceCheckUtils]: 24: Hoare triple {12419#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12166#true} {12419#(<= ~counter~0 8)} #63#return; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {12419#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {12419#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,968 INFO L290 TraceCheckUtils]: 17: Hoare triple {12391#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12419#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:25,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {12391#(<= ~counter~0 7)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,968 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12166#true} {12391#(<= ~counter~0 7)} #61#return; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,968 INFO L290 TraceCheckUtils]: 12: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,968 INFO L272 TraceCheckUtils]: 11: Hoare triple {12391#(<= ~counter~0 7)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,969 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12166#true} {12391#(<= ~counter~0 7)} #59#return; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {12166#true} assume true; {12166#true} is VALID [2022-04-28 07:17:25,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {12166#true} assume !(0 == ~cond); {12166#true} is VALID [2022-04-28 07:17:25,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {12166#true} ~cond := #in~cond; {12166#true} is VALID [2022-04-28 07:17:25,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {12391#(<= ~counter~0 7)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {12166#true} is VALID [2022-04-28 07:17:25,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {12391#(<= ~counter~0 7)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {12391#(<= ~counter~0 7)} call #t~ret7 := main(); {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12391#(<= ~counter~0 7)} {12166#true} #67#return; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {12391#(<= ~counter~0 7)} assume true; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {12166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12391#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:25,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {12166#true} call ULTIMATE.init(); {12166#true} is VALID [2022-04-28 07:17:25,971 INFO L134 CoverageAnalysis]: Checked inductivity of 646 backedges. 24 proven. 354 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 07:17:25,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:25,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1289517960] [2022-04-28 07:17:25,972 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:25,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [674889035] [2022-04-28 07:17:25,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [674889035] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:25,972 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:25,972 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 24 [2022-04-28 07:17:25,972 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:25,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1279984321] [2022-04-28 07:17:25,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1279984321] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:25,972 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:25,972 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 07:17:25,972 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [553510758] [2022-04-28 07:17:25,972 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:25,973 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) Word has length 131 [2022-04-28 07:17:25,973 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:25,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 07:17:26,052 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:26,052 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 07:17:26,053 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:26,053 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 07:17:26,053 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:26,053 INFO L87 Difference]: Start difference. First operand 128 states and 141 transitions. Second operand has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 07:17:26,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:26,491 INFO L93 Difference]: Finished difference Result 142 states and 156 transitions. [2022-04-28 07:17:26,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 07:17:26,491 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) Word has length 131 [2022-04-28 07:17:26,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:26,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 07:17:26,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 155 transitions. [2022-04-28 07:17:26,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 07:17:26,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 155 transitions. [2022-04-28 07:17:26,496 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 155 transitions. [2022-04-28 07:17:26,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:26,608 INFO L225 Difference]: With dead ends: 142 [2022-04-28 07:17:26,608 INFO L226 Difference]: Without dead ends: 137 [2022-04-28 07:17:26,609 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 273 GetRequests, 238 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=512, Invalid=748, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 07:17:26,609 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 51 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:26,609 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 166 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:26,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-28 07:17:26,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2022-04-28 07:17:26,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:26,733 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 07:17:26,733 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 07:17:26,734 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 07:17:26,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:26,736 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-28 07:17:26,736 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 07:17:26,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:26,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:26,736 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 137 states. [2022-04-28 07:17:26,737 INFO L87 Difference]: Start difference. First operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 137 states. [2022-04-28 07:17:26,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:26,738 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-28 07:17:26,738 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 07:17:26,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:26,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:26,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:26,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:26,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 07:17:26,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 151 transitions. [2022-04-28 07:17:26,740 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 151 transitions. Word has length 131 [2022-04-28 07:17:26,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:26,741 INFO L495 AbstractCegarLoop]: Abstraction has 137 states and 151 transitions. [2022-04-28 07:17:26,741 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 07:17:26,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 137 states and 151 transitions. [2022-04-28 07:17:26,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:26,879 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 07:17:26,879 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 141 [2022-04-28 07:17:26,879 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:26,879 INFO L195 NwaCegarLoop]: trace histogram [14, 14, 13, 13, 13, 13, 13, 13, 13, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:26,896 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:27,080 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 07:17:27,080 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:27,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:27,080 INFO L85 PathProgramCache]: Analyzing trace with hash 2089018524, now seen corresponding path program 25 times [2022-04-28 07:17:27,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:27,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [471116216] [2022-04-28 07:17:27,081 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:27,081 INFO L85 PathProgramCache]: Analyzing trace with hash 2089018524, now seen corresponding path program 26 times [2022-04-28 07:17:27,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:27,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2067079503] [2022-04-28 07:17:27,081 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:27,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:27,098 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:27,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [784772273] [2022-04-28 07:17:27,098 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:17:27,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:27,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:27,099 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:27,101 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 07:17:27,170 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:17:27,170 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:27,171 INFO L263 TraceCheckSpWp]: Trace formula consists of 392 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 07:17:27,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:27,198 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:27,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {13831#true} call ULTIMATE.init(); {13831#true} is VALID [2022-04-28 07:17:27,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {13831#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {13839#(<= ~counter~0 0)} assume true; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13839#(<= ~counter~0 0)} {13831#true} #67#return; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {13839#(<= ~counter~0 0)} call #t~ret7 := main(); {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {13839#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {13839#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {13839#(<= ~counter~0 0)} ~cond := #in~cond; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {13839#(<= ~counter~0 0)} assume !(0 == ~cond); {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {13839#(<= ~counter~0 0)} assume true; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,839 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13839#(<= ~counter~0 0)} {13839#(<= ~counter~0 0)} #59#return; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,839 INFO L272 TraceCheckUtils]: 11: Hoare triple {13839#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,840 INFO L290 TraceCheckUtils]: 12: Hoare triple {13839#(<= ~counter~0 0)} ~cond := #in~cond; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,840 INFO L290 TraceCheckUtils]: 13: Hoare triple {13839#(<= ~counter~0 0)} assume !(0 == ~cond); {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {13839#(<= ~counter~0 0)} assume true; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,841 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13839#(<= ~counter~0 0)} {13839#(<= ~counter~0 0)} #61#return; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,841 INFO L290 TraceCheckUtils]: 16: Hoare triple {13839#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {13839#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:27,841 INFO L290 TraceCheckUtils]: 17: Hoare triple {13839#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {13888#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,842 INFO L272 TraceCheckUtils]: 19: Hoare triple {13888#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,843 INFO L290 TraceCheckUtils]: 20: Hoare triple {13888#(<= ~counter~0 1)} ~cond := #in~cond; {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,843 INFO L290 TraceCheckUtils]: 21: Hoare triple {13888#(<= ~counter~0 1)} assume !(0 == ~cond); {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {13888#(<= ~counter~0 1)} assume true; {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,844 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13888#(<= ~counter~0 1)} {13888#(<= ~counter~0 1)} #63#return; {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,844 INFO L290 TraceCheckUtils]: 24: Hoare triple {13888#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {13888#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {13888#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:27,845 INFO L290 TraceCheckUtils]: 26: Hoare triple {13888#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,845 INFO L290 TraceCheckUtils]: 27: Hoare triple {13916#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,846 INFO L272 TraceCheckUtils]: 28: Hoare triple {13916#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {13916#(<= ~counter~0 2)} ~cond := #in~cond; {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {13916#(<= ~counter~0 2)} assume !(0 == ~cond); {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {13916#(<= ~counter~0 2)} assume true; {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,847 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13916#(<= ~counter~0 2)} {13916#(<= ~counter~0 2)} #63#return; {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,848 INFO L290 TraceCheckUtils]: 33: Hoare triple {13916#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,848 INFO L290 TraceCheckUtils]: 34: Hoare triple {13916#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {13916#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:27,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {13916#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,849 INFO L290 TraceCheckUtils]: 36: Hoare triple {13944#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,849 INFO L272 TraceCheckUtils]: 37: Hoare triple {13944#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,849 INFO L290 TraceCheckUtils]: 38: Hoare triple {13944#(<= ~counter~0 3)} ~cond := #in~cond; {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,850 INFO L290 TraceCheckUtils]: 39: Hoare triple {13944#(<= ~counter~0 3)} assume !(0 == ~cond); {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,850 INFO L290 TraceCheckUtils]: 40: Hoare triple {13944#(<= ~counter~0 3)} assume true; {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,851 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13944#(<= ~counter~0 3)} {13944#(<= ~counter~0 3)} #63#return; {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,851 INFO L290 TraceCheckUtils]: 42: Hoare triple {13944#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,851 INFO L290 TraceCheckUtils]: 43: Hoare triple {13944#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {13944#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:27,852 INFO L290 TraceCheckUtils]: 44: Hoare triple {13944#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,852 INFO L290 TraceCheckUtils]: 45: Hoare triple {13972#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,853 INFO L272 TraceCheckUtils]: 46: Hoare triple {13972#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,853 INFO L290 TraceCheckUtils]: 47: Hoare triple {13972#(<= ~counter~0 4)} ~cond := #in~cond; {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,853 INFO L290 TraceCheckUtils]: 48: Hoare triple {13972#(<= ~counter~0 4)} assume !(0 == ~cond); {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,853 INFO L290 TraceCheckUtils]: 49: Hoare triple {13972#(<= ~counter~0 4)} assume true; {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,854 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13972#(<= ~counter~0 4)} {13972#(<= ~counter~0 4)} #63#return; {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,854 INFO L290 TraceCheckUtils]: 51: Hoare triple {13972#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,855 INFO L290 TraceCheckUtils]: 52: Hoare triple {13972#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {13972#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:27,855 INFO L290 TraceCheckUtils]: 53: Hoare triple {13972#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,855 INFO L290 TraceCheckUtils]: 54: Hoare triple {14000#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,856 INFO L272 TraceCheckUtils]: 55: Hoare triple {14000#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,856 INFO L290 TraceCheckUtils]: 56: Hoare triple {14000#(<= ~counter~0 5)} ~cond := #in~cond; {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,856 INFO L290 TraceCheckUtils]: 57: Hoare triple {14000#(<= ~counter~0 5)} assume !(0 == ~cond); {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,857 INFO L290 TraceCheckUtils]: 58: Hoare triple {14000#(<= ~counter~0 5)} assume true; {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,857 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14000#(<= ~counter~0 5)} {14000#(<= ~counter~0 5)} #63#return; {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,858 INFO L290 TraceCheckUtils]: 60: Hoare triple {14000#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,858 INFO L290 TraceCheckUtils]: 61: Hoare triple {14000#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14000#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:27,859 INFO L290 TraceCheckUtils]: 62: Hoare triple {14000#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,859 INFO L290 TraceCheckUtils]: 63: Hoare triple {14028#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,860 INFO L272 TraceCheckUtils]: 64: Hoare triple {14028#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,860 INFO L290 TraceCheckUtils]: 65: Hoare triple {14028#(<= ~counter~0 6)} ~cond := #in~cond; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,860 INFO L290 TraceCheckUtils]: 66: Hoare triple {14028#(<= ~counter~0 6)} assume !(0 == ~cond); {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,861 INFO L290 TraceCheckUtils]: 67: Hoare triple {14028#(<= ~counter~0 6)} assume true; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,861 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14028#(<= ~counter~0 6)} {14028#(<= ~counter~0 6)} #63#return; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,862 INFO L290 TraceCheckUtils]: 69: Hoare triple {14028#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,862 INFO L290 TraceCheckUtils]: 70: Hoare triple {14028#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:27,862 INFO L290 TraceCheckUtils]: 71: Hoare triple {14028#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,863 INFO L290 TraceCheckUtils]: 72: Hoare triple {14056#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,863 INFO L272 TraceCheckUtils]: 73: Hoare triple {14056#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,864 INFO L290 TraceCheckUtils]: 74: Hoare triple {14056#(<= ~counter~0 7)} ~cond := #in~cond; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,864 INFO L290 TraceCheckUtils]: 75: Hoare triple {14056#(<= ~counter~0 7)} assume !(0 == ~cond); {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,864 INFO L290 TraceCheckUtils]: 76: Hoare triple {14056#(<= ~counter~0 7)} assume true; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,865 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14056#(<= ~counter~0 7)} {14056#(<= ~counter~0 7)} #63#return; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,865 INFO L290 TraceCheckUtils]: 78: Hoare triple {14056#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,865 INFO L290 TraceCheckUtils]: 79: Hoare triple {14056#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:27,866 INFO L290 TraceCheckUtils]: 80: Hoare triple {14056#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,866 INFO L290 TraceCheckUtils]: 81: Hoare triple {14084#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,867 INFO L272 TraceCheckUtils]: 82: Hoare triple {14084#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,867 INFO L290 TraceCheckUtils]: 83: Hoare triple {14084#(<= ~counter~0 8)} ~cond := #in~cond; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,867 INFO L290 TraceCheckUtils]: 84: Hoare triple {14084#(<= ~counter~0 8)} assume !(0 == ~cond); {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,868 INFO L290 TraceCheckUtils]: 85: Hoare triple {14084#(<= ~counter~0 8)} assume true; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,868 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {14084#(<= ~counter~0 8)} {14084#(<= ~counter~0 8)} #63#return; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,868 INFO L290 TraceCheckUtils]: 87: Hoare triple {14084#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,869 INFO L290 TraceCheckUtils]: 88: Hoare triple {14084#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:27,869 INFO L290 TraceCheckUtils]: 89: Hoare triple {14084#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,869 INFO L290 TraceCheckUtils]: 90: Hoare triple {14112#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,870 INFO L272 TraceCheckUtils]: 91: Hoare triple {14112#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,870 INFO L290 TraceCheckUtils]: 92: Hoare triple {14112#(<= ~counter~0 9)} ~cond := #in~cond; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,871 INFO L290 TraceCheckUtils]: 93: Hoare triple {14112#(<= ~counter~0 9)} assume !(0 == ~cond); {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,871 INFO L290 TraceCheckUtils]: 94: Hoare triple {14112#(<= ~counter~0 9)} assume true; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,872 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {14112#(<= ~counter~0 9)} {14112#(<= ~counter~0 9)} #63#return; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,872 INFO L290 TraceCheckUtils]: 96: Hoare triple {14112#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,872 INFO L290 TraceCheckUtils]: 97: Hoare triple {14112#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:27,873 INFO L290 TraceCheckUtils]: 98: Hoare triple {14112#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,873 INFO L290 TraceCheckUtils]: 99: Hoare triple {14140#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,874 INFO L272 TraceCheckUtils]: 100: Hoare triple {14140#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,874 INFO L290 TraceCheckUtils]: 101: Hoare triple {14140#(<= ~counter~0 10)} ~cond := #in~cond; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,874 INFO L290 TraceCheckUtils]: 102: Hoare triple {14140#(<= ~counter~0 10)} assume !(0 == ~cond); {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,874 INFO L290 TraceCheckUtils]: 103: Hoare triple {14140#(<= ~counter~0 10)} assume true; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,875 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {14140#(<= ~counter~0 10)} {14140#(<= ~counter~0 10)} #63#return; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,875 INFO L290 TraceCheckUtils]: 105: Hoare triple {14140#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,876 INFO L290 TraceCheckUtils]: 106: Hoare triple {14140#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:27,876 INFO L290 TraceCheckUtils]: 107: Hoare triple {14140#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,876 INFO L290 TraceCheckUtils]: 108: Hoare triple {14168#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,877 INFO L272 TraceCheckUtils]: 109: Hoare triple {14168#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,877 INFO L290 TraceCheckUtils]: 110: Hoare triple {14168#(<= ~counter~0 11)} ~cond := #in~cond; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,878 INFO L290 TraceCheckUtils]: 111: Hoare triple {14168#(<= ~counter~0 11)} assume !(0 == ~cond); {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,878 INFO L290 TraceCheckUtils]: 112: Hoare triple {14168#(<= ~counter~0 11)} assume true; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,878 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {14168#(<= ~counter~0 11)} {14168#(<= ~counter~0 11)} #63#return; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,879 INFO L290 TraceCheckUtils]: 114: Hoare triple {14168#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,879 INFO L290 TraceCheckUtils]: 115: Hoare triple {14168#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:27,880 INFO L290 TraceCheckUtils]: 116: Hoare triple {14168#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,880 INFO L290 TraceCheckUtils]: 117: Hoare triple {14196#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,880 INFO L272 TraceCheckUtils]: 118: Hoare triple {14196#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,881 INFO L290 TraceCheckUtils]: 119: Hoare triple {14196#(<= ~counter~0 12)} ~cond := #in~cond; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,881 INFO L290 TraceCheckUtils]: 120: Hoare triple {14196#(<= ~counter~0 12)} assume !(0 == ~cond); {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,881 INFO L290 TraceCheckUtils]: 121: Hoare triple {14196#(<= ~counter~0 12)} assume true; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,882 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {14196#(<= ~counter~0 12)} {14196#(<= ~counter~0 12)} #63#return; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,882 INFO L290 TraceCheckUtils]: 123: Hoare triple {14196#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,882 INFO L290 TraceCheckUtils]: 124: Hoare triple {14196#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:27,883 INFO L290 TraceCheckUtils]: 125: Hoare triple {14196#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,883 INFO L290 TraceCheckUtils]: 126: Hoare triple {14224#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,884 INFO L272 TraceCheckUtils]: 127: Hoare triple {14224#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,884 INFO L290 TraceCheckUtils]: 128: Hoare triple {14224#(<= ~counter~0 13)} ~cond := #in~cond; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,884 INFO L290 TraceCheckUtils]: 129: Hoare triple {14224#(<= ~counter~0 13)} assume !(0 == ~cond); {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,885 INFO L290 TraceCheckUtils]: 130: Hoare triple {14224#(<= ~counter~0 13)} assume true; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,885 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {14224#(<= ~counter~0 13)} {14224#(<= ~counter~0 13)} #63#return; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,885 INFO L290 TraceCheckUtils]: 132: Hoare triple {14224#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,886 INFO L290 TraceCheckUtils]: 133: Hoare triple {14224#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:27,886 INFO L290 TraceCheckUtils]: 134: Hoare triple {14224#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14252#(<= |main_#t~post6| 13)} is VALID [2022-04-28 07:17:27,886 INFO L290 TraceCheckUtils]: 135: Hoare triple {14252#(<= |main_#t~post6| 13)} assume !(#t~post6 < 20);havoc #t~post6; {13832#false} is VALID [2022-04-28 07:17:27,887 INFO L272 TraceCheckUtils]: 136: Hoare triple {13832#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {13832#false} is VALID [2022-04-28 07:17:27,887 INFO L290 TraceCheckUtils]: 137: Hoare triple {13832#false} ~cond := #in~cond; {13832#false} is VALID [2022-04-28 07:17:27,887 INFO L290 TraceCheckUtils]: 138: Hoare triple {13832#false} assume 0 == ~cond; {13832#false} is VALID [2022-04-28 07:17:27,887 INFO L290 TraceCheckUtils]: 139: Hoare triple {13832#false} assume !false; {13832#false} is VALID [2022-04-28 07:17:27,887 INFO L134 CoverageAnalysis]: Checked inductivity of 758 backedges. 26 proven. 728 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:27,888 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:28,544 INFO L290 TraceCheckUtils]: 139: Hoare triple {13832#false} assume !false; {13832#false} is VALID [2022-04-28 07:17:28,545 INFO L290 TraceCheckUtils]: 138: Hoare triple {13832#false} assume 0 == ~cond; {13832#false} is VALID [2022-04-28 07:17:28,545 INFO L290 TraceCheckUtils]: 137: Hoare triple {13832#false} ~cond := #in~cond; {13832#false} is VALID [2022-04-28 07:17:28,545 INFO L272 TraceCheckUtils]: 136: Hoare triple {13832#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {13832#false} is VALID [2022-04-28 07:17:28,545 INFO L290 TraceCheckUtils]: 135: Hoare triple {14280#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {13832#false} is VALID [2022-04-28 07:17:28,545 INFO L290 TraceCheckUtils]: 134: Hoare triple {14284#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14280#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:28,546 INFO L290 TraceCheckUtils]: 133: Hoare triple {14284#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14284#(< ~counter~0 20)} is VALID [2022-04-28 07:17:28,546 INFO L290 TraceCheckUtils]: 132: Hoare triple {14284#(< ~counter~0 20)} assume !!(0 != ~y3~0); {14284#(< ~counter~0 20)} is VALID [2022-04-28 07:17:28,547 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {13831#true} {14284#(< ~counter~0 20)} #63#return; {14284#(< ~counter~0 20)} is VALID [2022-04-28 07:17:28,547 INFO L290 TraceCheckUtils]: 130: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,547 INFO L290 TraceCheckUtils]: 129: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,547 INFO L290 TraceCheckUtils]: 128: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,547 INFO L272 TraceCheckUtils]: 127: Hoare triple {14284#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,547 INFO L290 TraceCheckUtils]: 126: Hoare triple {14284#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {14284#(< ~counter~0 20)} is VALID [2022-04-28 07:17:28,548 INFO L290 TraceCheckUtils]: 125: Hoare triple {14312#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14284#(< ~counter~0 20)} is VALID [2022-04-28 07:17:28,548 INFO L290 TraceCheckUtils]: 124: Hoare triple {14312#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14312#(< ~counter~0 19)} is VALID [2022-04-28 07:17:28,548 INFO L290 TraceCheckUtils]: 123: Hoare triple {14312#(< ~counter~0 19)} assume !!(0 != ~y3~0); {14312#(< ~counter~0 19)} is VALID [2022-04-28 07:17:28,549 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {13831#true} {14312#(< ~counter~0 19)} #63#return; {14312#(< ~counter~0 19)} is VALID [2022-04-28 07:17:28,549 INFO L290 TraceCheckUtils]: 121: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,549 INFO L290 TraceCheckUtils]: 120: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,549 INFO L290 TraceCheckUtils]: 119: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,549 INFO L272 TraceCheckUtils]: 118: Hoare triple {14312#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,549 INFO L290 TraceCheckUtils]: 117: Hoare triple {14312#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {14312#(< ~counter~0 19)} is VALID [2022-04-28 07:17:28,550 INFO L290 TraceCheckUtils]: 116: Hoare triple {14340#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14312#(< ~counter~0 19)} is VALID [2022-04-28 07:17:28,550 INFO L290 TraceCheckUtils]: 115: Hoare triple {14340#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14340#(< ~counter~0 18)} is VALID [2022-04-28 07:17:28,550 INFO L290 TraceCheckUtils]: 114: Hoare triple {14340#(< ~counter~0 18)} assume !!(0 != ~y3~0); {14340#(< ~counter~0 18)} is VALID [2022-04-28 07:17:28,551 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {13831#true} {14340#(< ~counter~0 18)} #63#return; {14340#(< ~counter~0 18)} is VALID [2022-04-28 07:17:28,551 INFO L290 TraceCheckUtils]: 112: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,551 INFO L290 TraceCheckUtils]: 111: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,551 INFO L290 TraceCheckUtils]: 110: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,551 INFO L272 TraceCheckUtils]: 109: Hoare triple {14340#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,551 INFO L290 TraceCheckUtils]: 108: Hoare triple {14340#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {14340#(< ~counter~0 18)} is VALID [2022-04-28 07:17:28,552 INFO L290 TraceCheckUtils]: 107: Hoare triple {14368#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14340#(< ~counter~0 18)} is VALID [2022-04-28 07:17:28,552 INFO L290 TraceCheckUtils]: 106: Hoare triple {14368#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14368#(< ~counter~0 17)} is VALID [2022-04-28 07:17:28,553 INFO L290 TraceCheckUtils]: 105: Hoare triple {14368#(< ~counter~0 17)} assume !!(0 != ~y3~0); {14368#(< ~counter~0 17)} is VALID [2022-04-28 07:17:28,553 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {13831#true} {14368#(< ~counter~0 17)} #63#return; {14368#(< ~counter~0 17)} is VALID [2022-04-28 07:17:28,559 INFO L290 TraceCheckUtils]: 103: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,560 INFO L290 TraceCheckUtils]: 102: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,560 INFO L290 TraceCheckUtils]: 101: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,560 INFO L272 TraceCheckUtils]: 100: Hoare triple {14368#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,561 INFO L290 TraceCheckUtils]: 99: Hoare triple {14368#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {14368#(< ~counter~0 17)} is VALID [2022-04-28 07:17:28,562 INFO L290 TraceCheckUtils]: 98: Hoare triple {14396#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14368#(< ~counter~0 17)} is VALID [2022-04-28 07:17:28,562 INFO L290 TraceCheckUtils]: 97: Hoare triple {14396#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14396#(< ~counter~0 16)} is VALID [2022-04-28 07:17:28,562 INFO L290 TraceCheckUtils]: 96: Hoare triple {14396#(< ~counter~0 16)} assume !!(0 != ~y3~0); {14396#(< ~counter~0 16)} is VALID [2022-04-28 07:17:28,563 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {13831#true} {14396#(< ~counter~0 16)} #63#return; {14396#(< ~counter~0 16)} is VALID [2022-04-28 07:17:28,563 INFO L290 TraceCheckUtils]: 94: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,563 INFO L290 TraceCheckUtils]: 93: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,563 INFO L290 TraceCheckUtils]: 92: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,563 INFO L272 TraceCheckUtils]: 91: Hoare triple {14396#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,564 INFO L290 TraceCheckUtils]: 90: Hoare triple {14396#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {14396#(< ~counter~0 16)} is VALID [2022-04-28 07:17:28,564 INFO L290 TraceCheckUtils]: 89: Hoare triple {14424#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14396#(< ~counter~0 16)} is VALID [2022-04-28 07:17:28,565 INFO L290 TraceCheckUtils]: 88: Hoare triple {14424#(< ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14424#(< ~counter~0 15)} is VALID [2022-04-28 07:17:28,565 INFO L290 TraceCheckUtils]: 87: Hoare triple {14424#(< ~counter~0 15)} assume !!(0 != ~y3~0); {14424#(< ~counter~0 15)} is VALID [2022-04-28 07:17:28,565 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {13831#true} {14424#(< ~counter~0 15)} #63#return; {14424#(< ~counter~0 15)} is VALID [2022-04-28 07:17:28,566 INFO L290 TraceCheckUtils]: 85: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,566 INFO L290 TraceCheckUtils]: 84: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,566 INFO L290 TraceCheckUtils]: 83: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,566 INFO L272 TraceCheckUtils]: 82: Hoare triple {14424#(< ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,566 INFO L290 TraceCheckUtils]: 81: Hoare triple {14424#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {14424#(< ~counter~0 15)} is VALID [2022-04-28 07:17:28,567 INFO L290 TraceCheckUtils]: 80: Hoare triple {14224#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14424#(< ~counter~0 15)} is VALID [2022-04-28 07:17:28,567 INFO L290 TraceCheckUtils]: 79: Hoare triple {14224#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:28,567 INFO L290 TraceCheckUtils]: 78: Hoare triple {14224#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:28,568 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13831#true} {14224#(<= ~counter~0 13)} #63#return; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:28,568 INFO L290 TraceCheckUtils]: 76: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,568 INFO L290 TraceCheckUtils]: 75: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,568 INFO L290 TraceCheckUtils]: 74: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,568 INFO L272 TraceCheckUtils]: 73: Hoare triple {14224#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,569 INFO L290 TraceCheckUtils]: 72: Hoare triple {14224#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:28,569 INFO L290 TraceCheckUtils]: 71: Hoare triple {14196#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14224#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:28,570 INFO L290 TraceCheckUtils]: 70: Hoare triple {14196#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:28,570 INFO L290 TraceCheckUtils]: 69: Hoare triple {14196#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:28,571 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13831#true} {14196#(<= ~counter~0 12)} #63#return; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:28,571 INFO L290 TraceCheckUtils]: 67: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,571 INFO L290 TraceCheckUtils]: 66: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,571 INFO L290 TraceCheckUtils]: 65: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,571 INFO L272 TraceCheckUtils]: 64: Hoare triple {14196#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,571 INFO L290 TraceCheckUtils]: 63: Hoare triple {14196#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:28,572 INFO L290 TraceCheckUtils]: 62: Hoare triple {14168#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14196#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:28,572 INFO L290 TraceCheckUtils]: 61: Hoare triple {14168#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:28,572 INFO L290 TraceCheckUtils]: 60: Hoare triple {14168#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:28,573 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13831#true} {14168#(<= ~counter~0 11)} #63#return; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:28,573 INFO L290 TraceCheckUtils]: 58: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,573 INFO L290 TraceCheckUtils]: 57: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,573 INFO L290 TraceCheckUtils]: 56: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,573 INFO L272 TraceCheckUtils]: 55: Hoare triple {14168#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,574 INFO L290 TraceCheckUtils]: 54: Hoare triple {14168#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:28,574 INFO L290 TraceCheckUtils]: 53: Hoare triple {14140#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14168#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:28,574 INFO L290 TraceCheckUtils]: 52: Hoare triple {14140#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:28,575 INFO L290 TraceCheckUtils]: 51: Hoare triple {14140#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:28,575 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13831#true} {14140#(<= ~counter~0 10)} #63#return; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:28,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,576 INFO L290 TraceCheckUtils]: 48: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,576 INFO L290 TraceCheckUtils]: 47: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,576 INFO L272 TraceCheckUtils]: 46: Hoare triple {14140#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,576 INFO L290 TraceCheckUtils]: 45: Hoare triple {14140#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:28,577 INFO L290 TraceCheckUtils]: 44: Hoare triple {14112#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14140#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:28,577 INFO L290 TraceCheckUtils]: 43: Hoare triple {14112#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:28,577 INFO L290 TraceCheckUtils]: 42: Hoare triple {14112#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:28,578 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13831#true} {14112#(<= ~counter~0 9)} #63#return; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:28,578 INFO L290 TraceCheckUtils]: 40: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,578 INFO L290 TraceCheckUtils]: 39: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,578 INFO L290 TraceCheckUtils]: 38: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,578 INFO L272 TraceCheckUtils]: 37: Hoare triple {14112#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {14112#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:28,579 INFO L290 TraceCheckUtils]: 35: Hoare triple {14084#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14112#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:28,579 INFO L290 TraceCheckUtils]: 34: Hoare triple {14084#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:28,579 INFO L290 TraceCheckUtils]: 33: Hoare triple {14084#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:28,580 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13831#true} {14084#(<= ~counter~0 8)} #63#return; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:28,580 INFO L290 TraceCheckUtils]: 31: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,580 INFO L290 TraceCheckUtils]: 30: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,580 INFO L290 TraceCheckUtils]: 29: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,580 INFO L272 TraceCheckUtils]: 28: Hoare triple {14084#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,581 INFO L290 TraceCheckUtils]: 27: Hoare triple {14084#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:28,581 INFO L290 TraceCheckUtils]: 26: Hoare triple {14056#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14084#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:28,581 INFO L290 TraceCheckUtils]: 25: Hoare triple {14056#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:28,582 INFO L290 TraceCheckUtils]: 24: Hoare triple {14056#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:28,582 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13831#true} {14056#(<= ~counter~0 7)} #63#return; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:28,582 INFO L290 TraceCheckUtils]: 22: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,583 INFO L272 TraceCheckUtils]: 19: Hoare triple {14056#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {14056#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:28,583 INFO L290 TraceCheckUtils]: 17: Hoare triple {14028#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14056#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:28,584 INFO L290 TraceCheckUtils]: 16: Hoare triple {14028#(<= ~counter~0 6)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,584 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13831#true} {14028#(<= ~counter~0 6)} #61#return; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,584 INFO L290 TraceCheckUtils]: 14: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,584 INFO L290 TraceCheckUtils]: 13: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,585 INFO L272 TraceCheckUtils]: 11: Hoare triple {14028#(<= ~counter~0 6)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,585 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13831#true} {14028#(<= ~counter~0 6)} #59#return; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,585 INFO L290 TraceCheckUtils]: 9: Hoare triple {13831#true} assume true; {13831#true} is VALID [2022-04-28 07:17:28,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {13831#true} assume !(0 == ~cond); {13831#true} is VALID [2022-04-28 07:17:28,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {13831#true} ~cond := #in~cond; {13831#true} is VALID [2022-04-28 07:17:28,585 INFO L272 TraceCheckUtils]: 6: Hoare triple {14028#(<= ~counter~0 6)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {13831#true} is VALID [2022-04-28 07:17:28,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {14028#(<= ~counter~0 6)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,586 INFO L272 TraceCheckUtils]: 4: Hoare triple {14028#(<= ~counter~0 6)} call #t~ret7 := main(); {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14028#(<= ~counter~0 6)} {13831#true} #67#return; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {14028#(<= ~counter~0 6)} assume true; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {13831#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14028#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:28,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {13831#true} call ULTIMATE.init(); {13831#true} is VALID [2022-04-28 07:17:28,588 INFO L134 CoverageAnalysis]: Checked inductivity of 758 backedges. 26 proven. 416 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 07:17:28,588 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:28,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2067079503] [2022-04-28 07:17:28,588 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:28,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [784772273] [2022-04-28 07:17:28,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [784772273] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:28,589 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:28,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 24 [2022-04-28 07:17:28,589 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:28,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [471116216] [2022-04-28 07:17:28,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [471116216] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:28,589 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:28,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 07:17:28,590 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1438177400] [2022-04-28 07:17:28,590 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:28,590 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) Word has length 140 [2022-04-28 07:17:28,591 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:28,593 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 07:17:28,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:28,695 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 07:17:28,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:28,695 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 07:17:28,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:28,696 INFO L87 Difference]: Start difference. First operand 137 states and 151 transitions. Second operand has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 07:17:29,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:29,193 INFO L93 Difference]: Finished difference Result 151 states and 166 transitions. [2022-04-28 07:17:29,193 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 07:17:29,193 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) Word has length 140 [2022-04-28 07:17:29,193 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:29,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 07:17:29,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 165 transitions. [2022-04-28 07:17:29,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 07:17:29,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 165 transitions. [2022-04-28 07:17:29,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 165 transitions. [2022-04-28 07:17:29,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 165 edges. 165 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:29,307 INFO L225 Difference]: With dead ends: 151 [2022-04-28 07:17:29,307 INFO L226 Difference]: Without dead ends: 146 [2022-04-28 07:17:29,308 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 292 GetRequests, 256 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 116 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=535, Invalid=797, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 07:17:29,308 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 64 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:29,309 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 180 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:29,309 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-28 07:17:29,444 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 146. [2022-04-28 07:17:29,444 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:29,445 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 07:17:29,445 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 07:17:29,445 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 07:17:29,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:29,447 INFO L93 Difference]: Finished difference Result 146 states and 161 transitions. [2022-04-28 07:17:29,447 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 161 transitions. [2022-04-28 07:17:29,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:29,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:29,447 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 146 states. [2022-04-28 07:17:29,448 INFO L87 Difference]: Start difference. First operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 146 states. [2022-04-28 07:17:29,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:29,450 INFO L93 Difference]: Finished difference Result 146 states and 161 transitions. [2022-04-28 07:17:29,450 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 161 transitions. [2022-04-28 07:17:29,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:29,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:29,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:29,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:29,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 07:17:29,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 161 transitions. [2022-04-28 07:17:29,452 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 161 transitions. Word has length 140 [2022-04-28 07:17:29,453 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:29,453 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 161 transitions. [2022-04-28 07:17:29,453 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 07:17:29,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 161 transitions. [2022-04-28 07:17:29,620 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:29,621 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 161 transitions. [2022-04-28 07:17:29,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2022-04-28 07:17:29,621 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:29,621 INFO L195 NwaCegarLoop]: trace histogram [15, 15, 14, 14, 14, 14, 14, 14, 14, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:29,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:29,821 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 07:17:29,822 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:29,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:29,822 INFO L85 PathProgramCache]: Analyzing trace with hash -1088976298, now seen corresponding path program 27 times [2022-04-28 07:17:29,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:29,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1524445918] [2022-04-28 07:17:29,822 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:29,823 INFO L85 PathProgramCache]: Analyzing trace with hash -1088976298, now seen corresponding path program 28 times [2022-04-28 07:17:29,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:29,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1311564929] [2022-04-28 07:17:29,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:29,823 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:29,852 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:29,853 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [174340257] [2022-04-28 07:17:29,853 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:17:29,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:29,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:29,854 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:29,857 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 07:17:29,922 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:17:29,922 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:29,923 INFO L263 TraceCheckSpWp]: Trace formula consists of 415 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 07:17:29,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:29,949 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:30,604 INFO L272 TraceCheckUtils]: 0: Hoare triple {15606#true} call ULTIMATE.init(); {15606#true} is VALID [2022-04-28 07:17:30,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {15606#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {15614#(<= ~counter~0 0)} assume true; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15614#(<= ~counter~0 0)} {15606#true} #67#return; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {15614#(<= ~counter~0 0)} call #t~ret7 := main(); {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {15614#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,607 INFO L272 TraceCheckUtils]: 6: Hoare triple {15614#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {15614#(<= ~counter~0 0)} ~cond := #in~cond; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {15614#(<= ~counter~0 0)} assume !(0 == ~cond); {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {15614#(<= ~counter~0 0)} assume true; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,608 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15614#(<= ~counter~0 0)} {15614#(<= ~counter~0 0)} #59#return; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,608 INFO L272 TraceCheckUtils]: 11: Hoare triple {15614#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,608 INFO L290 TraceCheckUtils]: 12: Hoare triple {15614#(<= ~counter~0 0)} ~cond := #in~cond; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {15614#(<= ~counter~0 0)} assume !(0 == ~cond); {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {15614#(<= ~counter~0 0)} assume true; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,609 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15614#(<= ~counter~0 0)} {15614#(<= ~counter~0 0)} #61#return; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {15614#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {15614#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:30,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {15614#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {15663#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,611 INFO L272 TraceCheckUtils]: 19: Hoare triple {15663#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {15663#(<= ~counter~0 1)} ~cond := #in~cond; {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {15663#(<= ~counter~0 1)} assume !(0 == ~cond); {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {15663#(<= ~counter~0 1)} assume true; {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,612 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15663#(<= ~counter~0 1)} {15663#(<= ~counter~0 1)} #63#return; {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,612 INFO L290 TraceCheckUtils]: 24: Hoare triple {15663#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,613 INFO L290 TraceCheckUtils]: 25: Hoare triple {15663#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15663#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:30,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {15663#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {15691#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,614 INFO L272 TraceCheckUtils]: 28: Hoare triple {15691#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,614 INFO L290 TraceCheckUtils]: 29: Hoare triple {15691#(<= ~counter~0 2)} ~cond := #in~cond; {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {15691#(<= ~counter~0 2)} assume !(0 == ~cond); {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,615 INFO L290 TraceCheckUtils]: 31: Hoare triple {15691#(<= ~counter~0 2)} assume true; {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,615 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15691#(<= ~counter~0 2)} {15691#(<= ~counter~0 2)} #63#return; {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,615 INFO L290 TraceCheckUtils]: 33: Hoare triple {15691#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,616 INFO L290 TraceCheckUtils]: 34: Hoare triple {15691#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15691#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:30,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {15691#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,616 INFO L290 TraceCheckUtils]: 36: Hoare triple {15719#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,617 INFO L272 TraceCheckUtils]: 37: Hoare triple {15719#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {15719#(<= ~counter~0 3)} ~cond := #in~cond; {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,617 INFO L290 TraceCheckUtils]: 39: Hoare triple {15719#(<= ~counter~0 3)} assume !(0 == ~cond); {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,618 INFO L290 TraceCheckUtils]: 40: Hoare triple {15719#(<= ~counter~0 3)} assume true; {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,618 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15719#(<= ~counter~0 3)} {15719#(<= ~counter~0 3)} #63#return; {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,618 INFO L290 TraceCheckUtils]: 42: Hoare triple {15719#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,619 INFO L290 TraceCheckUtils]: 43: Hoare triple {15719#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15719#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:30,619 INFO L290 TraceCheckUtils]: 44: Hoare triple {15719#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,619 INFO L290 TraceCheckUtils]: 45: Hoare triple {15747#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,620 INFO L272 TraceCheckUtils]: 46: Hoare triple {15747#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,620 INFO L290 TraceCheckUtils]: 47: Hoare triple {15747#(<= ~counter~0 4)} ~cond := #in~cond; {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,620 INFO L290 TraceCheckUtils]: 48: Hoare triple {15747#(<= ~counter~0 4)} assume !(0 == ~cond); {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,621 INFO L290 TraceCheckUtils]: 49: Hoare triple {15747#(<= ~counter~0 4)} assume true; {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,621 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15747#(<= ~counter~0 4)} {15747#(<= ~counter~0 4)} #63#return; {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,621 INFO L290 TraceCheckUtils]: 51: Hoare triple {15747#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,622 INFO L290 TraceCheckUtils]: 52: Hoare triple {15747#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15747#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:30,622 INFO L290 TraceCheckUtils]: 53: Hoare triple {15747#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,622 INFO L290 TraceCheckUtils]: 54: Hoare triple {15775#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,623 INFO L272 TraceCheckUtils]: 55: Hoare triple {15775#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,623 INFO L290 TraceCheckUtils]: 56: Hoare triple {15775#(<= ~counter~0 5)} ~cond := #in~cond; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,623 INFO L290 TraceCheckUtils]: 57: Hoare triple {15775#(<= ~counter~0 5)} assume !(0 == ~cond); {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,624 INFO L290 TraceCheckUtils]: 58: Hoare triple {15775#(<= ~counter~0 5)} assume true; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,624 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15775#(<= ~counter~0 5)} {15775#(<= ~counter~0 5)} #63#return; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,624 INFO L290 TraceCheckUtils]: 60: Hoare triple {15775#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,625 INFO L290 TraceCheckUtils]: 61: Hoare triple {15775#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:30,625 INFO L290 TraceCheckUtils]: 62: Hoare triple {15775#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,625 INFO L290 TraceCheckUtils]: 63: Hoare triple {15803#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,626 INFO L272 TraceCheckUtils]: 64: Hoare triple {15803#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,626 INFO L290 TraceCheckUtils]: 65: Hoare triple {15803#(<= ~counter~0 6)} ~cond := #in~cond; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,626 INFO L290 TraceCheckUtils]: 66: Hoare triple {15803#(<= ~counter~0 6)} assume !(0 == ~cond); {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,627 INFO L290 TraceCheckUtils]: 67: Hoare triple {15803#(<= ~counter~0 6)} assume true; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,627 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15803#(<= ~counter~0 6)} {15803#(<= ~counter~0 6)} #63#return; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,627 INFO L290 TraceCheckUtils]: 69: Hoare triple {15803#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,628 INFO L290 TraceCheckUtils]: 70: Hoare triple {15803#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:30,628 INFO L290 TraceCheckUtils]: 71: Hoare triple {15803#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,628 INFO L290 TraceCheckUtils]: 72: Hoare triple {15831#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,629 INFO L272 TraceCheckUtils]: 73: Hoare triple {15831#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,629 INFO L290 TraceCheckUtils]: 74: Hoare triple {15831#(<= ~counter~0 7)} ~cond := #in~cond; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,629 INFO L290 TraceCheckUtils]: 75: Hoare triple {15831#(<= ~counter~0 7)} assume !(0 == ~cond); {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,630 INFO L290 TraceCheckUtils]: 76: Hoare triple {15831#(<= ~counter~0 7)} assume true; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,630 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15831#(<= ~counter~0 7)} {15831#(<= ~counter~0 7)} #63#return; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,630 INFO L290 TraceCheckUtils]: 78: Hoare triple {15831#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,631 INFO L290 TraceCheckUtils]: 79: Hoare triple {15831#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:30,631 INFO L290 TraceCheckUtils]: 80: Hoare triple {15831#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,631 INFO L290 TraceCheckUtils]: 81: Hoare triple {15859#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,632 INFO L272 TraceCheckUtils]: 82: Hoare triple {15859#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,632 INFO L290 TraceCheckUtils]: 83: Hoare triple {15859#(<= ~counter~0 8)} ~cond := #in~cond; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,632 INFO L290 TraceCheckUtils]: 84: Hoare triple {15859#(<= ~counter~0 8)} assume !(0 == ~cond); {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,633 INFO L290 TraceCheckUtils]: 85: Hoare triple {15859#(<= ~counter~0 8)} assume true; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,633 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15859#(<= ~counter~0 8)} {15859#(<= ~counter~0 8)} #63#return; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,633 INFO L290 TraceCheckUtils]: 87: Hoare triple {15859#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,634 INFO L290 TraceCheckUtils]: 88: Hoare triple {15859#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:30,634 INFO L290 TraceCheckUtils]: 89: Hoare triple {15859#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,634 INFO L290 TraceCheckUtils]: 90: Hoare triple {15887#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,635 INFO L272 TraceCheckUtils]: 91: Hoare triple {15887#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,635 INFO L290 TraceCheckUtils]: 92: Hoare triple {15887#(<= ~counter~0 9)} ~cond := #in~cond; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,635 INFO L290 TraceCheckUtils]: 93: Hoare triple {15887#(<= ~counter~0 9)} assume !(0 == ~cond); {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,636 INFO L290 TraceCheckUtils]: 94: Hoare triple {15887#(<= ~counter~0 9)} assume true; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,636 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {15887#(<= ~counter~0 9)} {15887#(<= ~counter~0 9)} #63#return; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,636 INFO L290 TraceCheckUtils]: 96: Hoare triple {15887#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,637 INFO L290 TraceCheckUtils]: 97: Hoare triple {15887#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:30,637 INFO L290 TraceCheckUtils]: 98: Hoare triple {15887#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,637 INFO L290 TraceCheckUtils]: 99: Hoare triple {15915#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,638 INFO L272 TraceCheckUtils]: 100: Hoare triple {15915#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,638 INFO L290 TraceCheckUtils]: 101: Hoare triple {15915#(<= ~counter~0 10)} ~cond := #in~cond; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,638 INFO L290 TraceCheckUtils]: 102: Hoare triple {15915#(<= ~counter~0 10)} assume !(0 == ~cond); {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,639 INFO L290 TraceCheckUtils]: 103: Hoare triple {15915#(<= ~counter~0 10)} assume true; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,639 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {15915#(<= ~counter~0 10)} {15915#(<= ~counter~0 10)} #63#return; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,639 INFO L290 TraceCheckUtils]: 105: Hoare triple {15915#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,640 INFO L290 TraceCheckUtils]: 106: Hoare triple {15915#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:30,641 INFO L290 TraceCheckUtils]: 107: Hoare triple {15915#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,641 INFO L290 TraceCheckUtils]: 108: Hoare triple {15943#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,641 INFO L272 TraceCheckUtils]: 109: Hoare triple {15943#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,642 INFO L290 TraceCheckUtils]: 110: Hoare triple {15943#(<= ~counter~0 11)} ~cond := #in~cond; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,642 INFO L290 TraceCheckUtils]: 111: Hoare triple {15943#(<= ~counter~0 11)} assume !(0 == ~cond); {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,642 INFO L290 TraceCheckUtils]: 112: Hoare triple {15943#(<= ~counter~0 11)} assume true; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,643 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {15943#(<= ~counter~0 11)} {15943#(<= ~counter~0 11)} #63#return; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,643 INFO L290 TraceCheckUtils]: 114: Hoare triple {15943#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,643 INFO L290 TraceCheckUtils]: 115: Hoare triple {15943#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:30,644 INFO L290 TraceCheckUtils]: 116: Hoare triple {15943#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,644 INFO L290 TraceCheckUtils]: 117: Hoare triple {15971#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,645 INFO L272 TraceCheckUtils]: 118: Hoare triple {15971#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,645 INFO L290 TraceCheckUtils]: 119: Hoare triple {15971#(<= ~counter~0 12)} ~cond := #in~cond; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,645 INFO L290 TraceCheckUtils]: 120: Hoare triple {15971#(<= ~counter~0 12)} assume !(0 == ~cond); {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,645 INFO L290 TraceCheckUtils]: 121: Hoare triple {15971#(<= ~counter~0 12)} assume true; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,646 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {15971#(<= ~counter~0 12)} {15971#(<= ~counter~0 12)} #63#return; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,646 INFO L290 TraceCheckUtils]: 123: Hoare triple {15971#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,646 INFO L290 TraceCheckUtils]: 124: Hoare triple {15971#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:30,647 INFO L290 TraceCheckUtils]: 125: Hoare triple {15971#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,647 INFO L290 TraceCheckUtils]: 126: Hoare triple {15999#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,648 INFO L272 TraceCheckUtils]: 127: Hoare triple {15999#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,648 INFO L290 TraceCheckUtils]: 128: Hoare triple {15999#(<= ~counter~0 13)} ~cond := #in~cond; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,648 INFO L290 TraceCheckUtils]: 129: Hoare triple {15999#(<= ~counter~0 13)} assume !(0 == ~cond); {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,648 INFO L290 TraceCheckUtils]: 130: Hoare triple {15999#(<= ~counter~0 13)} assume true; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,649 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {15999#(<= ~counter~0 13)} {15999#(<= ~counter~0 13)} #63#return; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,649 INFO L290 TraceCheckUtils]: 132: Hoare triple {15999#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,649 INFO L290 TraceCheckUtils]: 133: Hoare triple {15999#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:30,650 INFO L290 TraceCheckUtils]: 134: Hoare triple {15999#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,650 INFO L290 TraceCheckUtils]: 135: Hoare triple {16027#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,651 INFO L272 TraceCheckUtils]: 136: Hoare triple {16027#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,651 INFO L290 TraceCheckUtils]: 137: Hoare triple {16027#(<= ~counter~0 14)} ~cond := #in~cond; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,651 INFO L290 TraceCheckUtils]: 138: Hoare triple {16027#(<= ~counter~0 14)} assume !(0 == ~cond); {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,651 INFO L290 TraceCheckUtils]: 139: Hoare triple {16027#(<= ~counter~0 14)} assume true; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,652 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {16027#(<= ~counter~0 14)} {16027#(<= ~counter~0 14)} #63#return; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,652 INFO L290 TraceCheckUtils]: 141: Hoare triple {16027#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,652 INFO L290 TraceCheckUtils]: 142: Hoare triple {16027#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:30,653 INFO L290 TraceCheckUtils]: 143: Hoare triple {16027#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16055#(<= |main_#t~post6| 14)} is VALID [2022-04-28 07:17:30,653 INFO L290 TraceCheckUtils]: 144: Hoare triple {16055#(<= |main_#t~post6| 14)} assume !(#t~post6 < 20);havoc #t~post6; {15607#false} is VALID [2022-04-28 07:17:30,653 INFO L272 TraceCheckUtils]: 145: Hoare triple {15607#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {15607#false} is VALID [2022-04-28 07:17:30,653 INFO L290 TraceCheckUtils]: 146: Hoare triple {15607#false} ~cond := #in~cond; {15607#false} is VALID [2022-04-28 07:17:30,653 INFO L290 TraceCheckUtils]: 147: Hoare triple {15607#false} assume 0 == ~cond; {15607#false} is VALID [2022-04-28 07:17:30,653 INFO L290 TraceCheckUtils]: 148: Hoare triple {15607#false} assume !false; {15607#false} is VALID [2022-04-28 07:17:30,654 INFO L134 CoverageAnalysis]: Checked inductivity of 879 backedges. 28 proven. 847 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:30,654 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:31,317 INFO L290 TraceCheckUtils]: 148: Hoare triple {15607#false} assume !false; {15607#false} is VALID [2022-04-28 07:17:31,317 INFO L290 TraceCheckUtils]: 147: Hoare triple {15607#false} assume 0 == ~cond; {15607#false} is VALID [2022-04-28 07:17:31,317 INFO L290 TraceCheckUtils]: 146: Hoare triple {15607#false} ~cond := #in~cond; {15607#false} is VALID [2022-04-28 07:17:31,318 INFO L272 TraceCheckUtils]: 145: Hoare triple {15607#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {15607#false} is VALID [2022-04-28 07:17:31,318 INFO L290 TraceCheckUtils]: 144: Hoare triple {16083#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {15607#false} is VALID [2022-04-28 07:17:31,318 INFO L290 TraceCheckUtils]: 143: Hoare triple {16087#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16083#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:31,318 INFO L290 TraceCheckUtils]: 142: Hoare triple {16087#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {16087#(< ~counter~0 20)} is VALID [2022-04-28 07:17:31,319 INFO L290 TraceCheckUtils]: 141: Hoare triple {16087#(< ~counter~0 20)} assume !!(0 != ~y3~0); {16087#(< ~counter~0 20)} is VALID [2022-04-28 07:17:31,319 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {15606#true} {16087#(< ~counter~0 20)} #63#return; {16087#(< ~counter~0 20)} is VALID [2022-04-28 07:17:31,319 INFO L290 TraceCheckUtils]: 139: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,319 INFO L290 TraceCheckUtils]: 138: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,320 INFO L290 TraceCheckUtils]: 137: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,320 INFO L272 TraceCheckUtils]: 136: Hoare triple {16087#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,320 INFO L290 TraceCheckUtils]: 135: Hoare triple {16087#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {16087#(< ~counter~0 20)} is VALID [2022-04-28 07:17:31,320 INFO L290 TraceCheckUtils]: 134: Hoare triple {16115#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16087#(< ~counter~0 20)} is VALID [2022-04-28 07:17:31,321 INFO L290 TraceCheckUtils]: 133: Hoare triple {16115#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {16115#(< ~counter~0 19)} is VALID [2022-04-28 07:17:31,321 INFO L290 TraceCheckUtils]: 132: Hoare triple {16115#(< ~counter~0 19)} assume !!(0 != ~y3~0); {16115#(< ~counter~0 19)} is VALID [2022-04-28 07:17:31,321 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {15606#true} {16115#(< ~counter~0 19)} #63#return; {16115#(< ~counter~0 19)} is VALID [2022-04-28 07:17:31,322 INFO L290 TraceCheckUtils]: 130: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,322 INFO L290 TraceCheckUtils]: 129: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,322 INFO L290 TraceCheckUtils]: 128: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,322 INFO L272 TraceCheckUtils]: 127: Hoare triple {16115#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,322 INFO L290 TraceCheckUtils]: 126: Hoare triple {16115#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {16115#(< ~counter~0 19)} is VALID [2022-04-28 07:17:31,322 INFO L290 TraceCheckUtils]: 125: Hoare triple {16143#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16115#(< ~counter~0 19)} is VALID [2022-04-28 07:17:31,323 INFO L290 TraceCheckUtils]: 124: Hoare triple {16143#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {16143#(< ~counter~0 18)} is VALID [2022-04-28 07:17:31,323 INFO L290 TraceCheckUtils]: 123: Hoare triple {16143#(< ~counter~0 18)} assume !!(0 != ~y3~0); {16143#(< ~counter~0 18)} is VALID [2022-04-28 07:17:31,324 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {15606#true} {16143#(< ~counter~0 18)} #63#return; {16143#(< ~counter~0 18)} is VALID [2022-04-28 07:17:31,324 INFO L290 TraceCheckUtils]: 121: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,324 INFO L290 TraceCheckUtils]: 120: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,324 INFO L290 TraceCheckUtils]: 119: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,324 INFO L272 TraceCheckUtils]: 118: Hoare triple {16143#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,324 INFO L290 TraceCheckUtils]: 117: Hoare triple {16143#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {16143#(< ~counter~0 18)} is VALID [2022-04-28 07:17:31,325 INFO L290 TraceCheckUtils]: 116: Hoare triple {16171#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16143#(< ~counter~0 18)} is VALID [2022-04-28 07:17:31,325 INFO L290 TraceCheckUtils]: 115: Hoare triple {16171#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {16171#(< ~counter~0 17)} is VALID [2022-04-28 07:17:31,325 INFO L290 TraceCheckUtils]: 114: Hoare triple {16171#(< ~counter~0 17)} assume !!(0 != ~y3~0); {16171#(< ~counter~0 17)} is VALID [2022-04-28 07:17:31,326 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {15606#true} {16171#(< ~counter~0 17)} #63#return; {16171#(< ~counter~0 17)} is VALID [2022-04-28 07:17:31,326 INFO L290 TraceCheckUtils]: 112: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,326 INFO L290 TraceCheckUtils]: 111: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,326 INFO L290 TraceCheckUtils]: 110: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,326 INFO L272 TraceCheckUtils]: 109: Hoare triple {16171#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,326 INFO L290 TraceCheckUtils]: 108: Hoare triple {16171#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {16171#(< ~counter~0 17)} is VALID [2022-04-28 07:17:31,327 INFO L290 TraceCheckUtils]: 107: Hoare triple {16199#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16171#(< ~counter~0 17)} is VALID [2022-04-28 07:17:31,327 INFO L290 TraceCheckUtils]: 106: Hoare triple {16199#(< ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {16199#(< ~counter~0 16)} is VALID [2022-04-28 07:17:31,327 INFO L290 TraceCheckUtils]: 105: Hoare triple {16199#(< ~counter~0 16)} assume !!(0 != ~y3~0); {16199#(< ~counter~0 16)} is VALID [2022-04-28 07:17:31,328 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {15606#true} {16199#(< ~counter~0 16)} #63#return; {16199#(< ~counter~0 16)} is VALID [2022-04-28 07:17:31,328 INFO L290 TraceCheckUtils]: 103: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,328 INFO L290 TraceCheckUtils]: 102: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,328 INFO L290 TraceCheckUtils]: 101: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,328 INFO L272 TraceCheckUtils]: 100: Hoare triple {16199#(< ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,328 INFO L290 TraceCheckUtils]: 99: Hoare triple {16199#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {16199#(< ~counter~0 16)} is VALID [2022-04-28 07:17:31,329 INFO L290 TraceCheckUtils]: 98: Hoare triple {16027#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16199#(< ~counter~0 16)} is VALID [2022-04-28 07:17:31,329 INFO L290 TraceCheckUtils]: 97: Hoare triple {16027#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:31,329 INFO L290 TraceCheckUtils]: 96: Hoare triple {16027#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:31,330 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {15606#true} {16027#(<= ~counter~0 14)} #63#return; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:31,330 INFO L290 TraceCheckUtils]: 94: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,330 INFO L290 TraceCheckUtils]: 93: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,330 INFO L290 TraceCheckUtils]: 92: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,330 INFO L272 TraceCheckUtils]: 91: Hoare triple {16027#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,330 INFO L290 TraceCheckUtils]: 90: Hoare triple {16027#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:31,331 INFO L290 TraceCheckUtils]: 89: Hoare triple {15999#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16027#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:31,331 INFO L290 TraceCheckUtils]: 88: Hoare triple {15999#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:31,331 INFO L290 TraceCheckUtils]: 87: Hoare triple {15999#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:31,332 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15606#true} {15999#(<= ~counter~0 13)} #63#return; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:31,332 INFO L290 TraceCheckUtils]: 85: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,332 INFO L290 TraceCheckUtils]: 84: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,332 INFO L290 TraceCheckUtils]: 83: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,332 INFO L272 TraceCheckUtils]: 82: Hoare triple {15999#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,332 INFO L290 TraceCheckUtils]: 81: Hoare triple {15999#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:31,333 INFO L290 TraceCheckUtils]: 80: Hoare triple {15971#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15999#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:31,333 INFO L290 TraceCheckUtils]: 79: Hoare triple {15971#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:31,333 INFO L290 TraceCheckUtils]: 78: Hoare triple {15971#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:31,334 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15606#true} {15971#(<= ~counter~0 12)} #63#return; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:31,334 INFO L290 TraceCheckUtils]: 76: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,334 INFO L290 TraceCheckUtils]: 75: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,334 INFO L290 TraceCheckUtils]: 74: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,334 INFO L272 TraceCheckUtils]: 73: Hoare triple {15971#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,334 INFO L290 TraceCheckUtils]: 72: Hoare triple {15971#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:31,335 INFO L290 TraceCheckUtils]: 71: Hoare triple {15943#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15971#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:31,343 INFO L290 TraceCheckUtils]: 70: Hoare triple {15943#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:31,343 INFO L290 TraceCheckUtils]: 69: Hoare triple {15943#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:31,344 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15606#true} {15943#(<= ~counter~0 11)} #63#return; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:31,344 INFO L290 TraceCheckUtils]: 67: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,344 INFO L290 TraceCheckUtils]: 66: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,344 INFO L290 TraceCheckUtils]: 65: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,344 INFO L272 TraceCheckUtils]: 64: Hoare triple {15943#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,345 INFO L290 TraceCheckUtils]: 63: Hoare triple {15943#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:31,345 INFO L290 TraceCheckUtils]: 62: Hoare triple {15915#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15943#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:31,346 INFO L290 TraceCheckUtils]: 61: Hoare triple {15915#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:31,346 INFO L290 TraceCheckUtils]: 60: Hoare triple {15915#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:31,347 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15606#true} {15915#(<= ~counter~0 10)} #63#return; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:31,347 INFO L290 TraceCheckUtils]: 58: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,347 INFO L290 TraceCheckUtils]: 57: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,347 INFO L290 TraceCheckUtils]: 56: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,347 INFO L272 TraceCheckUtils]: 55: Hoare triple {15915#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,347 INFO L290 TraceCheckUtils]: 54: Hoare triple {15915#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:31,348 INFO L290 TraceCheckUtils]: 53: Hoare triple {15887#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15915#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:31,348 INFO L290 TraceCheckUtils]: 52: Hoare triple {15887#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:31,348 INFO L290 TraceCheckUtils]: 51: Hoare triple {15887#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:31,349 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15606#true} {15887#(<= ~counter~0 9)} #63#return; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:31,349 INFO L290 TraceCheckUtils]: 49: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,349 INFO L290 TraceCheckUtils]: 48: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,349 INFO L290 TraceCheckUtils]: 47: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,349 INFO L272 TraceCheckUtils]: 46: Hoare triple {15887#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,349 INFO L290 TraceCheckUtils]: 45: Hoare triple {15887#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:31,350 INFO L290 TraceCheckUtils]: 44: Hoare triple {15859#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15887#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:31,350 INFO L290 TraceCheckUtils]: 43: Hoare triple {15859#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:31,351 INFO L290 TraceCheckUtils]: 42: Hoare triple {15859#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:31,351 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15606#true} {15859#(<= ~counter~0 8)} #63#return; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:31,351 INFO L290 TraceCheckUtils]: 40: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,351 INFO L290 TraceCheckUtils]: 39: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,351 INFO L290 TraceCheckUtils]: 38: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,352 INFO L272 TraceCheckUtils]: 37: Hoare triple {15859#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,352 INFO L290 TraceCheckUtils]: 36: Hoare triple {15859#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:31,352 INFO L290 TraceCheckUtils]: 35: Hoare triple {15831#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15859#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:31,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {15831#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:31,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {15831#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:31,353 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15606#true} {15831#(<= ~counter~0 7)} #63#return; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:31,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,354 INFO L272 TraceCheckUtils]: 28: Hoare triple {15831#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,354 INFO L290 TraceCheckUtils]: 27: Hoare triple {15831#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:31,355 INFO L290 TraceCheckUtils]: 26: Hoare triple {15803#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15831#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:31,355 INFO L290 TraceCheckUtils]: 25: Hoare triple {15803#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:31,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {15803#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:31,356 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15606#true} {15803#(<= ~counter~0 6)} #63#return; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:31,356 INFO L290 TraceCheckUtils]: 22: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,356 INFO L290 TraceCheckUtils]: 21: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,356 INFO L290 TraceCheckUtils]: 20: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,356 INFO L272 TraceCheckUtils]: 19: Hoare triple {15803#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,356 INFO L290 TraceCheckUtils]: 18: Hoare triple {15803#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:31,357 INFO L290 TraceCheckUtils]: 17: Hoare triple {15775#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15803#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:31,357 INFO L290 TraceCheckUtils]: 16: Hoare triple {15775#(<= ~counter~0 5)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,358 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15606#true} {15775#(<= ~counter~0 5)} #61#return; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,358 INFO L290 TraceCheckUtils]: 13: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,358 INFO L290 TraceCheckUtils]: 12: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,358 INFO L272 TraceCheckUtils]: 11: Hoare triple {15775#(<= ~counter~0 5)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,358 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15606#true} {15775#(<= ~counter~0 5)} #59#return; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,358 INFO L290 TraceCheckUtils]: 9: Hoare triple {15606#true} assume true; {15606#true} is VALID [2022-04-28 07:17:31,358 INFO L290 TraceCheckUtils]: 8: Hoare triple {15606#true} assume !(0 == ~cond); {15606#true} is VALID [2022-04-28 07:17:31,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {15606#true} ~cond := #in~cond; {15606#true} is VALID [2022-04-28 07:17:31,359 INFO L272 TraceCheckUtils]: 6: Hoare triple {15775#(<= ~counter~0 5)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {15606#true} is VALID [2022-04-28 07:17:31,359 INFO L290 TraceCheckUtils]: 5: Hoare triple {15775#(<= ~counter~0 5)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,359 INFO L272 TraceCheckUtils]: 4: Hoare triple {15775#(<= ~counter~0 5)} call #t~ret7 := main(); {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,359 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15775#(<= ~counter~0 5)} {15606#true} #67#return; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {15775#(<= ~counter~0 5)} assume true; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {15606#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15775#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:31,360 INFO L272 TraceCheckUtils]: 0: Hoare triple {15606#true} call ULTIMATE.init(); {15606#true} is VALID [2022-04-28 07:17:31,361 INFO L134 CoverageAnalysis]: Checked inductivity of 879 backedges. 28 proven. 483 refuted. 0 times theorem prover too weak. 368 trivial. 0 not checked. [2022-04-28 07:17:31,361 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:31,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1311564929] [2022-04-28 07:17:31,361 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:31,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [174340257] [2022-04-28 07:17:31,361 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [174340257] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:31,361 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:31,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 24 [2022-04-28 07:17:31,362 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:31,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1524445918] [2022-04-28 07:17:31,362 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1524445918] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:31,362 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:31,362 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 07:17:31,362 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [14892008] [2022-04-28 07:17:31,362 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:31,362 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) Word has length 149 [2022-04-28 07:17:31,362 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:31,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 07:17:31,454 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:31,454 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 07:17:31,454 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:31,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 07:17:31,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:31,454 INFO L87 Difference]: Start difference. First operand 146 states and 161 transitions. Second operand has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 07:17:31,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:31,980 INFO L93 Difference]: Finished difference Result 160 states and 176 transitions. [2022-04-28 07:17:31,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 07:17:31,980 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) Word has length 149 [2022-04-28 07:17:31,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:31,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 07:17:31,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 175 transitions. [2022-04-28 07:17:31,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 07:17:31,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 175 transitions. [2022-04-28 07:17:31,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 175 transitions. [2022-04-28 07:17:32,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:32,110 INFO L225 Difference]: With dead ends: 160 [2022-04-28 07:17:32,111 INFO L226 Difference]: Without dead ends: 155 [2022-04-28 07:17:32,121 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 311 GetRequests, 274 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 129 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=558, Invalid=848, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 07:17:32,121 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 64 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 73 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 108 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 73 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:32,121 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 194 Invalid, 108 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 73 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:32,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-28 07:17:32,275 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 155. [2022-04-28 07:17:32,275 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:32,276 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 07:17:32,276 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 07:17:32,276 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 07:17:32,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:32,279 INFO L93 Difference]: Finished difference Result 155 states and 171 transitions. [2022-04-28 07:17:32,279 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 171 transitions. [2022-04-28 07:17:32,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:32,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:32,280 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 155 states. [2022-04-28 07:17:32,280 INFO L87 Difference]: Start difference. First operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 155 states. [2022-04-28 07:17:32,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:32,282 INFO L93 Difference]: Finished difference Result 155 states and 171 transitions. [2022-04-28 07:17:32,282 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 171 transitions. [2022-04-28 07:17:32,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:32,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:32,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:32,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:32,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 07:17:32,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 171 transitions. [2022-04-28 07:17:32,286 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 171 transitions. Word has length 149 [2022-04-28 07:17:32,286 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:32,286 INFO L495 AbstractCegarLoop]: Abstraction has 155 states and 171 transitions. [2022-04-28 07:17:32,286 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 07:17:32,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 171 transitions. [2022-04-28 07:17:32,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:32,457 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 171 transitions. [2022-04-28 07:17:32,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 159 [2022-04-28 07:17:32,458 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:32,458 INFO L195 NwaCegarLoop]: trace histogram [16, 16, 15, 15, 15, 15, 15, 15, 15, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:32,475 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:32,658 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 07:17:32,659 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:32,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:32,659 INFO L85 PathProgramCache]: Analyzing trace with hash -2060864036, now seen corresponding path program 29 times [2022-04-28 07:17:32,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:32,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [62642274] [2022-04-28 07:17:32,660 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:32,660 INFO L85 PathProgramCache]: Analyzing trace with hash -2060864036, now seen corresponding path program 30 times [2022-04-28 07:17:32,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:32,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2031262831] [2022-04-28 07:17:32,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:32,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:32,675 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:32,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1020326827] [2022-04-28 07:17:32,675 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:17:32,675 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:32,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:32,676 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:32,677 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 07:17:32,757 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-04-28 07:17:32,758 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:32,759 INFO L263 TraceCheckSpWp]: Trace formula consists of 438 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 07:17:32,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:32,801 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:33,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {17491#true} call ULTIMATE.init(); {17491#true} is VALID [2022-04-28 07:17:33,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {17491#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {17499#(<= ~counter~0 0)} assume true; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17499#(<= ~counter~0 0)} {17491#true} #67#return; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {17499#(<= ~counter~0 0)} call #t~ret7 := main(); {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {17499#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,515 INFO L272 TraceCheckUtils]: 6: Hoare triple {17499#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {17499#(<= ~counter~0 0)} ~cond := #in~cond; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {17499#(<= ~counter~0 0)} assume !(0 == ~cond); {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {17499#(<= ~counter~0 0)} assume true; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,516 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17499#(<= ~counter~0 0)} {17499#(<= ~counter~0 0)} #59#return; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,517 INFO L272 TraceCheckUtils]: 11: Hoare triple {17499#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {17499#(<= ~counter~0 0)} ~cond := #in~cond; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {17499#(<= ~counter~0 0)} assume !(0 == ~cond); {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {17499#(<= ~counter~0 0)} assume true; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,518 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17499#(<= ~counter~0 0)} {17499#(<= ~counter~0 0)} #61#return; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {17499#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {17499#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:33,519 INFO L290 TraceCheckUtils]: 17: Hoare triple {17499#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {17548#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,519 INFO L272 TraceCheckUtils]: 19: Hoare triple {17548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {17548#(<= ~counter~0 1)} ~cond := #in~cond; {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,520 INFO L290 TraceCheckUtils]: 21: Hoare triple {17548#(<= ~counter~0 1)} assume !(0 == ~cond); {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,520 INFO L290 TraceCheckUtils]: 22: Hoare triple {17548#(<= ~counter~0 1)} assume true; {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,521 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17548#(<= ~counter~0 1)} {17548#(<= ~counter~0 1)} #63#return; {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,521 INFO L290 TraceCheckUtils]: 24: Hoare triple {17548#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {17548#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17548#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:33,522 INFO L290 TraceCheckUtils]: 26: Hoare triple {17548#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,522 INFO L290 TraceCheckUtils]: 27: Hoare triple {17576#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,522 INFO L272 TraceCheckUtils]: 28: Hoare triple {17576#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,523 INFO L290 TraceCheckUtils]: 29: Hoare triple {17576#(<= ~counter~0 2)} ~cond := #in~cond; {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,523 INFO L290 TraceCheckUtils]: 30: Hoare triple {17576#(<= ~counter~0 2)} assume !(0 == ~cond); {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,523 INFO L290 TraceCheckUtils]: 31: Hoare triple {17576#(<= ~counter~0 2)} assume true; {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,524 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17576#(<= ~counter~0 2)} {17576#(<= ~counter~0 2)} #63#return; {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,524 INFO L290 TraceCheckUtils]: 33: Hoare triple {17576#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,524 INFO L290 TraceCheckUtils]: 34: Hoare triple {17576#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17576#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:33,525 INFO L290 TraceCheckUtils]: 35: Hoare triple {17576#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,525 INFO L290 TraceCheckUtils]: 36: Hoare triple {17604#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,525 INFO L272 TraceCheckUtils]: 37: Hoare triple {17604#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,526 INFO L290 TraceCheckUtils]: 38: Hoare triple {17604#(<= ~counter~0 3)} ~cond := #in~cond; {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,526 INFO L290 TraceCheckUtils]: 39: Hoare triple {17604#(<= ~counter~0 3)} assume !(0 == ~cond); {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,526 INFO L290 TraceCheckUtils]: 40: Hoare triple {17604#(<= ~counter~0 3)} assume true; {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,527 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17604#(<= ~counter~0 3)} {17604#(<= ~counter~0 3)} #63#return; {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,527 INFO L290 TraceCheckUtils]: 42: Hoare triple {17604#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,527 INFO L290 TraceCheckUtils]: 43: Hoare triple {17604#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17604#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:33,528 INFO L290 TraceCheckUtils]: 44: Hoare triple {17604#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,528 INFO L290 TraceCheckUtils]: 45: Hoare triple {17632#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,529 INFO L272 TraceCheckUtils]: 46: Hoare triple {17632#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,529 INFO L290 TraceCheckUtils]: 47: Hoare triple {17632#(<= ~counter~0 4)} ~cond := #in~cond; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {17632#(<= ~counter~0 4)} assume !(0 == ~cond); {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {17632#(<= ~counter~0 4)} assume true; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,530 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17632#(<= ~counter~0 4)} {17632#(<= ~counter~0 4)} #63#return; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,530 INFO L290 TraceCheckUtils]: 51: Hoare triple {17632#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {17632#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:33,531 INFO L290 TraceCheckUtils]: 53: Hoare triple {17632#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,531 INFO L290 TraceCheckUtils]: 54: Hoare triple {17660#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,532 INFO L272 TraceCheckUtils]: 55: Hoare triple {17660#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,532 INFO L290 TraceCheckUtils]: 56: Hoare triple {17660#(<= ~counter~0 5)} ~cond := #in~cond; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,532 INFO L290 TraceCheckUtils]: 57: Hoare triple {17660#(<= ~counter~0 5)} assume !(0 == ~cond); {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,532 INFO L290 TraceCheckUtils]: 58: Hoare triple {17660#(<= ~counter~0 5)} assume true; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,533 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17660#(<= ~counter~0 5)} {17660#(<= ~counter~0 5)} #63#return; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,533 INFO L290 TraceCheckUtils]: 60: Hoare triple {17660#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,533 INFO L290 TraceCheckUtils]: 61: Hoare triple {17660#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:33,534 INFO L290 TraceCheckUtils]: 62: Hoare triple {17660#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,534 INFO L290 TraceCheckUtils]: 63: Hoare triple {17688#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,535 INFO L272 TraceCheckUtils]: 64: Hoare triple {17688#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,535 INFO L290 TraceCheckUtils]: 65: Hoare triple {17688#(<= ~counter~0 6)} ~cond := #in~cond; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,535 INFO L290 TraceCheckUtils]: 66: Hoare triple {17688#(<= ~counter~0 6)} assume !(0 == ~cond); {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,535 INFO L290 TraceCheckUtils]: 67: Hoare triple {17688#(<= ~counter~0 6)} assume true; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,536 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {17688#(<= ~counter~0 6)} {17688#(<= ~counter~0 6)} #63#return; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,536 INFO L290 TraceCheckUtils]: 69: Hoare triple {17688#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,536 INFO L290 TraceCheckUtils]: 70: Hoare triple {17688#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:33,537 INFO L290 TraceCheckUtils]: 71: Hoare triple {17688#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,537 INFO L290 TraceCheckUtils]: 72: Hoare triple {17716#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,538 INFO L272 TraceCheckUtils]: 73: Hoare triple {17716#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,539 INFO L290 TraceCheckUtils]: 74: Hoare triple {17716#(<= ~counter~0 7)} ~cond := #in~cond; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,539 INFO L290 TraceCheckUtils]: 75: Hoare triple {17716#(<= ~counter~0 7)} assume !(0 == ~cond); {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,539 INFO L290 TraceCheckUtils]: 76: Hoare triple {17716#(<= ~counter~0 7)} assume true; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,540 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {17716#(<= ~counter~0 7)} {17716#(<= ~counter~0 7)} #63#return; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,541 INFO L290 TraceCheckUtils]: 78: Hoare triple {17716#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,542 INFO L290 TraceCheckUtils]: 79: Hoare triple {17716#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:33,542 INFO L290 TraceCheckUtils]: 80: Hoare triple {17716#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,542 INFO L290 TraceCheckUtils]: 81: Hoare triple {17744#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,543 INFO L272 TraceCheckUtils]: 82: Hoare triple {17744#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,543 INFO L290 TraceCheckUtils]: 83: Hoare triple {17744#(<= ~counter~0 8)} ~cond := #in~cond; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,543 INFO L290 TraceCheckUtils]: 84: Hoare triple {17744#(<= ~counter~0 8)} assume !(0 == ~cond); {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,559 INFO L290 TraceCheckUtils]: 85: Hoare triple {17744#(<= ~counter~0 8)} assume true; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,560 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {17744#(<= ~counter~0 8)} {17744#(<= ~counter~0 8)} #63#return; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,561 INFO L290 TraceCheckUtils]: 87: Hoare triple {17744#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,561 INFO L290 TraceCheckUtils]: 88: Hoare triple {17744#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:33,562 INFO L290 TraceCheckUtils]: 89: Hoare triple {17744#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,562 INFO L290 TraceCheckUtils]: 90: Hoare triple {17772#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,563 INFO L272 TraceCheckUtils]: 91: Hoare triple {17772#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,563 INFO L290 TraceCheckUtils]: 92: Hoare triple {17772#(<= ~counter~0 9)} ~cond := #in~cond; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,563 INFO L290 TraceCheckUtils]: 93: Hoare triple {17772#(<= ~counter~0 9)} assume !(0 == ~cond); {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,563 INFO L290 TraceCheckUtils]: 94: Hoare triple {17772#(<= ~counter~0 9)} assume true; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,564 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {17772#(<= ~counter~0 9)} {17772#(<= ~counter~0 9)} #63#return; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,564 INFO L290 TraceCheckUtils]: 96: Hoare triple {17772#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,564 INFO L290 TraceCheckUtils]: 97: Hoare triple {17772#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:33,565 INFO L290 TraceCheckUtils]: 98: Hoare triple {17772#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,565 INFO L290 TraceCheckUtils]: 99: Hoare triple {17800#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,566 INFO L272 TraceCheckUtils]: 100: Hoare triple {17800#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,566 INFO L290 TraceCheckUtils]: 101: Hoare triple {17800#(<= ~counter~0 10)} ~cond := #in~cond; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,566 INFO L290 TraceCheckUtils]: 102: Hoare triple {17800#(<= ~counter~0 10)} assume !(0 == ~cond); {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,567 INFO L290 TraceCheckUtils]: 103: Hoare triple {17800#(<= ~counter~0 10)} assume true; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,567 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {17800#(<= ~counter~0 10)} {17800#(<= ~counter~0 10)} #63#return; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,567 INFO L290 TraceCheckUtils]: 105: Hoare triple {17800#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,568 INFO L290 TraceCheckUtils]: 106: Hoare triple {17800#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:33,568 INFO L290 TraceCheckUtils]: 107: Hoare triple {17800#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,568 INFO L290 TraceCheckUtils]: 108: Hoare triple {17828#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,569 INFO L272 TraceCheckUtils]: 109: Hoare triple {17828#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,569 INFO L290 TraceCheckUtils]: 110: Hoare triple {17828#(<= ~counter~0 11)} ~cond := #in~cond; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,569 INFO L290 TraceCheckUtils]: 111: Hoare triple {17828#(<= ~counter~0 11)} assume !(0 == ~cond); {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,570 INFO L290 TraceCheckUtils]: 112: Hoare triple {17828#(<= ~counter~0 11)} assume true; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,570 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {17828#(<= ~counter~0 11)} {17828#(<= ~counter~0 11)} #63#return; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,571 INFO L290 TraceCheckUtils]: 114: Hoare triple {17828#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,571 INFO L290 TraceCheckUtils]: 115: Hoare triple {17828#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:33,571 INFO L290 TraceCheckUtils]: 116: Hoare triple {17828#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,572 INFO L290 TraceCheckUtils]: 117: Hoare triple {17856#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,572 INFO L272 TraceCheckUtils]: 118: Hoare triple {17856#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,572 INFO L290 TraceCheckUtils]: 119: Hoare triple {17856#(<= ~counter~0 12)} ~cond := #in~cond; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,573 INFO L290 TraceCheckUtils]: 120: Hoare triple {17856#(<= ~counter~0 12)} assume !(0 == ~cond); {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,573 INFO L290 TraceCheckUtils]: 121: Hoare triple {17856#(<= ~counter~0 12)} assume true; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,573 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {17856#(<= ~counter~0 12)} {17856#(<= ~counter~0 12)} #63#return; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,574 INFO L290 TraceCheckUtils]: 123: Hoare triple {17856#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,574 INFO L290 TraceCheckUtils]: 124: Hoare triple {17856#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:33,575 INFO L290 TraceCheckUtils]: 125: Hoare triple {17856#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,575 INFO L290 TraceCheckUtils]: 126: Hoare triple {17884#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,575 INFO L272 TraceCheckUtils]: 127: Hoare triple {17884#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,576 INFO L290 TraceCheckUtils]: 128: Hoare triple {17884#(<= ~counter~0 13)} ~cond := #in~cond; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,576 INFO L290 TraceCheckUtils]: 129: Hoare triple {17884#(<= ~counter~0 13)} assume !(0 == ~cond); {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,576 INFO L290 TraceCheckUtils]: 130: Hoare triple {17884#(<= ~counter~0 13)} assume true; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,577 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {17884#(<= ~counter~0 13)} {17884#(<= ~counter~0 13)} #63#return; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,577 INFO L290 TraceCheckUtils]: 132: Hoare triple {17884#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,577 INFO L290 TraceCheckUtils]: 133: Hoare triple {17884#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:33,578 INFO L290 TraceCheckUtils]: 134: Hoare triple {17884#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,578 INFO L290 TraceCheckUtils]: 135: Hoare triple {17912#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,579 INFO L272 TraceCheckUtils]: 136: Hoare triple {17912#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,579 INFO L290 TraceCheckUtils]: 137: Hoare triple {17912#(<= ~counter~0 14)} ~cond := #in~cond; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,579 INFO L290 TraceCheckUtils]: 138: Hoare triple {17912#(<= ~counter~0 14)} assume !(0 == ~cond); {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,579 INFO L290 TraceCheckUtils]: 139: Hoare triple {17912#(<= ~counter~0 14)} assume true; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,580 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {17912#(<= ~counter~0 14)} {17912#(<= ~counter~0 14)} #63#return; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,580 INFO L290 TraceCheckUtils]: 141: Hoare triple {17912#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,580 INFO L290 TraceCheckUtils]: 142: Hoare triple {17912#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:33,581 INFO L290 TraceCheckUtils]: 143: Hoare triple {17912#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,581 INFO L290 TraceCheckUtils]: 144: Hoare triple {17940#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,582 INFO L272 TraceCheckUtils]: 145: Hoare triple {17940#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,582 INFO L290 TraceCheckUtils]: 146: Hoare triple {17940#(<= ~counter~0 15)} ~cond := #in~cond; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,582 INFO L290 TraceCheckUtils]: 147: Hoare triple {17940#(<= ~counter~0 15)} assume !(0 == ~cond); {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,583 INFO L290 TraceCheckUtils]: 148: Hoare triple {17940#(<= ~counter~0 15)} assume true; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,583 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {17940#(<= ~counter~0 15)} {17940#(<= ~counter~0 15)} #63#return; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,583 INFO L290 TraceCheckUtils]: 150: Hoare triple {17940#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,584 INFO L290 TraceCheckUtils]: 151: Hoare triple {17940#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:33,584 INFO L290 TraceCheckUtils]: 152: Hoare triple {17940#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17968#(<= |main_#t~post6| 15)} is VALID [2022-04-28 07:17:33,584 INFO L290 TraceCheckUtils]: 153: Hoare triple {17968#(<= |main_#t~post6| 15)} assume !(#t~post6 < 20);havoc #t~post6; {17492#false} is VALID [2022-04-28 07:17:33,584 INFO L272 TraceCheckUtils]: 154: Hoare triple {17492#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {17492#false} is VALID [2022-04-28 07:17:33,585 INFO L290 TraceCheckUtils]: 155: Hoare triple {17492#false} ~cond := #in~cond; {17492#false} is VALID [2022-04-28 07:17:33,585 INFO L290 TraceCheckUtils]: 156: Hoare triple {17492#false} assume 0 == ~cond; {17492#false} is VALID [2022-04-28 07:17:33,585 INFO L290 TraceCheckUtils]: 157: Hoare triple {17492#false} assume !false; {17492#false} is VALID [2022-04-28 07:17:33,585 INFO L134 CoverageAnalysis]: Checked inductivity of 1009 backedges. 30 proven. 975 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:33,585 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:34,285 INFO L290 TraceCheckUtils]: 157: Hoare triple {17492#false} assume !false; {17492#false} is VALID [2022-04-28 07:17:34,286 INFO L290 TraceCheckUtils]: 156: Hoare triple {17492#false} assume 0 == ~cond; {17492#false} is VALID [2022-04-28 07:17:34,286 INFO L290 TraceCheckUtils]: 155: Hoare triple {17492#false} ~cond := #in~cond; {17492#false} is VALID [2022-04-28 07:17:34,286 INFO L272 TraceCheckUtils]: 154: Hoare triple {17492#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {17492#false} is VALID [2022-04-28 07:17:34,286 INFO L290 TraceCheckUtils]: 153: Hoare triple {17996#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {17492#false} is VALID [2022-04-28 07:17:34,287 INFO L290 TraceCheckUtils]: 152: Hoare triple {18000#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17996#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:34,287 INFO L290 TraceCheckUtils]: 151: Hoare triple {18000#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {18000#(< ~counter~0 20)} is VALID [2022-04-28 07:17:34,287 INFO L290 TraceCheckUtils]: 150: Hoare triple {18000#(< ~counter~0 20)} assume !!(0 != ~y3~0); {18000#(< ~counter~0 20)} is VALID [2022-04-28 07:17:34,288 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {17491#true} {18000#(< ~counter~0 20)} #63#return; {18000#(< ~counter~0 20)} is VALID [2022-04-28 07:17:34,288 INFO L290 TraceCheckUtils]: 148: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,288 INFO L290 TraceCheckUtils]: 147: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,288 INFO L290 TraceCheckUtils]: 146: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,288 INFO L272 TraceCheckUtils]: 145: Hoare triple {18000#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,288 INFO L290 TraceCheckUtils]: 144: Hoare triple {18000#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {18000#(< ~counter~0 20)} is VALID [2022-04-28 07:17:34,289 INFO L290 TraceCheckUtils]: 143: Hoare triple {18028#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18000#(< ~counter~0 20)} is VALID [2022-04-28 07:17:34,289 INFO L290 TraceCheckUtils]: 142: Hoare triple {18028#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {18028#(< ~counter~0 19)} is VALID [2022-04-28 07:17:34,290 INFO L290 TraceCheckUtils]: 141: Hoare triple {18028#(< ~counter~0 19)} assume !!(0 != ~y3~0); {18028#(< ~counter~0 19)} is VALID [2022-04-28 07:17:34,290 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {17491#true} {18028#(< ~counter~0 19)} #63#return; {18028#(< ~counter~0 19)} is VALID [2022-04-28 07:17:34,290 INFO L290 TraceCheckUtils]: 139: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,290 INFO L290 TraceCheckUtils]: 138: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,290 INFO L290 TraceCheckUtils]: 137: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,291 INFO L272 TraceCheckUtils]: 136: Hoare triple {18028#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,291 INFO L290 TraceCheckUtils]: 135: Hoare triple {18028#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {18028#(< ~counter~0 19)} is VALID [2022-04-28 07:17:34,291 INFO L290 TraceCheckUtils]: 134: Hoare triple {18056#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18028#(< ~counter~0 19)} is VALID [2022-04-28 07:17:34,292 INFO L290 TraceCheckUtils]: 133: Hoare triple {18056#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {18056#(< ~counter~0 18)} is VALID [2022-04-28 07:17:34,292 INFO L290 TraceCheckUtils]: 132: Hoare triple {18056#(< ~counter~0 18)} assume !!(0 != ~y3~0); {18056#(< ~counter~0 18)} is VALID [2022-04-28 07:17:34,293 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {17491#true} {18056#(< ~counter~0 18)} #63#return; {18056#(< ~counter~0 18)} is VALID [2022-04-28 07:17:34,293 INFO L290 TraceCheckUtils]: 130: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,293 INFO L290 TraceCheckUtils]: 129: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,293 INFO L290 TraceCheckUtils]: 128: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,293 INFO L272 TraceCheckUtils]: 127: Hoare triple {18056#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,293 INFO L290 TraceCheckUtils]: 126: Hoare triple {18056#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {18056#(< ~counter~0 18)} is VALID [2022-04-28 07:17:34,294 INFO L290 TraceCheckUtils]: 125: Hoare triple {18084#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18056#(< ~counter~0 18)} is VALID [2022-04-28 07:17:34,294 INFO L290 TraceCheckUtils]: 124: Hoare triple {18084#(< ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {18084#(< ~counter~0 17)} is VALID [2022-04-28 07:17:34,294 INFO L290 TraceCheckUtils]: 123: Hoare triple {18084#(< ~counter~0 17)} assume !!(0 != ~y3~0); {18084#(< ~counter~0 17)} is VALID [2022-04-28 07:17:34,295 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {17491#true} {18084#(< ~counter~0 17)} #63#return; {18084#(< ~counter~0 17)} is VALID [2022-04-28 07:17:34,295 INFO L290 TraceCheckUtils]: 121: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,295 INFO L290 TraceCheckUtils]: 120: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,295 INFO L290 TraceCheckUtils]: 119: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,295 INFO L272 TraceCheckUtils]: 118: Hoare triple {18084#(< ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,296 INFO L290 TraceCheckUtils]: 117: Hoare triple {18084#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {18084#(< ~counter~0 17)} is VALID [2022-04-28 07:17:34,296 INFO L290 TraceCheckUtils]: 116: Hoare triple {17940#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18084#(< ~counter~0 17)} is VALID [2022-04-28 07:17:34,297 INFO L290 TraceCheckUtils]: 115: Hoare triple {17940#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:34,297 INFO L290 TraceCheckUtils]: 114: Hoare triple {17940#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:34,298 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {17491#true} {17940#(<= ~counter~0 15)} #63#return; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:34,298 INFO L290 TraceCheckUtils]: 112: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,298 INFO L290 TraceCheckUtils]: 111: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,298 INFO L290 TraceCheckUtils]: 110: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,298 INFO L272 TraceCheckUtils]: 109: Hoare triple {17940#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,298 INFO L290 TraceCheckUtils]: 108: Hoare triple {17940#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:34,299 INFO L290 TraceCheckUtils]: 107: Hoare triple {17912#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17940#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:34,299 INFO L290 TraceCheckUtils]: 106: Hoare triple {17912#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:34,299 INFO L290 TraceCheckUtils]: 105: Hoare triple {17912#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:34,300 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {17491#true} {17912#(<= ~counter~0 14)} #63#return; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:34,300 INFO L290 TraceCheckUtils]: 103: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,300 INFO L290 TraceCheckUtils]: 102: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,300 INFO L290 TraceCheckUtils]: 101: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,300 INFO L272 TraceCheckUtils]: 100: Hoare triple {17912#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,301 INFO L290 TraceCheckUtils]: 99: Hoare triple {17912#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:34,301 INFO L290 TraceCheckUtils]: 98: Hoare triple {17884#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17912#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:34,302 INFO L290 TraceCheckUtils]: 97: Hoare triple {17884#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:34,302 INFO L290 TraceCheckUtils]: 96: Hoare triple {17884#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:34,303 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {17491#true} {17884#(<= ~counter~0 13)} #63#return; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:34,303 INFO L290 TraceCheckUtils]: 94: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,303 INFO L290 TraceCheckUtils]: 93: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,303 INFO L290 TraceCheckUtils]: 92: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,303 INFO L272 TraceCheckUtils]: 91: Hoare triple {17884#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,303 INFO L290 TraceCheckUtils]: 90: Hoare triple {17884#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:34,304 INFO L290 TraceCheckUtils]: 89: Hoare triple {17856#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17884#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:34,304 INFO L290 TraceCheckUtils]: 88: Hoare triple {17856#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:34,304 INFO L290 TraceCheckUtils]: 87: Hoare triple {17856#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:34,305 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {17491#true} {17856#(<= ~counter~0 12)} #63#return; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:34,305 INFO L290 TraceCheckUtils]: 85: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,305 INFO L290 TraceCheckUtils]: 84: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,305 INFO L290 TraceCheckUtils]: 83: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,305 INFO L272 TraceCheckUtils]: 82: Hoare triple {17856#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,306 INFO L290 TraceCheckUtils]: 81: Hoare triple {17856#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:34,306 INFO L290 TraceCheckUtils]: 80: Hoare triple {17828#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17856#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:34,307 INFO L290 TraceCheckUtils]: 79: Hoare triple {17828#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:34,307 INFO L290 TraceCheckUtils]: 78: Hoare triple {17828#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:34,308 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {17491#true} {17828#(<= ~counter~0 11)} #63#return; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:34,308 INFO L290 TraceCheckUtils]: 76: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,308 INFO L290 TraceCheckUtils]: 75: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,308 INFO L290 TraceCheckUtils]: 74: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,308 INFO L272 TraceCheckUtils]: 73: Hoare triple {17828#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,308 INFO L290 TraceCheckUtils]: 72: Hoare triple {17828#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:34,309 INFO L290 TraceCheckUtils]: 71: Hoare triple {17800#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17828#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:34,309 INFO L290 TraceCheckUtils]: 70: Hoare triple {17800#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:34,309 INFO L290 TraceCheckUtils]: 69: Hoare triple {17800#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:34,310 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {17491#true} {17800#(<= ~counter~0 10)} #63#return; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:34,310 INFO L290 TraceCheckUtils]: 67: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,310 INFO L290 TraceCheckUtils]: 66: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,310 INFO L290 TraceCheckUtils]: 65: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,310 INFO L272 TraceCheckUtils]: 64: Hoare triple {17800#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,311 INFO L290 TraceCheckUtils]: 63: Hoare triple {17800#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:34,311 INFO L290 TraceCheckUtils]: 62: Hoare triple {17772#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17800#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:34,311 INFO L290 TraceCheckUtils]: 61: Hoare triple {17772#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:34,312 INFO L290 TraceCheckUtils]: 60: Hoare triple {17772#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:34,312 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17491#true} {17772#(<= ~counter~0 9)} #63#return; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:34,312 INFO L290 TraceCheckUtils]: 58: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,312 INFO L290 TraceCheckUtils]: 57: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,312 INFO L290 TraceCheckUtils]: 56: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,312 INFO L272 TraceCheckUtils]: 55: Hoare triple {17772#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,313 INFO L290 TraceCheckUtils]: 54: Hoare triple {17772#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:34,313 INFO L290 TraceCheckUtils]: 53: Hoare triple {17744#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17772#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:34,314 INFO L290 TraceCheckUtils]: 52: Hoare triple {17744#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:34,314 INFO L290 TraceCheckUtils]: 51: Hoare triple {17744#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:34,314 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17491#true} {17744#(<= ~counter~0 8)} #63#return; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:34,315 INFO L290 TraceCheckUtils]: 49: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,315 INFO L290 TraceCheckUtils]: 48: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,315 INFO L290 TraceCheckUtils]: 47: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,315 INFO L272 TraceCheckUtils]: 46: Hoare triple {17744#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,315 INFO L290 TraceCheckUtils]: 45: Hoare triple {17744#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:34,315 INFO L290 TraceCheckUtils]: 44: Hoare triple {17716#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17744#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:34,316 INFO L290 TraceCheckUtils]: 43: Hoare triple {17716#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:34,316 INFO L290 TraceCheckUtils]: 42: Hoare triple {17716#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:34,317 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17491#true} {17716#(<= ~counter~0 7)} #63#return; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:34,317 INFO L290 TraceCheckUtils]: 40: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,317 INFO L290 TraceCheckUtils]: 39: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,317 INFO L290 TraceCheckUtils]: 38: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,317 INFO L272 TraceCheckUtils]: 37: Hoare triple {17716#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,317 INFO L290 TraceCheckUtils]: 36: Hoare triple {17716#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:34,318 INFO L290 TraceCheckUtils]: 35: Hoare triple {17688#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17716#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:34,318 INFO L290 TraceCheckUtils]: 34: Hoare triple {17688#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:34,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {17688#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:34,319 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17491#true} {17688#(<= ~counter~0 6)} #63#return; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:34,319 INFO L290 TraceCheckUtils]: 31: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,319 INFO L290 TraceCheckUtils]: 30: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,319 INFO L290 TraceCheckUtils]: 29: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,319 INFO L272 TraceCheckUtils]: 28: Hoare triple {17688#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,320 INFO L290 TraceCheckUtils]: 27: Hoare triple {17688#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:34,320 INFO L290 TraceCheckUtils]: 26: Hoare triple {17660#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17688#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:34,320 INFO L290 TraceCheckUtils]: 25: Hoare triple {17660#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:34,321 INFO L290 TraceCheckUtils]: 24: Hoare triple {17660#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:34,321 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17491#true} {17660#(<= ~counter~0 5)} #63#return; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:34,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,322 INFO L272 TraceCheckUtils]: 19: Hoare triple {17660#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,322 INFO L290 TraceCheckUtils]: 18: Hoare triple {17660#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:34,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {17632#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17660#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:34,323 INFO L290 TraceCheckUtils]: 16: Hoare triple {17632#(<= ~counter~0 4)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,323 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17491#true} {17632#(<= ~counter~0 4)} #61#return; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,323 INFO L290 TraceCheckUtils]: 14: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,323 INFO L290 TraceCheckUtils]: 12: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,323 INFO L272 TraceCheckUtils]: 11: Hoare triple {17632#(<= ~counter~0 4)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,324 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17491#true} {17632#(<= ~counter~0 4)} #59#return; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {17491#true} assume true; {17491#true} is VALID [2022-04-28 07:17:34,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {17491#true} assume !(0 == ~cond); {17491#true} is VALID [2022-04-28 07:17:34,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {17491#true} ~cond := #in~cond; {17491#true} is VALID [2022-04-28 07:17:34,324 INFO L272 TraceCheckUtils]: 6: Hoare triple {17632#(<= ~counter~0 4)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {17491#true} is VALID [2022-04-28 07:17:34,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {17632#(<= ~counter~0 4)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,325 INFO L272 TraceCheckUtils]: 4: Hoare triple {17632#(<= ~counter~0 4)} call #t~ret7 := main(); {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,325 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17632#(<= ~counter~0 4)} {17491#true} #67#return; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {17632#(<= ~counter~0 4)} assume true; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {17491#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17632#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:34,326 INFO L272 TraceCheckUtils]: 0: Hoare triple {17491#true} call ULTIMATE.init(); {17491#true} is VALID [2022-04-28 07:17:34,326 INFO L134 CoverageAnalysis]: Checked inductivity of 1009 backedges. 30 proven. 555 refuted. 0 times theorem prover too weak. 424 trivial. 0 not checked. [2022-04-28 07:17:34,327 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:34,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2031262831] [2022-04-28 07:17:34,327 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:34,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1020326827] [2022-04-28 07:17:34,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1020326827] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:34,327 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:34,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 24 [2022-04-28 07:17:34,328 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:34,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [62642274] [2022-04-28 07:17:34,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [62642274] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:34,328 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:34,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 07:17:34,328 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1203407519] [2022-04-28 07:17:34,328 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:34,328 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) Word has length 158 [2022-04-28 07:17:34,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:34,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 07:17:34,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:34,448 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 07:17:34,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:34,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 07:17:34,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:34,449 INFO L87 Difference]: Start difference. First operand 155 states and 171 transitions. Second operand has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 07:17:35,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:35,081 INFO L93 Difference]: Finished difference Result 169 states and 186 transitions. [2022-04-28 07:17:35,081 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-28 07:17:35,081 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) Word has length 158 [2022-04-28 07:17:35,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:35,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 07:17:35,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 185 transitions. [2022-04-28 07:17:35,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 07:17:35,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 185 transitions. [2022-04-28 07:17:35,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 185 transitions. [2022-04-28 07:17:35,240 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 185 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:35,242 INFO L225 Difference]: With dead ends: 169 [2022-04-28 07:17:35,242 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 07:17:35,243 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 330 GetRequests, 292 SyntacticMatches, 1 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=581, Invalid=901, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 07:17:35,243 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 53 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:35,243 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 208 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:35,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 07:17:35,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 164. [2022-04-28 07:17:35,423 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:35,423 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 07:17:35,423 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 07:17:35,423 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 07:17:35,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:35,425 INFO L93 Difference]: Finished difference Result 164 states and 181 transitions. [2022-04-28 07:17:35,425 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 181 transitions. [2022-04-28 07:17:35,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:35,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:35,426 INFO L74 IsIncluded]: Start isIncluded. First operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 164 states. [2022-04-28 07:17:35,426 INFO L87 Difference]: Start difference. First operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 164 states. [2022-04-28 07:17:35,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:35,428 INFO L93 Difference]: Finished difference Result 164 states and 181 transitions. [2022-04-28 07:17:35,428 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 181 transitions. [2022-04-28 07:17:35,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:35,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:35,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:35,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:35,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 07:17:35,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 181 transitions. [2022-04-28 07:17:35,431 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 181 transitions. Word has length 158 [2022-04-28 07:17:35,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:35,431 INFO L495 AbstractCegarLoop]: Abstraction has 164 states and 181 transitions. [2022-04-28 07:17:35,431 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 07:17:35,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 164 states and 181 transitions. [2022-04-28 07:17:35,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:35,615 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 181 transitions. [2022-04-28 07:17:35,616 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 168 [2022-04-28 07:17:35,616 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:35,616 INFO L195 NwaCegarLoop]: trace histogram [17, 17, 16, 16, 16, 16, 16, 16, 16, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:35,633 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:35,816 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:35,817 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:35,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:35,817 INFO L85 PathProgramCache]: Analyzing trace with hash -1479991018, now seen corresponding path program 31 times [2022-04-28 07:17:35,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:35,817 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [97836782] [2022-04-28 07:17:35,818 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:35,818 INFO L85 PathProgramCache]: Analyzing trace with hash -1479991018, now seen corresponding path program 32 times [2022-04-28 07:17:35,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:35,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1622845990] [2022-04-28 07:17:35,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:35,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:35,832 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:35,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1318656663] [2022-04-28 07:17:35,832 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:17:35,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:35,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:35,833 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:35,836 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 07:17:35,914 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:17:35,914 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:35,916 INFO L263 TraceCheckSpWp]: Trace formula consists of 461 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 07:17:35,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:35,950 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:36,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {19486#true} call ULTIMATE.init(); {19486#true} is VALID [2022-04-28 07:17:36,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {19486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {19494#(<= ~counter~0 0)} assume true; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19494#(<= ~counter~0 0)} {19486#true} #67#return; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {19494#(<= ~counter~0 0)} call #t~ret7 := main(); {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {19494#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {19494#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {19494#(<= ~counter~0 0)} ~cond := #in~cond; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {19494#(<= ~counter~0 0)} assume !(0 == ~cond); {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {19494#(<= ~counter~0 0)} assume true; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,698 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19494#(<= ~counter~0 0)} {19494#(<= ~counter~0 0)} #59#return; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,699 INFO L272 TraceCheckUtils]: 11: Hoare triple {19494#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,699 INFO L290 TraceCheckUtils]: 12: Hoare triple {19494#(<= ~counter~0 0)} ~cond := #in~cond; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,700 INFO L290 TraceCheckUtils]: 13: Hoare triple {19494#(<= ~counter~0 0)} assume !(0 == ~cond); {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {19494#(<= ~counter~0 0)} assume true; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,700 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19494#(<= ~counter~0 0)} {19494#(<= ~counter~0 0)} #61#return; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,700 INFO L290 TraceCheckUtils]: 16: Hoare triple {19494#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {19494#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:36,701 INFO L290 TraceCheckUtils]: 17: Hoare triple {19494#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,702 INFO L290 TraceCheckUtils]: 18: Hoare triple {19543#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,702 INFO L272 TraceCheckUtils]: 19: Hoare triple {19543#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {19543#(<= ~counter~0 1)} ~cond := #in~cond; {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,703 INFO L290 TraceCheckUtils]: 21: Hoare triple {19543#(<= ~counter~0 1)} assume !(0 == ~cond); {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,703 INFO L290 TraceCheckUtils]: 22: Hoare triple {19543#(<= ~counter~0 1)} assume true; {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,703 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19543#(<= ~counter~0 1)} {19543#(<= ~counter~0 1)} #63#return; {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,704 INFO L290 TraceCheckUtils]: 24: Hoare triple {19543#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {19543#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19543#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:36,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {19543#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {19571#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,705 INFO L272 TraceCheckUtils]: 28: Hoare triple {19571#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,705 INFO L290 TraceCheckUtils]: 29: Hoare triple {19571#(<= ~counter~0 2)} ~cond := #in~cond; {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,706 INFO L290 TraceCheckUtils]: 30: Hoare triple {19571#(<= ~counter~0 2)} assume !(0 == ~cond); {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {19571#(<= ~counter~0 2)} assume true; {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,706 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19571#(<= ~counter~0 2)} {19571#(<= ~counter~0 2)} #63#return; {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,707 INFO L290 TraceCheckUtils]: 33: Hoare triple {19571#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {19571#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19571#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:36,707 INFO L290 TraceCheckUtils]: 35: Hoare triple {19571#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {19599#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,708 INFO L272 TraceCheckUtils]: 37: Hoare triple {19599#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {19599#(<= ~counter~0 3)} ~cond := #in~cond; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,709 INFO L290 TraceCheckUtils]: 39: Hoare triple {19599#(<= ~counter~0 3)} assume !(0 == ~cond); {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,709 INFO L290 TraceCheckUtils]: 40: Hoare triple {19599#(<= ~counter~0 3)} assume true; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,710 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19599#(<= ~counter~0 3)} {19599#(<= ~counter~0 3)} #63#return; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,710 INFO L290 TraceCheckUtils]: 42: Hoare triple {19599#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,710 INFO L290 TraceCheckUtils]: 43: Hoare triple {19599#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:36,711 INFO L290 TraceCheckUtils]: 44: Hoare triple {19599#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,711 INFO L290 TraceCheckUtils]: 45: Hoare triple {19627#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,711 INFO L272 TraceCheckUtils]: 46: Hoare triple {19627#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,712 INFO L290 TraceCheckUtils]: 47: Hoare triple {19627#(<= ~counter~0 4)} ~cond := #in~cond; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,712 INFO L290 TraceCheckUtils]: 48: Hoare triple {19627#(<= ~counter~0 4)} assume !(0 == ~cond); {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,712 INFO L290 TraceCheckUtils]: 49: Hoare triple {19627#(<= ~counter~0 4)} assume true; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,713 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19627#(<= ~counter~0 4)} {19627#(<= ~counter~0 4)} #63#return; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,713 INFO L290 TraceCheckUtils]: 51: Hoare triple {19627#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,713 INFO L290 TraceCheckUtils]: 52: Hoare triple {19627#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:36,714 INFO L290 TraceCheckUtils]: 53: Hoare triple {19627#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,714 INFO L290 TraceCheckUtils]: 54: Hoare triple {19655#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,714 INFO L272 TraceCheckUtils]: 55: Hoare triple {19655#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,715 INFO L290 TraceCheckUtils]: 56: Hoare triple {19655#(<= ~counter~0 5)} ~cond := #in~cond; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,715 INFO L290 TraceCheckUtils]: 57: Hoare triple {19655#(<= ~counter~0 5)} assume !(0 == ~cond); {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,715 INFO L290 TraceCheckUtils]: 58: Hoare triple {19655#(<= ~counter~0 5)} assume true; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,716 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19655#(<= ~counter~0 5)} {19655#(<= ~counter~0 5)} #63#return; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,716 INFO L290 TraceCheckUtils]: 60: Hoare triple {19655#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,716 INFO L290 TraceCheckUtils]: 61: Hoare triple {19655#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:36,717 INFO L290 TraceCheckUtils]: 62: Hoare triple {19655#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,717 INFO L290 TraceCheckUtils]: 63: Hoare triple {19683#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,717 INFO L272 TraceCheckUtils]: 64: Hoare triple {19683#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,718 INFO L290 TraceCheckUtils]: 65: Hoare triple {19683#(<= ~counter~0 6)} ~cond := #in~cond; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,718 INFO L290 TraceCheckUtils]: 66: Hoare triple {19683#(<= ~counter~0 6)} assume !(0 == ~cond); {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,718 INFO L290 TraceCheckUtils]: 67: Hoare triple {19683#(<= ~counter~0 6)} assume true; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,719 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19683#(<= ~counter~0 6)} {19683#(<= ~counter~0 6)} #63#return; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,719 INFO L290 TraceCheckUtils]: 69: Hoare triple {19683#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,719 INFO L290 TraceCheckUtils]: 70: Hoare triple {19683#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:36,720 INFO L290 TraceCheckUtils]: 71: Hoare triple {19683#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,720 INFO L290 TraceCheckUtils]: 72: Hoare triple {19711#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,720 INFO L272 TraceCheckUtils]: 73: Hoare triple {19711#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,721 INFO L290 TraceCheckUtils]: 74: Hoare triple {19711#(<= ~counter~0 7)} ~cond := #in~cond; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,721 INFO L290 TraceCheckUtils]: 75: Hoare triple {19711#(<= ~counter~0 7)} assume !(0 == ~cond); {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,721 INFO L290 TraceCheckUtils]: 76: Hoare triple {19711#(<= ~counter~0 7)} assume true; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,722 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19711#(<= ~counter~0 7)} {19711#(<= ~counter~0 7)} #63#return; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,722 INFO L290 TraceCheckUtils]: 78: Hoare triple {19711#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,722 INFO L290 TraceCheckUtils]: 79: Hoare triple {19711#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:36,723 INFO L290 TraceCheckUtils]: 80: Hoare triple {19711#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,723 INFO L290 TraceCheckUtils]: 81: Hoare triple {19739#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,724 INFO L272 TraceCheckUtils]: 82: Hoare triple {19739#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,724 INFO L290 TraceCheckUtils]: 83: Hoare triple {19739#(<= ~counter~0 8)} ~cond := #in~cond; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,724 INFO L290 TraceCheckUtils]: 84: Hoare triple {19739#(<= ~counter~0 8)} assume !(0 == ~cond); {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,724 INFO L290 TraceCheckUtils]: 85: Hoare triple {19739#(<= ~counter~0 8)} assume true; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,725 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19739#(<= ~counter~0 8)} {19739#(<= ~counter~0 8)} #63#return; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,725 INFO L290 TraceCheckUtils]: 87: Hoare triple {19739#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,725 INFO L290 TraceCheckUtils]: 88: Hoare triple {19739#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:36,726 INFO L290 TraceCheckUtils]: 89: Hoare triple {19739#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,726 INFO L290 TraceCheckUtils]: 90: Hoare triple {19767#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,727 INFO L272 TraceCheckUtils]: 91: Hoare triple {19767#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,727 INFO L290 TraceCheckUtils]: 92: Hoare triple {19767#(<= ~counter~0 9)} ~cond := #in~cond; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,727 INFO L290 TraceCheckUtils]: 93: Hoare triple {19767#(<= ~counter~0 9)} assume !(0 == ~cond); {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,727 INFO L290 TraceCheckUtils]: 94: Hoare triple {19767#(<= ~counter~0 9)} assume true; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,728 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {19767#(<= ~counter~0 9)} {19767#(<= ~counter~0 9)} #63#return; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,728 INFO L290 TraceCheckUtils]: 96: Hoare triple {19767#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,728 INFO L290 TraceCheckUtils]: 97: Hoare triple {19767#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:36,729 INFO L290 TraceCheckUtils]: 98: Hoare triple {19767#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,729 INFO L290 TraceCheckUtils]: 99: Hoare triple {19795#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,730 INFO L272 TraceCheckUtils]: 100: Hoare triple {19795#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,730 INFO L290 TraceCheckUtils]: 101: Hoare triple {19795#(<= ~counter~0 10)} ~cond := #in~cond; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,730 INFO L290 TraceCheckUtils]: 102: Hoare triple {19795#(<= ~counter~0 10)} assume !(0 == ~cond); {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,730 INFO L290 TraceCheckUtils]: 103: Hoare triple {19795#(<= ~counter~0 10)} assume true; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,731 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {19795#(<= ~counter~0 10)} {19795#(<= ~counter~0 10)} #63#return; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,731 INFO L290 TraceCheckUtils]: 105: Hoare triple {19795#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,732 INFO L290 TraceCheckUtils]: 106: Hoare triple {19795#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:36,732 INFO L290 TraceCheckUtils]: 107: Hoare triple {19795#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,732 INFO L290 TraceCheckUtils]: 108: Hoare triple {19823#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,733 INFO L272 TraceCheckUtils]: 109: Hoare triple {19823#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,733 INFO L290 TraceCheckUtils]: 110: Hoare triple {19823#(<= ~counter~0 11)} ~cond := #in~cond; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,733 INFO L290 TraceCheckUtils]: 111: Hoare triple {19823#(<= ~counter~0 11)} assume !(0 == ~cond); {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,734 INFO L290 TraceCheckUtils]: 112: Hoare triple {19823#(<= ~counter~0 11)} assume true; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,734 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {19823#(<= ~counter~0 11)} {19823#(<= ~counter~0 11)} #63#return; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,734 INFO L290 TraceCheckUtils]: 114: Hoare triple {19823#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,735 INFO L290 TraceCheckUtils]: 115: Hoare triple {19823#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:36,735 INFO L290 TraceCheckUtils]: 116: Hoare triple {19823#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,735 INFO L290 TraceCheckUtils]: 117: Hoare triple {19851#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,736 INFO L272 TraceCheckUtils]: 118: Hoare triple {19851#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,736 INFO L290 TraceCheckUtils]: 119: Hoare triple {19851#(<= ~counter~0 12)} ~cond := #in~cond; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,736 INFO L290 TraceCheckUtils]: 120: Hoare triple {19851#(<= ~counter~0 12)} assume !(0 == ~cond); {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,737 INFO L290 TraceCheckUtils]: 121: Hoare triple {19851#(<= ~counter~0 12)} assume true; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,737 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {19851#(<= ~counter~0 12)} {19851#(<= ~counter~0 12)} #63#return; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,737 INFO L290 TraceCheckUtils]: 123: Hoare triple {19851#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,738 INFO L290 TraceCheckUtils]: 124: Hoare triple {19851#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:36,738 INFO L290 TraceCheckUtils]: 125: Hoare triple {19851#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,738 INFO L290 TraceCheckUtils]: 126: Hoare triple {19879#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,739 INFO L272 TraceCheckUtils]: 127: Hoare triple {19879#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,739 INFO L290 TraceCheckUtils]: 128: Hoare triple {19879#(<= ~counter~0 13)} ~cond := #in~cond; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,739 INFO L290 TraceCheckUtils]: 129: Hoare triple {19879#(<= ~counter~0 13)} assume !(0 == ~cond); {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,740 INFO L290 TraceCheckUtils]: 130: Hoare triple {19879#(<= ~counter~0 13)} assume true; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,740 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {19879#(<= ~counter~0 13)} {19879#(<= ~counter~0 13)} #63#return; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,740 INFO L290 TraceCheckUtils]: 132: Hoare triple {19879#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,741 INFO L290 TraceCheckUtils]: 133: Hoare triple {19879#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:36,741 INFO L290 TraceCheckUtils]: 134: Hoare triple {19879#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,741 INFO L290 TraceCheckUtils]: 135: Hoare triple {19907#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,742 INFO L272 TraceCheckUtils]: 136: Hoare triple {19907#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,742 INFO L290 TraceCheckUtils]: 137: Hoare triple {19907#(<= ~counter~0 14)} ~cond := #in~cond; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,742 INFO L290 TraceCheckUtils]: 138: Hoare triple {19907#(<= ~counter~0 14)} assume !(0 == ~cond); {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,743 INFO L290 TraceCheckUtils]: 139: Hoare triple {19907#(<= ~counter~0 14)} assume true; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,743 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {19907#(<= ~counter~0 14)} {19907#(<= ~counter~0 14)} #63#return; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,744 INFO L290 TraceCheckUtils]: 141: Hoare triple {19907#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,744 INFO L290 TraceCheckUtils]: 142: Hoare triple {19907#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:36,744 INFO L290 TraceCheckUtils]: 143: Hoare triple {19907#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,745 INFO L290 TraceCheckUtils]: 144: Hoare triple {19935#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,745 INFO L272 TraceCheckUtils]: 145: Hoare triple {19935#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,745 INFO L290 TraceCheckUtils]: 146: Hoare triple {19935#(<= ~counter~0 15)} ~cond := #in~cond; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,746 INFO L290 TraceCheckUtils]: 147: Hoare triple {19935#(<= ~counter~0 15)} assume !(0 == ~cond); {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,746 INFO L290 TraceCheckUtils]: 148: Hoare triple {19935#(<= ~counter~0 15)} assume true; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,746 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {19935#(<= ~counter~0 15)} {19935#(<= ~counter~0 15)} #63#return; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,747 INFO L290 TraceCheckUtils]: 150: Hoare triple {19935#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,747 INFO L290 TraceCheckUtils]: 151: Hoare triple {19935#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:36,747 INFO L290 TraceCheckUtils]: 152: Hoare triple {19935#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,748 INFO L290 TraceCheckUtils]: 153: Hoare triple {19963#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,748 INFO L272 TraceCheckUtils]: 154: Hoare triple {19963#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,748 INFO L290 TraceCheckUtils]: 155: Hoare triple {19963#(<= ~counter~0 16)} ~cond := #in~cond; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,749 INFO L290 TraceCheckUtils]: 156: Hoare triple {19963#(<= ~counter~0 16)} assume !(0 == ~cond); {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,749 INFO L290 TraceCheckUtils]: 157: Hoare triple {19963#(<= ~counter~0 16)} assume true; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,749 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {19963#(<= ~counter~0 16)} {19963#(<= ~counter~0 16)} #63#return; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,750 INFO L290 TraceCheckUtils]: 159: Hoare triple {19963#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,750 INFO L290 TraceCheckUtils]: 160: Hoare triple {19963#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:36,750 INFO L290 TraceCheckUtils]: 161: Hoare triple {19963#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19991#(<= |main_#t~post6| 16)} is VALID [2022-04-28 07:17:36,751 INFO L290 TraceCheckUtils]: 162: Hoare triple {19991#(<= |main_#t~post6| 16)} assume !(#t~post6 < 20);havoc #t~post6; {19487#false} is VALID [2022-04-28 07:17:36,751 INFO L272 TraceCheckUtils]: 163: Hoare triple {19487#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {19487#false} is VALID [2022-04-28 07:17:36,751 INFO L290 TraceCheckUtils]: 164: Hoare triple {19487#false} ~cond := #in~cond; {19487#false} is VALID [2022-04-28 07:17:36,751 INFO L290 TraceCheckUtils]: 165: Hoare triple {19487#false} assume 0 == ~cond; {19487#false} is VALID [2022-04-28 07:17:36,751 INFO L290 TraceCheckUtils]: 166: Hoare triple {19487#false} assume !false; {19487#false} is VALID [2022-04-28 07:17:36,752 INFO L134 CoverageAnalysis]: Checked inductivity of 1148 backedges. 32 proven. 1112 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:36,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:37,448 INFO L290 TraceCheckUtils]: 166: Hoare triple {19487#false} assume !false; {19487#false} is VALID [2022-04-28 07:17:37,448 INFO L290 TraceCheckUtils]: 165: Hoare triple {19487#false} assume 0 == ~cond; {19487#false} is VALID [2022-04-28 07:17:37,448 INFO L290 TraceCheckUtils]: 164: Hoare triple {19487#false} ~cond := #in~cond; {19487#false} is VALID [2022-04-28 07:17:37,448 INFO L272 TraceCheckUtils]: 163: Hoare triple {19487#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {19487#false} is VALID [2022-04-28 07:17:37,449 INFO L290 TraceCheckUtils]: 162: Hoare triple {20019#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {19487#false} is VALID [2022-04-28 07:17:37,449 INFO L290 TraceCheckUtils]: 161: Hoare triple {20023#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20019#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:37,449 INFO L290 TraceCheckUtils]: 160: Hoare triple {20023#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {20023#(< ~counter~0 20)} is VALID [2022-04-28 07:17:37,450 INFO L290 TraceCheckUtils]: 159: Hoare triple {20023#(< ~counter~0 20)} assume !!(0 != ~y3~0); {20023#(< ~counter~0 20)} is VALID [2022-04-28 07:17:37,450 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {19486#true} {20023#(< ~counter~0 20)} #63#return; {20023#(< ~counter~0 20)} is VALID [2022-04-28 07:17:37,450 INFO L290 TraceCheckUtils]: 157: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,450 INFO L290 TraceCheckUtils]: 156: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,450 INFO L290 TraceCheckUtils]: 155: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,450 INFO L272 TraceCheckUtils]: 154: Hoare triple {20023#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,451 INFO L290 TraceCheckUtils]: 153: Hoare triple {20023#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {20023#(< ~counter~0 20)} is VALID [2022-04-28 07:17:37,451 INFO L290 TraceCheckUtils]: 152: Hoare triple {20051#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20023#(< ~counter~0 20)} is VALID [2022-04-28 07:17:37,452 INFO L290 TraceCheckUtils]: 151: Hoare triple {20051#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {20051#(< ~counter~0 19)} is VALID [2022-04-28 07:17:37,452 INFO L290 TraceCheckUtils]: 150: Hoare triple {20051#(< ~counter~0 19)} assume !!(0 != ~y3~0); {20051#(< ~counter~0 19)} is VALID [2022-04-28 07:17:37,453 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {19486#true} {20051#(< ~counter~0 19)} #63#return; {20051#(< ~counter~0 19)} is VALID [2022-04-28 07:17:37,453 INFO L290 TraceCheckUtils]: 148: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,453 INFO L290 TraceCheckUtils]: 147: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,453 INFO L290 TraceCheckUtils]: 146: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,453 INFO L272 TraceCheckUtils]: 145: Hoare triple {20051#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,453 INFO L290 TraceCheckUtils]: 144: Hoare triple {20051#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {20051#(< ~counter~0 19)} is VALID [2022-04-28 07:17:37,454 INFO L290 TraceCheckUtils]: 143: Hoare triple {20079#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20051#(< ~counter~0 19)} is VALID [2022-04-28 07:17:37,454 INFO L290 TraceCheckUtils]: 142: Hoare triple {20079#(< ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {20079#(< ~counter~0 18)} is VALID [2022-04-28 07:17:37,454 INFO L290 TraceCheckUtils]: 141: Hoare triple {20079#(< ~counter~0 18)} assume !!(0 != ~y3~0); {20079#(< ~counter~0 18)} is VALID [2022-04-28 07:17:37,455 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {19486#true} {20079#(< ~counter~0 18)} #63#return; {20079#(< ~counter~0 18)} is VALID [2022-04-28 07:17:37,455 INFO L290 TraceCheckUtils]: 139: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,455 INFO L290 TraceCheckUtils]: 138: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,455 INFO L290 TraceCheckUtils]: 137: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,455 INFO L272 TraceCheckUtils]: 136: Hoare triple {20079#(< ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,456 INFO L290 TraceCheckUtils]: 135: Hoare triple {20079#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {20079#(< ~counter~0 18)} is VALID [2022-04-28 07:17:37,456 INFO L290 TraceCheckUtils]: 134: Hoare triple {19963#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20079#(< ~counter~0 18)} is VALID [2022-04-28 07:17:37,457 INFO L290 TraceCheckUtils]: 133: Hoare triple {19963#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:37,457 INFO L290 TraceCheckUtils]: 132: Hoare triple {19963#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:37,458 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {19486#true} {19963#(<= ~counter~0 16)} #63#return; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:37,458 INFO L290 TraceCheckUtils]: 130: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,458 INFO L290 TraceCheckUtils]: 129: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,458 INFO L290 TraceCheckUtils]: 128: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,458 INFO L272 TraceCheckUtils]: 127: Hoare triple {19963#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,475 INFO L290 TraceCheckUtils]: 126: Hoare triple {19963#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:37,476 INFO L290 TraceCheckUtils]: 125: Hoare triple {19935#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19963#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:37,476 INFO L290 TraceCheckUtils]: 124: Hoare triple {19935#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:37,477 INFO L290 TraceCheckUtils]: 123: Hoare triple {19935#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:37,477 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {19486#true} {19935#(<= ~counter~0 15)} #63#return; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:37,477 INFO L290 TraceCheckUtils]: 121: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,478 INFO L290 TraceCheckUtils]: 120: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,478 INFO L290 TraceCheckUtils]: 119: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,478 INFO L272 TraceCheckUtils]: 118: Hoare triple {19935#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,478 INFO L290 TraceCheckUtils]: 117: Hoare triple {19935#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:37,478 INFO L290 TraceCheckUtils]: 116: Hoare triple {19907#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19935#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:37,479 INFO L290 TraceCheckUtils]: 115: Hoare triple {19907#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:37,479 INFO L290 TraceCheckUtils]: 114: Hoare triple {19907#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:37,480 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {19486#true} {19907#(<= ~counter~0 14)} #63#return; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:37,480 INFO L290 TraceCheckUtils]: 112: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,480 INFO L290 TraceCheckUtils]: 111: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,480 INFO L290 TraceCheckUtils]: 110: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,480 INFO L272 TraceCheckUtils]: 109: Hoare triple {19907#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,480 INFO L290 TraceCheckUtils]: 108: Hoare triple {19907#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:37,481 INFO L290 TraceCheckUtils]: 107: Hoare triple {19879#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19907#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:37,481 INFO L290 TraceCheckUtils]: 106: Hoare triple {19879#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:37,481 INFO L290 TraceCheckUtils]: 105: Hoare triple {19879#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:37,482 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {19486#true} {19879#(<= ~counter~0 13)} #63#return; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:37,482 INFO L290 TraceCheckUtils]: 103: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,482 INFO L290 TraceCheckUtils]: 102: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,482 INFO L290 TraceCheckUtils]: 101: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,482 INFO L272 TraceCheckUtils]: 100: Hoare triple {19879#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,482 INFO L290 TraceCheckUtils]: 99: Hoare triple {19879#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:37,483 INFO L290 TraceCheckUtils]: 98: Hoare triple {19851#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19879#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:37,483 INFO L290 TraceCheckUtils]: 97: Hoare triple {19851#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:37,483 INFO L290 TraceCheckUtils]: 96: Hoare triple {19851#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:37,484 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {19486#true} {19851#(<= ~counter~0 12)} #63#return; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:37,484 INFO L290 TraceCheckUtils]: 94: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,484 INFO L290 TraceCheckUtils]: 93: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,484 INFO L290 TraceCheckUtils]: 92: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,484 INFO L272 TraceCheckUtils]: 91: Hoare triple {19851#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,485 INFO L290 TraceCheckUtils]: 90: Hoare triple {19851#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:37,485 INFO L290 TraceCheckUtils]: 89: Hoare triple {19823#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19851#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:37,485 INFO L290 TraceCheckUtils]: 88: Hoare triple {19823#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:37,486 INFO L290 TraceCheckUtils]: 87: Hoare triple {19823#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:37,486 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19486#true} {19823#(<= ~counter~0 11)} #63#return; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:37,486 INFO L290 TraceCheckUtils]: 85: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,486 INFO L290 TraceCheckUtils]: 84: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,486 INFO L290 TraceCheckUtils]: 83: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,487 INFO L272 TraceCheckUtils]: 82: Hoare triple {19823#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,487 INFO L290 TraceCheckUtils]: 81: Hoare triple {19823#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:37,487 INFO L290 TraceCheckUtils]: 80: Hoare triple {19795#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19823#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:37,488 INFO L290 TraceCheckUtils]: 79: Hoare triple {19795#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:37,488 INFO L290 TraceCheckUtils]: 78: Hoare triple {19795#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:37,488 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19486#true} {19795#(<= ~counter~0 10)} #63#return; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:37,488 INFO L290 TraceCheckUtils]: 76: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,489 INFO L290 TraceCheckUtils]: 75: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,489 INFO L290 TraceCheckUtils]: 74: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,489 INFO L272 TraceCheckUtils]: 73: Hoare triple {19795#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,489 INFO L290 TraceCheckUtils]: 72: Hoare triple {19795#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:37,489 INFO L290 TraceCheckUtils]: 71: Hoare triple {19767#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19795#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:37,490 INFO L290 TraceCheckUtils]: 70: Hoare triple {19767#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:37,490 INFO L290 TraceCheckUtils]: 69: Hoare triple {19767#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:37,491 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19486#true} {19767#(<= ~counter~0 9)} #63#return; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:37,491 INFO L290 TraceCheckUtils]: 67: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,491 INFO L290 TraceCheckUtils]: 66: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,491 INFO L290 TraceCheckUtils]: 65: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,491 INFO L272 TraceCheckUtils]: 64: Hoare triple {19767#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,491 INFO L290 TraceCheckUtils]: 63: Hoare triple {19767#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:37,492 INFO L290 TraceCheckUtils]: 62: Hoare triple {19739#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19767#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:37,492 INFO L290 TraceCheckUtils]: 61: Hoare triple {19739#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:37,492 INFO L290 TraceCheckUtils]: 60: Hoare triple {19739#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:37,493 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19486#true} {19739#(<= ~counter~0 8)} #63#return; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:37,493 INFO L290 TraceCheckUtils]: 58: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,493 INFO L290 TraceCheckUtils]: 57: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,493 INFO L290 TraceCheckUtils]: 56: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,493 INFO L272 TraceCheckUtils]: 55: Hoare triple {19739#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,493 INFO L290 TraceCheckUtils]: 54: Hoare triple {19739#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:37,494 INFO L290 TraceCheckUtils]: 53: Hoare triple {19711#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19739#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:37,494 INFO L290 TraceCheckUtils]: 52: Hoare triple {19711#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:37,494 INFO L290 TraceCheckUtils]: 51: Hoare triple {19711#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:37,495 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19486#true} {19711#(<= ~counter~0 7)} #63#return; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:37,495 INFO L290 TraceCheckUtils]: 49: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,495 INFO L290 TraceCheckUtils]: 48: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,495 INFO L290 TraceCheckUtils]: 47: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,495 INFO L272 TraceCheckUtils]: 46: Hoare triple {19711#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,496 INFO L290 TraceCheckUtils]: 45: Hoare triple {19711#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:37,496 INFO L290 TraceCheckUtils]: 44: Hoare triple {19683#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19711#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:37,496 INFO L290 TraceCheckUtils]: 43: Hoare triple {19683#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:37,497 INFO L290 TraceCheckUtils]: 42: Hoare triple {19683#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:37,497 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19486#true} {19683#(<= ~counter~0 6)} #63#return; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:37,497 INFO L290 TraceCheckUtils]: 40: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,497 INFO L290 TraceCheckUtils]: 39: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,497 INFO L290 TraceCheckUtils]: 38: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,497 INFO L272 TraceCheckUtils]: 37: Hoare triple {19683#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,498 INFO L290 TraceCheckUtils]: 36: Hoare triple {19683#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:37,498 INFO L290 TraceCheckUtils]: 35: Hoare triple {19655#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19683#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:37,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {19655#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:37,507 INFO L290 TraceCheckUtils]: 33: Hoare triple {19655#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:37,508 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19486#true} {19655#(<= ~counter~0 5)} #63#return; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:37,508 INFO L290 TraceCheckUtils]: 31: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,508 INFO L290 TraceCheckUtils]: 30: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,508 INFO L290 TraceCheckUtils]: 29: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,508 INFO L272 TraceCheckUtils]: 28: Hoare triple {19655#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,508 INFO L290 TraceCheckUtils]: 27: Hoare triple {19655#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:37,509 INFO L290 TraceCheckUtils]: 26: Hoare triple {19627#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19655#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:37,509 INFO L290 TraceCheckUtils]: 25: Hoare triple {19627#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:37,510 INFO L290 TraceCheckUtils]: 24: Hoare triple {19627#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:37,510 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19486#true} {19627#(<= ~counter~0 4)} #63#return; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:37,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,510 INFO L272 TraceCheckUtils]: 19: Hoare triple {19627#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {19627#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:37,511 INFO L290 TraceCheckUtils]: 17: Hoare triple {19599#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19627#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:37,511 INFO L290 TraceCheckUtils]: 16: Hoare triple {19599#(<= ~counter~0 3)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,512 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19486#true} {19599#(<= ~counter~0 3)} #61#return; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,512 INFO L290 TraceCheckUtils]: 14: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,512 INFO L290 TraceCheckUtils]: 13: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,512 INFO L290 TraceCheckUtils]: 12: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,512 INFO L272 TraceCheckUtils]: 11: Hoare triple {19599#(<= ~counter~0 3)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19486#true} {19599#(<= ~counter~0 3)} #59#return; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {19486#true} assume true; {19486#true} is VALID [2022-04-28 07:17:37,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {19486#true} assume !(0 == ~cond); {19486#true} is VALID [2022-04-28 07:17:37,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {19486#true} ~cond := #in~cond; {19486#true} is VALID [2022-04-28 07:17:37,513 INFO L272 TraceCheckUtils]: 6: Hoare triple {19599#(<= ~counter~0 3)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {19486#true} is VALID [2022-04-28 07:17:37,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {19599#(<= ~counter~0 3)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {19599#(<= ~counter~0 3)} call #t~ret7 := main(); {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19599#(<= ~counter~0 3)} {19486#true} #67#return; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {19599#(<= ~counter~0 3)} assume true; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {19486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19599#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:37,514 INFO L272 TraceCheckUtils]: 0: Hoare triple {19486#true} call ULTIMATE.init(); {19486#true} is VALID [2022-04-28 07:17:37,515 INFO L134 CoverageAnalysis]: Checked inductivity of 1148 backedges. 32 proven. 632 refuted. 0 times theorem prover too weak. 484 trivial. 0 not checked. [2022-04-28 07:17:37,515 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:37,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1622845990] [2022-04-28 07:17:37,515 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:37,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318656663] [2022-04-28 07:17:37,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318656663] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:37,515 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:37,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 24 [2022-04-28 07:17:37,516 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:37,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [97836782] [2022-04-28 07:17:37,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [97836782] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:37,516 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:37,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 07:17:37,516 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1387784981] [2022-04-28 07:17:37,516 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:37,516 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) Word has length 167 [2022-04-28 07:17:37,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:37,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 07:17:37,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:37,630 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 07:17:37,630 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:37,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 07:17:37,630 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:37,630 INFO L87 Difference]: Start difference. First operand 164 states and 181 transitions. Second operand has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 07:17:38,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:38,272 INFO L93 Difference]: Finished difference Result 178 states and 196 transitions. [2022-04-28 07:17:38,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-28 07:17:38,272 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) Word has length 167 [2022-04-28 07:17:38,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:38,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 07:17:38,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 195 transitions. [2022-04-28 07:17:38,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 07:17:38,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 195 transitions. [2022-04-28 07:17:38,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 195 transitions. [2022-04-28 07:17:38,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:38,414 INFO L225 Difference]: With dead ends: 178 [2022-04-28 07:17:38,414 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 07:17:38,415 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 349 GetRequests, 310 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 158 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=604, Invalid=956, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 07:17:38,415 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 75 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 75 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:38,415 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [75 Valid, 210 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:38,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 07:17:38,616 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-28 07:17:38,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:38,618 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 07:17:38,618 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 07:17:38,618 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 07:17:38,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:38,620 INFO L93 Difference]: Finished difference Result 173 states and 191 transitions. [2022-04-28 07:17:38,620 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 191 transitions. [2022-04-28 07:17:38,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:38,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:38,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 173 states. [2022-04-28 07:17:38,621 INFO L87 Difference]: Start difference. First operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 173 states. [2022-04-28 07:17:38,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:38,624 INFO L93 Difference]: Finished difference Result 173 states and 191 transitions. [2022-04-28 07:17:38,624 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 191 transitions. [2022-04-28 07:17:38,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:38,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:38,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:38,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:38,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 07:17:38,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 191 transitions. [2022-04-28 07:17:38,627 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 191 transitions. Word has length 167 [2022-04-28 07:17:38,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:38,627 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 191 transitions. [2022-04-28 07:17:38,627 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 07:17:38,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 191 transitions. [2022-04-28 07:17:38,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:38,843 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 191 transitions. [2022-04-28 07:17:38,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 177 [2022-04-28 07:17:38,843 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:38,844 INFO L195 NwaCegarLoop]: trace histogram [18, 18, 17, 17, 17, 17, 17, 17, 17, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:38,861 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-28 07:17:39,051 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:39,051 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:39,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:39,052 INFO L85 PathProgramCache]: Analyzing trace with hash 318093084, now seen corresponding path program 33 times [2022-04-28 07:17:39,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:39,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1214981298] [2022-04-28 07:17:39,052 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:39,053 INFO L85 PathProgramCache]: Analyzing trace with hash 318093084, now seen corresponding path program 34 times [2022-04-28 07:17:39,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:39,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [246316882] [2022-04-28 07:17:39,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:39,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:39,068 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:39,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1315004054] [2022-04-28 07:17:39,068 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:17:39,068 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:39,068 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:39,092 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:39,093 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 07:17:39,167 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:17:39,167 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:39,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 484 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 07:17:39,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:39,202 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:40,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {21591#true} call ULTIMATE.init(); {21591#true} is VALID [2022-04-28 07:17:40,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {21591#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {21599#(<= ~counter~0 0)} assume true; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21599#(<= ~counter~0 0)} {21591#true} #67#return; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {21599#(<= ~counter~0 0)} call #t~ret7 := main(); {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {21599#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {21599#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {21599#(<= ~counter~0 0)} ~cond := #in~cond; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {21599#(<= ~counter~0 0)} assume !(0 == ~cond); {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {21599#(<= ~counter~0 0)} assume true; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,047 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21599#(<= ~counter~0 0)} {21599#(<= ~counter~0 0)} #59#return; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,047 INFO L272 TraceCheckUtils]: 11: Hoare triple {21599#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,048 INFO L290 TraceCheckUtils]: 12: Hoare triple {21599#(<= ~counter~0 0)} ~cond := #in~cond; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {21599#(<= ~counter~0 0)} assume !(0 == ~cond); {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {21599#(<= ~counter~0 0)} assume true; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,048 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21599#(<= ~counter~0 0)} {21599#(<= ~counter~0 0)} #61#return; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {21599#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {21599#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:40,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {21599#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {21648#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,050 INFO L272 TraceCheckUtils]: 19: Hoare triple {21648#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {21648#(<= ~counter~0 1)} ~cond := #in~cond; {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,051 INFO L290 TraceCheckUtils]: 21: Hoare triple {21648#(<= ~counter~0 1)} assume !(0 == ~cond); {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,051 INFO L290 TraceCheckUtils]: 22: Hoare triple {21648#(<= ~counter~0 1)} assume true; {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,052 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21648#(<= ~counter~0 1)} {21648#(<= ~counter~0 1)} #63#return; {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,052 INFO L290 TraceCheckUtils]: 24: Hoare triple {21648#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,052 INFO L290 TraceCheckUtils]: 25: Hoare triple {21648#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21648#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:40,053 INFO L290 TraceCheckUtils]: 26: Hoare triple {21648#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,053 INFO L290 TraceCheckUtils]: 27: Hoare triple {21676#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,053 INFO L272 TraceCheckUtils]: 28: Hoare triple {21676#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,054 INFO L290 TraceCheckUtils]: 29: Hoare triple {21676#(<= ~counter~0 2)} ~cond := #in~cond; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {21676#(<= ~counter~0 2)} assume !(0 == ~cond); {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {21676#(<= ~counter~0 2)} assume true; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,055 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21676#(<= ~counter~0 2)} {21676#(<= ~counter~0 2)} #63#return; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,055 INFO L290 TraceCheckUtils]: 33: Hoare triple {21676#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {21676#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {21676#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {21704#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,057 INFO L272 TraceCheckUtils]: 37: Hoare triple {21704#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,057 INFO L290 TraceCheckUtils]: 38: Hoare triple {21704#(<= ~counter~0 3)} ~cond := #in~cond; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,057 INFO L290 TraceCheckUtils]: 39: Hoare triple {21704#(<= ~counter~0 3)} assume !(0 == ~cond); {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,057 INFO L290 TraceCheckUtils]: 40: Hoare triple {21704#(<= ~counter~0 3)} assume true; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,058 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21704#(<= ~counter~0 3)} {21704#(<= ~counter~0 3)} #63#return; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,058 INFO L290 TraceCheckUtils]: 42: Hoare triple {21704#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,058 INFO L290 TraceCheckUtils]: 43: Hoare triple {21704#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,059 INFO L290 TraceCheckUtils]: 44: Hoare triple {21704#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,059 INFO L290 TraceCheckUtils]: 45: Hoare triple {21732#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,060 INFO L272 TraceCheckUtils]: 46: Hoare triple {21732#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,061 INFO L290 TraceCheckUtils]: 47: Hoare triple {21732#(<= ~counter~0 4)} ~cond := #in~cond; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,061 INFO L290 TraceCheckUtils]: 48: Hoare triple {21732#(<= ~counter~0 4)} assume !(0 == ~cond); {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,061 INFO L290 TraceCheckUtils]: 49: Hoare triple {21732#(<= ~counter~0 4)} assume true; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,062 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21732#(<= ~counter~0 4)} {21732#(<= ~counter~0 4)} #63#return; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,062 INFO L290 TraceCheckUtils]: 51: Hoare triple {21732#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,062 INFO L290 TraceCheckUtils]: 52: Hoare triple {21732#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,063 INFO L290 TraceCheckUtils]: 53: Hoare triple {21732#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,063 INFO L290 TraceCheckUtils]: 54: Hoare triple {21760#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,064 INFO L272 TraceCheckUtils]: 55: Hoare triple {21760#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,064 INFO L290 TraceCheckUtils]: 56: Hoare triple {21760#(<= ~counter~0 5)} ~cond := #in~cond; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,064 INFO L290 TraceCheckUtils]: 57: Hoare triple {21760#(<= ~counter~0 5)} assume !(0 == ~cond); {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,064 INFO L290 TraceCheckUtils]: 58: Hoare triple {21760#(<= ~counter~0 5)} assume true; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,065 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21760#(<= ~counter~0 5)} {21760#(<= ~counter~0 5)} #63#return; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,065 INFO L290 TraceCheckUtils]: 60: Hoare triple {21760#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,066 INFO L290 TraceCheckUtils]: 61: Hoare triple {21760#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,066 INFO L290 TraceCheckUtils]: 62: Hoare triple {21760#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,066 INFO L290 TraceCheckUtils]: 63: Hoare triple {21788#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,067 INFO L272 TraceCheckUtils]: 64: Hoare triple {21788#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,067 INFO L290 TraceCheckUtils]: 65: Hoare triple {21788#(<= ~counter~0 6)} ~cond := #in~cond; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,067 INFO L290 TraceCheckUtils]: 66: Hoare triple {21788#(<= ~counter~0 6)} assume !(0 == ~cond); {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,068 INFO L290 TraceCheckUtils]: 67: Hoare triple {21788#(<= ~counter~0 6)} assume true; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,068 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {21788#(<= ~counter~0 6)} {21788#(<= ~counter~0 6)} #63#return; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,068 INFO L290 TraceCheckUtils]: 69: Hoare triple {21788#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,069 INFO L290 TraceCheckUtils]: 70: Hoare triple {21788#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,069 INFO L290 TraceCheckUtils]: 71: Hoare triple {21788#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,069 INFO L290 TraceCheckUtils]: 72: Hoare triple {21816#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,070 INFO L272 TraceCheckUtils]: 73: Hoare triple {21816#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,070 INFO L290 TraceCheckUtils]: 74: Hoare triple {21816#(<= ~counter~0 7)} ~cond := #in~cond; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,070 INFO L290 TraceCheckUtils]: 75: Hoare triple {21816#(<= ~counter~0 7)} assume !(0 == ~cond); {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,071 INFO L290 TraceCheckUtils]: 76: Hoare triple {21816#(<= ~counter~0 7)} assume true; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,071 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21816#(<= ~counter~0 7)} {21816#(<= ~counter~0 7)} #63#return; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,071 INFO L290 TraceCheckUtils]: 78: Hoare triple {21816#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,072 INFO L290 TraceCheckUtils]: 79: Hoare triple {21816#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,072 INFO L290 TraceCheckUtils]: 80: Hoare triple {21816#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,072 INFO L290 TraceCheckUtils]: 81: Hoare triple {21844#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,073 INFO L272 TraceCheckUtils]: 82: Hoare triple {21844#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,073 INFO L290 TraceCheckUtils]: 83: Hoare triple {21844#(<= ~counter~0 8)} ~cond := #in~cond; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,074 INFO L290 TraceCheckUtils]: 84: Hoare triple {21844#(<= ~counter~0 8)} assume !(0 == ~cond); {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,074 INFO L290 TraceCheckUtils]: 85: Hoare triple {21844#(<= ~counter~0 8)} assume true; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,074 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21844#(<= ~counter~0 8)} {21844#(<= ~counter~0 8)} #63#return; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,075 INFO L290 TraceCheckUtils]: 87: Hoare triple {21844#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,075 INFO L290 TraceCheckUtils]: 88: Hoare triple {21844#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,088 INFO L290 TraceCheckUtils]: 89: Hoare triple {21844#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,088 INFO L290 TraceCheckUtils]: 90: Hoare triple {21872#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,089 INFO L272 TraceCheckUtils]: 91: Hoare triple {21872#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,089 INFO L290 TraceCheckUtils]: 92: Hoare triple {21872#(<= ~counter~0 9)} ~cond := #in~cond; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,089 INFO L290 TraceCheckUtils]: 93: Hoare triple {21872#(<= ~counter~0 9)} assume !(0 == ~cond); {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,090 INFO L290 TraceCheckUtils]: 94: Hoare triple {21872#(<= ~counter~0 9)} assume true; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,090 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {21872#(<= ~counter~0 9)} {21872#(<= ~counter~0 9)} #63#return; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,091 INFO L290 TraceCheckUtils]: 96: Hoare triple {21872#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,091 INFO L290 TraceCheckUtils]: 97: Hoare triple {21872#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,092 INFO L290 TraceCheckUtils]: 98: Hoare triple {21872#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,092 INFO L290 TraceCheckUtils]: 99: Hoare triple {21900#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,092 INFO L272 TraceCheckUtils]: 100: Hoare triple {21900#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,093 INFO L290 TraceCheckUtils]: 101: Hoare triple {21900#(<= ~counter~0 10)} ~cond := #in~cond; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,093 INFO L290 TraceCheckUtils]: 102: Hoare triple {21900#(<= ~counter~0 10)} assume !(0 == ~cond); {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,093 INFO L290 TraceCheckUtils]: 103: Hoare triple {21900#(<= ~counter~0 10)} assume true; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,094 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {21900#(<= ~counter~0 10)} {21900#(<= ~counter~0 10)} #63#return; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,094 INFO L290 TraceCheckUtils]: 105: Hoare triple {21900#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,095 INFO L290 TraceCheckUtils]: 106: Hoare triple {21900#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,095 INFO L290 TraceCheckUtils]: 107: Hoare triple {21900#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,095 INFO L290 TraceCheckUtils]: 108: Hoare triple {21928#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,096 INFO L272 TraceCheckUtils]: 109: Hoare triple {21928#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,096 INFO L290 TraceCheckUtils]: 110: Hoare triple {21928#(<= ~counter~0 11)} ~cond := #in~cond; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,097 INFO L290 TraceCheckUtils]: 111: Hoare triple {21928#(<= ~counter~0 11)} assume !(0 == ~cond); {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,097 INFO L290 TraceCheckUtils]: 112: Hoare triple {21928#(<= ~counter~0 11)} assume true; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,097 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {21928#(<= ~counter~0 11)} {21928#(<= ~counter~0 11)} #63#return; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,098 INFO L290 TraceCheckUtils]: 114: Hoare triple {21928#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,098 INFO L290 TraceCheckUtils]: 115: Hoare triple {21928#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,099 INFO L290 TraceCheckUtils]: 116: Hoare triple {21928#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,099 INFO L290 TraceCheckUtils]: 117: Hoare triple {21956#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,100 INFO L272 TraceCheckUtils]: 118: Hoare triple {21956#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,100 INFO L290 TraceCheckUtils]: 119: Hoare triple {21956#(<= ~counter~0 12)} ~cond := #in~cond; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,100 INFO L290 TraceCheckUtils]: 120: Hoare triple {21956#(<= ~counter~0 12)} assume !(0 == ~cond); {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,100 INFO L290 TraceCheckUtils]: 121: Hoare triple {21956#(<= ~counter~0 12)} assume true; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,101 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {21956#(<= ~counter~0 12)} {21956#(<= ~counter~0 12)} #63#return; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,101 INFO L290 TraceCheckUtils]: 123: Hoare triple {21956#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,102 INFO L290 TraceCheckUtils]: 124: Hoare triple {21956#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,102 INFO L290 TraceCheckUtils]: 125: Hoare triple {21956#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,103 INFO L290 TraceCheckUtils]: 126: Hoare triple {21984#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,103 INFO L272 TraceCheckUtils]: 127: Hoare triple {21984#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,104 INFO L290 TraceCheckUtils]: 128: Hoare triple {21984#(<= ~counter~0 13)} ~cond := #in~cond; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,104 INFO L290 TraceCheckUtils]: 129: Hoare triple {21984#(<= ~counter~0 13)} assume !(0 == ~cond); {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,104 INFO L290 TraceCheckUtils]: 130: Hoare triple {21984#(<= ~counter~0 13)} assume true; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,105 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {21984#(<= ~counter~0 13)} {21984#(<= ~counter~0 13)} #63#return; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,105 INFO L290 TraceCheckUtils]: 132: Hoare triple {21984#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,105 INFO L290 TraceCheckUtils]: 133: Hoare triple {21984#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,106 INFO L290 TraceCheckUtils]: 134: Hoare triple {21984#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,106 INFO L290 TraceCheckUtils]: 135: Hoare triple {22012#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,107 INFO L272 TraceCheckUtils]: 136: Hoare triple {22012#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,107 INFO L290 TraceCheckUtils]: 137: Hoare triple {22012#(<= ~counter~0 14)} ~cond := #in~cond; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,107 INFO L290 TraceCheckUtils]: 138: Hoare triple {22012#(<= ~counter~0 14)} assume !(0 == ~cond); {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,108 INFO L290 TraceCheckUtils]: 139: Hoare triple {22012#(<= ~counter~0 14)} assume true; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,108 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {22012#(<= ~counter~0 14)} {22012#(<= ~counter~0 14)} #63#return; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,109 INFO L290 TraceCheckUtils]: 141: Hoare triple {22012#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,109 INFO L290 TraceCheckUtils]: 142: Hoare triple {22012#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,109 INFO L290 TraceCheckUtils]: 143: Hoare triple {22012#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,110 INFO L290 TraceCheckUtils]: 144: Hoare triple {22040#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,110 INFO L272 TraceCheckUtils]: 145: Hoare triple {22040#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,111 INFO L290 TraceCheckUtils]: 146: Hoare triple {22040#(<= ~counter~0 15)} ~cond := #in~cond; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,111 INFO L290 TraceCheckUtils]: 147: Hoare triple {22040#(<= ~counter~0 15)} assume !(0 == ~cond); {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,111 INFO L290 TraceCheckUtils]: 148: Hoare triple {22040#(<= ~counter~0 15)} assume true; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,112 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {22040#(<= ~counter~0 15)} {22040#(<= ~counter~0 15)} #63#return; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,112 INFO L290 TraceCheckUtils]: 150: Hoare triple {22040#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,112 INFO L290 TraceCheckUtils]: 151: Hoare triple {22040#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,113 INFO L290 TraceCheckUtils]: 152: Hoare triple {22040#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,113 INFO L290 TraceCheckUtils]: 153: Hoare triple {22068#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,114 INFO L272 TraceCheckUtils]: 154: Hoare triple {22068#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,114 INFO L290 TraceCheckUtils]: 155: Hoare triple {22068#(<= ~counter~0 16)} ~cond := #in~cond; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,114 INFO L290 TraceCheckUtils]: 156: Hoare triple {22068#(<= ~counter~0 16)} assume !(0 == ~cond); {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,115 INFO L290 TraceCheckUtils]: 157: Hoare triple {22068#(<= ~counter~0 16)} assume true; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,115 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {22068#(<= ~counter~0 16)} {22068#(<= ~counter~0 16)} #63#return; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,116 INFO L290 TraceCheckUtils]: 159: Hoare triple {22068#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,116 INFO L290 TraceCheckUtils]: 160: Hoare triple {22068#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,117 INFO L290 TraceCheckUtils]: 161: Hoare triple {22068#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,117 INFO L290 TraceCheckUtils]: 162: Hoare triple {22096#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,118 INFO L272 TraceCheckUtils]: 163: Hoare triple {22096#(<= ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,118 INFO L290 TraceCheckUtils]: 164: Hoare triple {22096#(<= ~counter~0 17)} ~cond := #in~cond; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,118 INFO L290 TraceCheckUtils]: 165: Hoare triple {22096#(<= ~counter~0 17)} assume !(0 == ~cond); {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,119 INFO L290 TraceCheckUtils]: 166: Hoare triple {22096#(<= ~counter~0 17)} assume true; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,119 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {22096#(<= ~counter~0 17)} {22096#(<= ~counter~0 17)} #63#return; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,120 INFO L290 TraceCheckUtils]: 168: Hoare triple {22096#(<= ~counter~0 17)} assume !!(0 != ~y3~0); {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,120 INFO L290 TraceCheckUtils]: 169: Hoare triple {22096#(<= ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,120 INFO L290 TraceCheckUtils]: 170: Hoare triple {22096#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22124#(<= |main_#t~post6| 17)} is VALID [2022-04-28 07:17:40,121 INFO L290 TraceCheckUtils]: 171: Hoare triple {22124#(<= |main_#t~post6| 17)} assume !(#t~post6 < 20);havoc #t~post6; {21592#false} is VALID [2022-04-28 07:17:40,121 INFO L272 TraceCheckUtils]: 172: Hoare triple {21592#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {21592#false} is VALID [2022-04-28 07:17:40,121 INFO L290 TraceCheckUtils]: 173: Hoare triple {21592#false} ~cond := #in~cond; {21592#false} is VALID [2022-04-28 07:17:40,121 INFO L290 TraceCheckUtils]: 174: Hoare triple {21592#false} assume 0 == ~cond; {21592#false} is VALID [2022-04-28 07:17:40,121 INFO L290 TraceCheckUtils]: 175: Hoare triple {21592#false} assume !false; {21592#false} is VALID [2022-04-28 07:17:40,122 INFO L134 CoverageAnalysis]: Checked inductivity of 1296 backedges. 34 proven. 1258 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:40,122 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:40,893 INFO L290 TraceCheckUtils]: 175: Hoare triple {21592#false} assume !false; {21592#false} is VALID [2022-04-28 07:17:40,893 INFO L290 TraceCheckUtils]: 174: Hoare triple {21592#false} assume 0 == ~cond; {21592#false} is VALID [2022-04-28 07:17:40,893 INFO L290 TraceCheckUtils]: 173: Hoare triple {21592#false} ~cond := #in~cond; {21592#false} is VALID [2022-04-28 07:17:40,893 INFO L272 TraceCheckUtils]: 172: Hoare triple {21592#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {21592#false} is VALID [2022-04-28 07:17:40,893 INFO L290 TraceCheckUtils]: 171: Hoare triple {22152#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {21592#false} is VALID [2022-04-28 07:17:40,894 INFO L290 TraceCheckUtils]: 170: Hoare triple {22156#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22152#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:40,894 INFO L290 TraceCheckUtils]: 169: Hoare triple {22156#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22156#(< ~counter~0 20)} is VALID [2022-04-28 07:17:40,894 INFO L290 TraceCheckUtils]: 168: Hoare triple {22156#(< ~counter~0 20)} assume !!(0 != ~y3~0); {22156#(< ~counter~0 20)} is VALID [2022-04-28 07:17:40,895 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {21591#true} {22156#(< ~counter~0 20)} #63#return; {22156#(< ~counter~0 20)} is VALID [2022-04-28 07:17:40,895 INFO L290 TraceCheckUtils]: 166: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,895 INFO L290 TraceCheckUtils]: 165: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,895 INFO L290 TraceCheckUtils]: 164: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,895 INFO L272 TraceCheckUtils]: 163: Hoare triple {22156#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,895 INFO L290 TraceCheckUtils]: 162: Hoare triple {22156#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {22156#(< ~counter~0 20)} is VALID [2022-04-28 07:17:40,896 INFO L290 TraceCheckUtils]: 161: Hoare triple {22184#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22156#(< ~counter~0 20)} is VALID [2022-04-28 07:17:40,896 INFO L290 TraceCheckUtils]: 160: Hoare triple {22184#(< ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22184#(< ~counter~0 19)} is VALID [2022-04-28 07:17:40,897 INFO L290 TraceCheckUtils]: 159: Hoare triple {22184#(< ~counter~0 19)} assume !!(0 != ~y3~0); {22184#(< ~counter~0 19)} is VALID [2022-04-28 07:17:40,897 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {21591#true} {22184#(< ~counter~0 19)} #63#return; {22184#(< ~counter~0 19)} is VALID [2022-04-28 07:17:40,897 INFO L290 TraceCheckUtils]: 157: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,897 INFO L290 TraceCheckUtils]: 156: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,897 INFO L290 TraceCheckUtils]: 155: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,897 INFO L272 TraceCheckUtils]: 154: Hoare triple {22184#(< ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,898 INFO L290 TraceCheckUtils]: 153: Hoare triple {22184#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {22184#(< ~counter~0 19)} is VALID [2022-04-28 07:17:40,898 INFO L290 TraceCheckUtils]: 152: Hoare triple {22096#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22184#(< ~counter~0 19)} is VALID [2022-04-28 07:17:40,898 INFO L290 TraceCheckUtils]: 151: Hoare triple {22096#(<= ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,899 INFO L290 TraceCheckUtils]: 150: Hoare triple {22096#(<= ~counter~0 17)} assume !!(0 != ~y3~0); {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,899 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {21591#true} {22096#(<= ~counter~0 17)} #63#return; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,899 INFO L290 TraceCheckUtils]: 148: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,899 INFO L290 TraceCheckUtils]: 147: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,899 INFO L290 TraceCheckUtils]: 146: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,900 INFO L272 TraceCheckUtils]: 145: Hoare triple {22096#(<= ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,900 INFO L290 TraceCheckUtils]: 144: Hoare triple {22096#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,900 INFO L290 TraceCheckUtils]: 143: Hoare triple {22068#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22096#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:40,901 INFO L290 TraceCheckUtils]: 142: Hoare triple {22068#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,901 INFO L290 TraceCheckUtils]: 141: Hoare triple {22068#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,901 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {21591#true} {22068#(<= ~counter~0 16)} #63#return; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,901 INFO L290 TraceCheckUtils]: 139: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,901 INFO L290 TraceCheckUtils]: 138: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,902 INFO L290 TraceCheckUtils]: 137: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,902 INFO L272 TraceCheckUtils]: 136: Hoare triple {22068#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,902 INFO L290 TraceCheckUtils]: 135: Hoare triple {22068#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,903 INFO L290 TraceCheckUtils]: 134: Hoare triple {22040#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22068#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:40,903 INFO L290 TraceCheckUtils]: 133: Hoare triple {22040#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,903 INFO L290 TraceCheckUtils]: 132: Hoare triple {22040#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,904 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {21591#true} {22040#(<= ~counter~0 15)} #63#return; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,904 INFO L290 TraceCheckUtils]: 130: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,904 INFO L290 TraceCheckUtils]: 129: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,904 INFO L290 TraceCheckUtils]: 128: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,904 INFO L272 TraceCheckUtils]: 127: Hoare triple {22040#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,904 INFO L290 TraceCheckUtils]: 126: Hoare triple {22040#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,905 INFO L290 TraceCheckUtils]: 125: Hoare triple {22012#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22040#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:40,905 INFO L290 TraceCheckUtils]: 124: Hoare triple {22012#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,905 INFO L290 TraceCheckUtils]: 123: Hoare triple {22012#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,906 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {21591#true} {22012#(<= ~counter~0 14)} #63#return; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,906 INFO L290 TraceCheckUtils]: 121: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,906 INFO L290 TraceCheckUtils]: 120: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,906 INFO L290 TraceCheckUtils]: 119: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,906 INFO L272 TraceCheckUtils]: 118: Hoare triple {22012#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,906 INFO L290 TraceCheckUtils]: 117: Hoare triple {22012#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,907 INFO L290 TraceCheckUtils]: 116: Hoare triple {21984#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22012#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:40,907 INFO L290 TraceCheckUtils]: 115: Hoare triple {21984#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,907 INFO L290 TraceCheckUtils]: 114: Hoare triple {21984#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,908 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {21591#true} {21984#(<= ~counter~0 13)} #63#return; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,908 INFO L290 TraceCheckUtils]: 112: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,908 INFO L290 TraceCheckUtils]: 111: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,908 INFO L290 TraceCheckUtils]: 110: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,908 INFO L272 TraceCheckUtils]: 109: Hoare triple {21984#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,908 INFO L290 TraceCheckUtils]: 108: Hoare triple {21984#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,909 INFO L290 TraceCheckUtils]: 107: Hoare triple {21956#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21984#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:40,909 INFO L290 TraceCheckUtils]: 106: Hoare triple {21956#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,909 INFO L290 TraceCheckUtils]: 105: Hoare triple {21956#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,910 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {21591#true} {21956#(<= ~counter~0 12)} #63#return; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,910 INFO L290 TraceCheckUtils]: 103: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,910 INFO L290 TraceCheckUtils]: 102: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,910 INFO L290 TraceCheckUtils]: 101: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,910 INFO L272 TraceCheckUtils]: 100: Hoare triple {21956#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,910 INFO L290 TraceCheckUtils]: 99: Hoare triple {21956#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,911 INFO L290 TraceCheckUtils]: 98: Hoare triple {21928#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21956#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:40,911 INFO L290 TraceCheckUtils]: 97: Hoare triple {21928#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,911 INFO L290 TraceCheckUtils]: 96: Hoare triple {21928#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,912 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {21591#true} {21928#(<= ~counter~0 11)} #63#return; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,912 INFO L290 TraceCheckUtils]: 94: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,912 INFO L290 TraceCheckUtils]: 93: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,912 INFO L290 TraceCheckUtils]: 92: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,912 INFO L272 TraceCheckUtils]: 91: Hoare triple {21928#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,912 INFO L290 TraceCheckUtils]: 90: Hoare triple {21928#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,913 INFO L290 TraceCheckUtils]: 89: Hoare triple {21900#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21928#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:40,913 INFO L290 TraceCheckUtils]: 88: Hoare triple {21900#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,913 INFO L290 TraceCheckUtils]: 87: Hoare triple {21900#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,914 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21591#true} {21900#(<= ~counter~0 10)} #63#return; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,914 INFO L290 TraceCheckUtils]: 85: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,914 INFO L290 TraceCheckUtils]: 84: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,914 INFO L290 TraceCheckUtils]: 83: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,914 INFO L272 TraceCheckUtils]: 82: Hoare triple {21900#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,914 INFO L290 TraceCheckUtils]: 81: Hoare triple {21900#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,915 INFO L290 TraceCheckUtils]: 80: Hoare triple {21872#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21900#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:40,915 INFO L290 TraceCheckUtils]: 79: Hoare triple {21872#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,915 INFO L290 TraceCheckUtils]: 78: Hoare triple {21872#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,916 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21591#true} {21872#(<= ~counter~0 9)} #63#return; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,916 INFO L290 TraceCheckUtils]: 76: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,916 INFO L290 TraceCheckUtils]: 75: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,916 INFO L290 TraceCheckUtils]: 74: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,916 INFO L272 TraceCheckUtils]: 73: Hoare triple {21872#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,917 INFO L290 TraceCheckUtils]: 72: Hoare triple {21872#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,917 INFO L290 TraceCheckUtils]: 71: Hoare triple {21844#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21872#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:40,917 INFO L290 TraceCheckUtils]: 70: Hoare triple {21844#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,918 INFO L290 TraceCheckUtils]: 69: Hoare triple {21844#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,918 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {21591#true} {21844#(<= ~counter~0 8)} #63#return; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,918 INFO L290 TraceCheckUtils]: 67: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,918 INFO L290 TraceCheckUtils]: 66: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,918 INFO L290 TraceCheckUtils]: 65: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,918 INFO L272 TraceCheckUtils]: 64: Hoare triple {21844#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,919 INFO L290 TraceCheckUtils]: 63: Hoare triple {21844#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,919 INFO L290 TraceCheckUtils]: 62: Hoare triple {21816#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21844#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:40,919 INFO L290 TraceCheckUtils]: 61: Hoare triple {21816#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,920 INFO L290 TraceCheckUtils]: 60: Hoare triple {21816#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,920 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21591#true} {21816#(<= ~counter~0 7)} #63#return; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,920 INFO L290 TraceCheckUtils]: 58: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,920 INFO L290 TraceCheckUtils]: 57: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,920 INFO L290 TraceCheckUtils]: 56: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,920 INFO L272 TraceCheckUtils]: 55: Hoare triple {21816#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,921 INFO L290 TraceCheckUtils]: 54: Hoare triple {21816#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,921 INFO L290 TraceCheckUtils]: 53: Hoare triple {21788#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21816#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:40,921 INFO L290 TraceCheckUtils]: 52: Hoare triple {21788#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,922 INFO L290 TraceCheckUtils]: 51: Hoare triple {21788#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,922 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21591#true} {21788#(<= ~counter~0 6)} #63#return; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,922 INFO L290 TraceCheckUtils]: 49: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,922 INFO L290 TraceCheckUtils]: 48: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,922 INFO L290 TraceCheckUtils]: 47: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,922 INFO L272 TraceCheckUtils]: 46: Hoare triple {21788#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,923 INFO L290 TraceCheckUtils]: 45: Hoare triple {21788#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,923 INFO L290 TraceCheckUtils]: 44: Hoare triple {21760#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21788#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:40,923 INFO L290 TraceCheckUtils]: 43: Hoare triple {21760#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,924 INFO L290 TraceCheckUtils]: 42: Hoare triple {21760#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,924 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21591#true} {21760#(<= ~counter~0 5)} #63#return; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,924 INFO L290 TraceCheckUtils]: 40: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,924 INFO L290 TraceCheckUtils]: 39: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,924 INFO L290 TraceCheckUtils]: 38: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,924 INFO L272 TraceCheckUtils]: 37: Hoare triple {21760#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,925 INFO L290 TraceCheckUtils]: 36: Hoare triple {21760#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,925 INFO L290 TraceCheckUtils]: 35: Hoare triple {21732#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21760#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:40,925 INFO L290 TraceCheckUtils]: 34: Hoare triple {21732#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,926 INFO L290 TraceCheckUtils]: 33: Hoare triple {21732#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,926 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21591#true} {21732#(<= ~counter~0 4)} #63#return; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,926 INFO L290 TraceCheckUtils]: 31: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,926 INFO L290 TraceCheckUtils]: 30: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,926 INFO L290 TraceCheckUtils]: 29: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,926 INFO L272 TraceCheckUtils]: 28: Hoare triple {21732#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,927 INFO L290 TraceCheckUtils]: 27: Hoare triple {21732#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {21704#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21732#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:40,927 INFO L290 TraceCheckUtils]: 25: Hoare triple {21704#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {21704#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,928 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21591#true} {21704#(<= ~counter~0 3)} #63#return; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,928 INFO L290 TraceCheckUtils]: 22: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,928 INFO L290 TraceCheckUtils]: 21: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,929 INFO L272 TraceCheckUtils]: 19: Hoare triple {21704#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,929 INFO L290 TraceCheckUtils]: 18: Hoare triple {21704#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,929 INFO L290 TraceCheckUtils]: 17: Hoare triple {21676#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21704#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:40,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {21676#(<= ~counter~0 2)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,930 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21591#true} {21676#(<= ~counter~0 2)} #61#return; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,930 INFO L290 TraceCheckUtils]: 14: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,930 INFO L290 TraceCheckUtils]: 13: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,930 INFO L290 TraceCheckUtils]: 12: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,930 INFO L272 TraceCheckUtils]: 11: Hoare triple {21676#(<= ~counter~0 2)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21591#true} {21676#(<= ~counter~0 2)} #59#return; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {21591#true} assume true; {21591#true} is VALID [2022-04-28 07:17:40,931 INFO L290 TraceCheckUtils]: 8: Hoare triple {21591#true} assume !(0 == ~cond); {21591#true} is VALID [2022-04-28 07:17:40,931 INFO L290 TraceCheckUtils]: 7: Hoare triple {21591#true} ~cond := #in~cond; {21591#true} is VALID [2022-04-28 07:17:40,931 INFO L272 TraceCheckUtils]: 6: Hoare triple {21676#(<= ~counter~0 2)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {21591#true} is VALID [2022-04-28 07:17:40,931 INFO L290 TraceCheckUtils]: 5: Hoare triple {21676#(<= ~counter~0 2)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {21676#(<= ~counter~0 2)} call #t~ret7 := main(); {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21676#(<= ~counter~0 2)} {21591#true} #67#return; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {21676#(<= ~counter~0 2)} assume true; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {21591#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21676#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:40,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {21591#true} call ULTIMATE.init(); {21591#true} is VALID [2022-04-28 07:17:40,933 INFO L134 CoverageAnalysis]: Checked inductivity of 1296 backedges. 34 proven. 714 refuted. 0 times theorem prover too weak. 548 trivial. 0 not checked. [2022-04-28 07:17:40,933 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:40,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [246316882] [2022-04-28 07:17:40,933 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:40,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1315004054] [2022-04-28 07:17:40,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1315004054] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:40,934 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:40,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 24 [2022-04-28 07:17:40,934 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:40,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1214981298] [2022-04-28 07:17:40,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1214981298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:40,934 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:40,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 07:17:40,934 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [355788518] [2022-04-28 07:17:40,934 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:40,935 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) Word has length 176 [2022-04-28 07:17:40,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:40,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 07:17:41,044 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:41,044 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 07:17:41,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:41,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 07:17:41,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:41,045 INFO L87 Difference]: Start difference. First operand 173 states and 191 transitions. Second operand has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 07:17:41,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:41,809 INFO L93 Difference]: Finished difference Result 187 states and 206 transitions. [2022-04-28 07:17:41,809 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-28 07:17:41,809 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) Word has length 176 [2022-04-28 07:17:41,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:41,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 07:17:41,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 205 transitions. [2022-04-28 07:17:41,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 07:17:41,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 205 transitions. [2022-04-28 07:17:41,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 205 transitions. [2022-04-28 07:17:41,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:41,969 INFO L225 Difference]: With dead ends: 187 [2022-04-28 07:17:41,969 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 07:17:41,970 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 368 GetRequests, 328 SyntacticMatches, 1 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 174 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=627, Invalid=1013, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 07:17:41,970 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 48 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 147 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:41,971 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 230 Invalid, 147 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:41,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 07:17:42,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 07:17:42,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:42,180 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 07:17:42,180 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 07:17:42,180 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 07:17:42,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:42,182 INFO L93 Difference]: Finished difference Result 182 states and 201 transitions. [2022-04-28 07:17:42,182 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 201 transitions. [2022-04-28 07:17:42,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:42,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:42,183 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 182 states. [2022-04-28 07:17:42,183 INFO L87 Difference]: Start difference. First operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 182 states. [2022-04-28 07:17:42,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:42,185 INFO L93 Difference]: Finished difference Result 182 states and 201 transitions. [2022-04-28 07:17:42,185 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 201 transitions. [2022-04-28 07:17:42,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:42,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:42,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:42,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:42,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 07:17:42,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 201 transitions. [2022-04-28 07:17:42,188 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 201 transitions. Word has length 176 [2022-04-28 07:17:42,188 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:42,188 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 201 transitions. [2022-04-28 07:17:42,188 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 07:17:42,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 201 transitions. [2022-04-28 07:17:42,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 201 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:42,404 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 201 transitions. [2022-04-28 07:17:42,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 186 [2022-04-28 07:17:42,405 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:42,405 INFO L195 NwaCegarLoop]: trace histogram [19, 19, 18, 18, 18, 18, 18, 18, 18, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:42,422 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-28 07:17:42,606 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 07:17:42,606 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:42,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:42,606 INFO L85 PathProgramCache]: Analyzing trace with hash 994740182, now seen corresponding path program 35 times [2022-04-28 07:17:42,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:42,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [290570166] [2022-04-28 07:17:42,607 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:42,607 INFO L85 PathProgramCache]: Analyzing trace with hash 994740182, now seen corresponding path program 36 times [2022-04-28 07:17:42,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:42,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1567453933] [2022-04-28 07:17:42,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:42,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:42,629 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:42,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [358645843] [2022-04-28 07:17:42,629 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:17:42,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:42,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:42,630 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:42,634 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 07:17:42,764 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2022-04-28 07:17:42,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:42,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 507 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 07:17:42,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:42,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:43,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {23806#true} call ULTIMATE.init(); {23806#true} is VALID [2022-04-28 07:17:43,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {23806#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {23814#(<= ~counter~0 0)} assume true; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,687 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23814#(<= ~counter~0 0)} {23806#true} #67#return; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,687 INFO L272 TraceCheckUtils]: 4: Hoare triple {23814#(<= ~counter~0 0)} call #t~ret7 := main(); {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,687 INFO L290 TraceCheckUtils]: 5: Hoare triple {23814#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,688 INFO L272 TraceCheckUtils]: 6: Hoare triple {23814#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,688 INFO L290 TraceCheckUtils]: 7: Hoare triple {23814#(<= ~counter~0 0)} ~cond := #in~cond; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,688 INFO L290 TraceCheckUtils]: 8: Hoare triple {23814#(<= ~counter~0 0)} assume !(0 == ~cond); {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {23814#(<= ~counter~0 0)} assume true; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23814#(<= ~counter~0 0)} {23814#(<= ~counter~0 0)} #59#return; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,689 INFO L272 TraceCheckUtils]: 11: Hoare triple {23814#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,690 INFO L290 TraceCheckUtils]: 12: Hoare triple {23814#(<= ~counter~0 0)} ~cond := #in~cond; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {23814#(<= ~counter~0 0)} assume !(0 == ~cond); {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {23814#(<= ~counter~0 0)} assume true; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,691 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23814#(<= ~counter~0 0)} {23814#(<= ~counter~0 0)} #61#return; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {23814#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {23814#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:43,692 INFO L290 TraceCheckUtils]: 17: Hoare triple {23814#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,692 INFO L290 TraceCheckUtils]: 18: Hoare triple {23863#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,693 INFO L272 TraceCheckUtils]: 19: Hoare triple {23863#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {23863#(<= ~counter~0 1)} ~cond := #in~cond; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,693 INFO L290 TraceCheckUtils]: 21: Hoare triple {23863#(<= ~counter~0 1)} assume !(0 == ~cond); {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {23863#(<= ~counter~0 1)} assume true; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,694 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23863#(<= ~counter~0 1)} {23863#(<= ~counter~0 1)} #63#return; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,695 INFO L290 TraceCheckUtils]: 24: Hoare triple {23863#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,695 INFO L290 TraceCheckUtils]: 25: Hoare triple {23863#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:43,695 INFO L290 TraceCheckUtils]: 26: Hoare triple {23863#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,696 INFO L290 TraceCheckUtils]: 27: Hoare triple {23891#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,696 INFO L272 TraceCheckUtils]: 28: Hoare triple {23891#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,697 INFO L290 TraceCheckUtils]: 29: Hoare triple {23891#(<= ~counter~0 2)} ~cond := #in~cond; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {23891#(<= ~counter~0 2)} assume !(0 == ~cond); {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {23891#(<= ~counter~0 2)} assume true; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,698 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23891#(<= ~counter~0 2)} {23891#(<= ~counter~0 2)} #63#return; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {23891#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,698 INFO L290 TraceCheckUtils]: 34: Hoare triple {23891#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:43,699 INFO L290 TraceCheckUtils]: 35: Hoare triple {23891#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {23919#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,700 INFO L272 TraceCheckUtils]: 37: Hoare triple {23919#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {23919#(<= ~counter~0 3)} ~cond := #in~cond; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,700 INFO L290 TraceCheckUtils]: 39: Hoare triple {23919#(<= ~counter~0 3)} assume !(0 == ~cond); {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,701 INFO L290 TraceCheckUtils]: 40: Hoare triple {23919#(<= ~counter~0 3)} assume true; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,701 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23919#(<= ~counter~0 3)} {23919#(<= ~counter~0 3)} #63#return; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,702 INFO L290 TraceCheckUtils]: 42: Hoare triple {23919#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,702 INFO L290 TraceCheckUtils]: 43: Hoare triple {23919#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:43,702 INFO L290 TraceCheckUtils]: 44: Hoare triple {23919#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,703 INFO L290 TraceCheckUtils]: 45: Hoare triple {23947#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,703 INFO L272 TraceCheckUtils]: 46: Hoare triple {23947#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,704 INFO L290 TraceCheckUtils]: 47: Hoare triple {23947#(<= ~counter~0 4)} ~cond := #in~cond; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,704 INFO L290 TraceCheckUtils]: 48: Hoare triple {23947#(<= ~counter~0 4)} assume !(0 == ~cond); {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,704 INFO L290 TraceCheckUtils]: 49: Hoare triple {23947#(<= ~counter~0 4)} assume true; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,705 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23947#(<= ~counter~0 4)} {23947#(<= ~counter~0 4)} #63#return; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,705 INFO L290 TraceCheckUtils]: 51: Hoare triple {23947#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,705 INFO L290 TraceCheckUtils]: 52: Hoare triple {23947#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:43,706 INFO L290 TraceCheckUtils]: 53: Hoare triple {23947#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,706 INFO L290 TraceCheckUtils]: 54: Hoare triple {23975#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,707 INFO L272 TraceCheckUtils]: 55: Hoare triple {23975#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,707 INFO L290 TraceCheckUtils]: 56: Hoare triple {23975#(<= ~counter~0 5)} ~cond := #in~cond; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,707 INFO L290 TraceCheckUtils]: 57: Hoare triple {23975#(<= ~counter~0 5)} assume !(0 == ~cond); {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,708 INFO L290 TraceCheckUtils]: 58: Hoare triple {23975#(<= ~counter~0 5)} assume true; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,708 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23975#(<= ~counter~0 5)} {23975#(<= ~counter~0 5)} #63#return; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,708 INFO L290 TraceCheckUtils]: 60: Hoare triple {23975#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,709 INFO L290 TraceCheckUtils]: 61: Hoare triple {23975#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:43,709 INFO L290 TraceCheckUtils]: 62: Hoare triple {23975#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,710 INFO L290 TraceCheckUtils]: 63: Hoare triple {24003#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,710 INFO L272 TraceCheckUtils]: 64: Hoare triple {24003#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,710 INFO L290 TraceCheckUtils]: 65: Hoare triple {24003#(<= ~counter~0 6)} ~cond := #in~cond; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,711 INFO L290 TraceCheckUtils]: 66: Hoare triple {24003#(<= ~counter~0 6)} assume !(0 == ~cond); {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,711 INFO L290 TraceCheckUtils]: 67: Hoare triple {24003#(<= ~counter~0 6)} assume true; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,712 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24003#(<= ~counter~0 6)} {24003#(<= ~counter~0 6)} #63#return; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,712 INFO L290 TraceCheckUtils]: 69: Hoare triple {24003#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,712 INFO L290 TraceCheckUtils]: 70: Hoare triple {24003#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:43,713 INFO L290 TraceCheckUtils]: 71: Hoare triple {24003#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,713 INFO L290 TraceCheckUtils]: 72: Hoare triple {24031#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,714 INFO L272 TraceCheckUtils]: 73: Hoare triple {24031#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,714 INFO L290 TraceCheckUtils]: 74: Hoare triple {24031#(<= ~counter~0 7)} ~cond := #in~cond; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,714 INFO L290 TraceCheckUtils]: 75: Hoare triple {24031#(<= ~counter~0 7)} assume !(0 == ~cond); {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,714 INFO L290 TraceCheckUtils]: 76: Hoare triple {24031#(<= ~counter~0 7)} assume true; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,715 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {24031#(<= ~counter~0 7)} {24031#(<= ~counter~0 7)} #63#return; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,715 INFO L290 TraceCheckUtils]: 78: Hoare triple {24031#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,716 INFO L290 TraceCheckUtils]: 79: Hoare triple {24031#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:43,716 INFO L290 TraceCheckUtils]: 80: Hoare triple {24031#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,717 INFO L290 TraceCheckUtils]: 81: Hoare triple {24059#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,717 INFO L272 TraceCheckUtils]: 82: Hoare triple {24059#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,717 INFO L290 TraceCheckUtils]: 83: Hoare triple {24059#(<= ~counter~0 8)} ~cond := #in~cond; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,718 INFO L290 TraceCheckUtils]: 84: Hoare triple {24059#(<= ~counter~0 8)} assume !(0 == ~cond); {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,718 INFO L290 TraceCheckUtils]: 85: Hoare triple {24059#(<= ~counter~0 8)} assume true; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,719 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {24059#(<= ~counter~0 8)} {24059#(<= ~counter~0 8)} #63#return; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,719 INFO L290 TraceCheckUtils]: 87: Hoare triple {24059#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,719 INFO L290 TraceCheckUtils]: 88: Hoare triple {24059#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:43,720 INFO L290 TraceCheckUtils]: 89: Hoare triple {24059#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,720 INFO L290 TraceCheckUtils]: 90: Hoare triple {24087#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,720 INFO L272 TraceCheckUtils]: 91: Hoare triple {24087#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,721 INFO L290 TraceCheckUtils]: 92: Hoare triple {24087#(<= ~counter~0 9)} ~cond := #in~cond; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,721 INFO L290 TraceCheckUtils]: 93: Hoare triple {24087#(<= ~counter~0 9)} assume !(0 == ~cond); {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,721 INFO L290 TraceCheckUtils]: 94: Hoare triple {24087#(<= ~counter~0 9)} assume true; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,722 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {24087#(<= ~counter~0 9)} {24087#(<= ~counter~0 9)} #63#return; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,722 INFO L290 TraceCheckUtils]: 96: Hoare triple {24087#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,722 INFO L290 TraceCheckUtils]: 97: Hoare triple {24087#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:43,723 INFO L290 TraceCheckUtils]: 98: Hoare triple {24087#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,723 INFO L290 TraceCheckUtils]: 99: Hoare triple {24115#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,724 INFO L272 TraceCheckUtils]: 100: Hoare triple {24115#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,724 INFO L290 TraceCheckUtils]: 101: Hoare triple {24115#(<= ~counter~0 10)} ~cond := #in~cond; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,725 INFO L290 TraceCheckUtils]: 102: Hoare triple {24115#(<= ~counter~0 10)} assume !(0 == ~cond); {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,725 INFO L290 TraceCheckUtils]: 103: Hoare triple {24115#(<= ~counter~0 10)} assume true; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,725 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {24115#(<= ~counter~0 10)} {24115#(<= ~counter~0 10)} #63#return; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,726 INFO L290 TraceCheckUtils]: 105: Hoare triple {24115#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,726 INFO L290 TraceCheckUtils]: 106: Hoare triple {24115#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:43,727 INFO L290 TraceCheckUtils]: 107: Hoare triple {24115#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,727 INFO L290 TraceCheckUtils]: 108: Hoare triple {24143#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,727 INFO L272 TraceCheckUtils]: 109: Hoare triple {24143#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,728 INFO L290 TraceCheckUtils]: 110: Hoare triple {24143#(<= ~counter~0 11)} ~cond := #in~cond; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,728 INFO L290 TraceCheckUtils]: 111: Hoare triple {24143#(<= ~counter~0 11)} assume !(0 == ~cond); {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,728 INFO L290 TraceCheckUtils]: 112: Hoare triple {24143#(<= ~counter~0 11)} assume true; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,729 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {24143#(<= ~counter~0 11)} {24143#(<= ~counter~0 11)} #63#return; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,729 INFO L290 TraceCheckUtils]: 114: Hoare triple {24143#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,729 INFO L290 TraceCheckUtils]: 115: Hoare triple {24143#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:43,730 INFO L290 TraceCheckUtils]: 116: Hoare triple {24143#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,730 INFO L290 TraceCheckUtils]: 117: Hoare triple {24171#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,731 INFO L272 TraceCheckUtils]: 118: Hoare triple {24171#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,731 INFO L290 TraceCheckUtils]: 119: Hoare triple {24171#(<= ~counter~0 12)} ~cond := #in~cond; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,731 INFO L290 TraceCheckUtils]: 120: Hoare triple {24171#(<= ~counter~0 12)} assume !(0 == ~cond); {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,732 INFO L290 TraceCheckUtils]: 121: Hoare triple {24171#(<= ~counter~0 12)} assume true; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,732 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {24171#(<= ~counter~0 12)} {24171#(<= ~counter~0 12)} #63#return; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,732 INFO L290 TraceCheckUtils]: 123: Hoare triple {24171#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,733 INFO L290 TraceCheckUtils]: 124: Hoare triple {24171#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:43,733 INFO L290 TraceCheckUtils]: 125: Hoare triple {24171#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,734 INFO L290 TraceCheckUtils]: 126: Hoare triple {24199#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,734 INFO L272 TraceCheckUtils]: 127: Hoare triple {24199#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,734 INFO L290 TraceCheckUtils]: 128: Hoare triple {24199#(<= ~counter~0 13)} ~cond := #in~cond; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,735 INFO L290 TraceCheckUtils]: 129: Hoare triple {24199#(<= ~counter~0 13)} assume !(0 == ~cond); {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,735 INFO L290 TraceCheckUtils]: 130: Hoare triple {24199#(<= ~counter~0 13)} assume true; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,735 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {24199#(<= ~counter~0 13)} {24199#(<= ~counter~0 13)} #63#return; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,736 INFO L290 TraceCheckUtils]: 132: Hoare triple {24199#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,736 INFO L290 TraceCheckUtils]: 133: Hoare triple {24199#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:43,736 INFO L290 TraceCheckUtils]: 134: Hoare triple {24199#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,737 INFO L290 TraceCheckUtils]: 135: Hoare triple {24227#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,737 INFO L272 TraceCheckUtils]: 136: Hoare triple {24227#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,737 INFO L290 TraceCheckUtils]: 137: Hoare triple {24227#(<= ~counter~0 14)} ~cond := #in~cond; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,738 INFO L290 TraceCheckUtils]: 138: Hoare triple {24227#(<= ~counter~0 14)} assume !(0 == ~cond); {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,738 INFO L290 TraceCheckUtils]: 139: Hoare triple {24227#(<= ~counter~0 14)} assume true; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,739 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {24227#(<= ~counter~0 14)} {24227#(<= ~counter~0 14)} #63#return; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,739 INFO L290 TraceCheckUtils]: 141: Hoare triple {24227#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,739 INFO L290 TraceCheckUtils]: 142: Hoare triple {24227#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:43,740 INFO L290 TraceCheckUtils]: 143: Hoare triple {24227#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,740 INFO L290 TraceCheckUtils]: 144: Hoare triple {24255#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,740 INFO L272 TraceCheckUtils]: 145: Hoare triple {24255#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,741 INFO L290 TraceCheckUtils]: 146: Hoare triple {24255#(<= ~counter~0 15)} ~cond := #in~cond; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,741 INFO L290 TraceCheckUtils]: 147: Hoare triple {24255#(<= ~counter~0 15)} assume !(0 == ~cond); {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,741 INFO L290 TraceCheckUtils]: 148: Hoare triple {24255#(<= ~counter~0 15)} assume true; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,742 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {24255#(<= ~counter~0 15)} {24255#(<= ~counter~0 15)} #63#return; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,742 INFO L290 TraceCheckUtils]: 150: Hoare triple {24255#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,742 INFO L290 TraceCheckUtils]: 151: Hoare triple {24255#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:43,743 INFO L290 TraceCheckUtils]: 152: Hoare triple {24255#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,743 INFO L290 TraceCheckUtils]: 153: Hoare triple {24283#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,743 INFO L272 TraceCheckUtils]: 154: Hoare triple {24283#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,744 INFO L290 TraceCheckUtils]: 155: Hoare triple {24283#(<= ~counter~0 16)} ~cond := #in~cond; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,744 INFO L290 TraceCheckUtils]: 156: Hoare triple {24283#(<= ~counter~0 16)} assume !(0 == ~cond); {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,744 INFO L290 TraceCheckUtils]: 157: Hoare triple {24283#(<= ~counter~0 16)} assume true; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,745 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {24283#(<= ~counter~0 16)} {24283#(<= ~counter~0 16)} #63#return; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,745 INFO L290 TraceCheckUtils]: 159: Hoare triple {24283#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,745 INFO L290 TraceCheckUtils]: 160: Hoare triple {24283#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:43,746 INFO L290 TraceCheckUtils]: 161: Hoare triple {24283#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,746 INFO L290 TraceCheckUtils]: 162: Hoare triple {24311#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,746 INFO L272 TraceCheckUtils]: 163: Hoare triple {24311#(<= ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,747 INFO L290 TraceCheckUtils]: 164: Hoare triple {24311#(<= ~counter~0 17)} ~cond := #in~cond; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,747 INFO L290 TraceCheckUtils]: 165: Hoare triple {24311#(<= ~counter~0 17)} assume !(0 == ~cond); {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,747 INFO L290 TraceCheckUtils]: 166: Hoare triple {24311#(<= ~counter~0 17)} assume true; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,748 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {24311#(<= ~counter~0 17)} {24311#(<= ~counter~0 17)} #63#return; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,748 INFO L290 TraceCheckUtils]: 168: Hoare triple {24311#(<= ~counter~0 17)} assume !!(0 != ~y3~0); {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,748 INFO L290 TraceCheckUtils]: 169: Hoare triple {24311#(<= ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:43,749 INFO L290 TraceCheckUtils]: 170: Hoare triple {24311#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,749 INFO L290 TraceCheckUtils]: 171: Hoare triple {24339#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,750 INFO L272 TraceCheckUtils]: 172: Hoare triple {24339#(<= ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,750 INFO L290 TraceCheckUtils]: 173: Hoare triple {24339#(<= ~counter~0 18)} ~cond := #in~cond; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,750 INFO L290 TraceCheckUtils]: 174: Hoare triple {24339#(<= ~counter~0 18)} assume !(0 == ~cond); {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,750 INFO L290 TraceCheckUtils]: 175: Hoare triple {24339#(<= ~counter~0 18)} assume true; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,751 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {24339#(<= ~counter~0 18)} {24339#(<= ~counter~0 18)} #63#return; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,751 INFO L290 TraceCheckUtils]: 177: Hoare triple {24339#(<= ~counter~0 18)} assume !!(0 != ~y3~0); {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,751 INFO L290 TraceCheckUtils]: 178: Hoare triple {24339#(<= ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:43,752 INFO L290 TraceCheckUtils]: 179: Hoare triple {24339#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24367#(<= |main_#t~post6| 18)} is VALID [2022-04-28 07:17:43,752 INFO L290 TraceCheckUtils]: 180: Hoare triple {24367#(<= |main_#t~post6| 18)} assume !(#t~post6 < 20);havoc #t~post6; {23807#false} is VALID [2022-04-28 07:17:43,752 INFO L272 TraceCheckUtils]: 181: Hoare triple {23807#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {23807#false} is VALID [2022-04-28 07:17:43,752 INFO L290 TraceCheckUtils]: 182: Hoare triple {23807#false} ~cond := #in~cond; {23807#false} is VALID [2022-04-28 07:17:43,752 INFO L290 TraceCheckUtils]: 183: Hoare triple {23807#false} assume 0 == ~cond; {23807#false} is VALID [2022-04-28 07:17:43,752 INFO L290 TraceCheckUtils]: 184: Hoare triple {23807#false} assume !false; {23807#false} is VALID [2022-04-28 07:17:43,753 INFO L134 CoverageAnalysis]: Checked inductivity of 1453 backedges. 36 proven. 1413 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:43,753 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:44,540 INFO L290 TraceCheckUtils]: 184: Hoare triple {23807#false} assume !false; {23807#false} is VALID [2022-04-28 07:17:44,540 INFO L290 TraceCheckUtils]: 183: Hoare triple {23807#false} assume 0 == ~cond; {23807#false} is VALID [2022-04-28 07:17:44,541 INFO L290 TraceCheckUtils]: 182: Hoare triple {23807#false} ~cond := #in~cond; {23807#false} is VALID [2022-04-28 07:17:44,541 INFO L272 TraceCheckUtils]: 181: Hoare triple {23807#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {23807#false} is VALID [2022-04-28 07:17:44,541 INFO L290 TraceCheckUtils]: 180: Hoare triple {24395#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {23807#false} is VALID [2022-04-28 07:17:44,541 INFO L290 TraceCheckUtils]: 179: Hoare triple {24399#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24395#(< |main_#t~post6| 20)} is VALID [2022-04-28 07:17:44,541 INFO L290 TraceCheckUtils]: 178: Hoare triple {24399#(< ~counter~0 20)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24399#(< ~counter~0 20)} is VALID [2022-04-28 07:17:44,542 INFO L290 TraceCheckUtils]: 177: Hoare triple {24399#(< ~counter~0 20)} assume !!(0 != ~y3~0); {24399#(< ~counter~0 20)} is VALID [2022-04-28 07:17:44,542 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {23806#true} {24399#(< ~counter~0 20)} #63#return; {24399#(< ~counter~0 20)} is VALID [2022-04-28 07:17:44,542 INFO L290 TraceCheckUtils]: 175: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,542 INFO L290 TraceCheckUtils]: 174: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,543 INFO L290 TraceCheckUtils]: 173: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,543 INFO L272 TraceCheckUtils]: 172: Hoare triple {24399#(< ~counter~0 20)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,543 INFO L290 TraceCheckUtils]: 171: Hoare triple {24399#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {24399#(< ~counter~0 20)} is VALID [2022-04-28 07:17:44,544 INFO L290 TraceCheckUtils]: 170: Hoare triple {24339#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24399#(< ~counter~0 20)} is VALID [2022-04-28 07:17:44,544 INFO L290 TraceCheckUtils]: 169: Hoare triple {24339#(<= ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:44,544 INFO L290 TraceCheckUtils]: 168: Hoare triple {24339#(<= ~counter~0 18)} assume !!(0 != ~y3~0); {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:44,545 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {23806#true} {24339#(<= ~counter~0 18)} #63#return; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:44,545 INFO L290 TraceCheckUtils]: 166: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,545 INFO L290 TraceCheckUtils]: 165: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,545 INFO L290 TraceCheckUtils]: 164: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,545 INFO L272 TraceCheckUtils]: 163: Hoare triple {24339#(<= ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,545 INFO L290 TraceCheckUtils]: 162: Hoare triple {24339#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:44,546 INFO L290 TraceCheckUtils]: 161: Hoare triple {24311#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24339#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:44,546 INFO L290 TraceCheckUtils]: 160: Hoare triple {24311#(<= ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:44,546 INFO L290 TraceCheckUtils]: 159: Hoare triple {24311#(<= ~counter~0 17)} assume !!(0 != ~y3~0); {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:44,547 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {23806#true} {24311#(<= ~counter~0 17)} #63#return; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:44,547 INFO L290 TraceCheckUtils]: 157: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,547 INFO L290 TraceCheckUtils]: 156: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,547 INFO L290 TraceCheckUtils]: 155: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,547 INFO L272 TraceCheckUtils]: 154: Hoare triple {24311#(<= ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,547 INFO L290 TraceCheckUtils]: 153: Hoare triple {24311#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:44,548 INFO L290 TraceCheckUtils]: 152: Hoare triple {24283#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24311#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:44,548 INFO L290 TraceCheckUtils]: 151: Hoare triple {24283#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:44,548 INFO L290 TraceCheckUtils]: 150: Hoare triple {24283#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:44,549 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {23806#true} {24283#(<= ~counter~0 16)} #63#return; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:44,549 INFO L290 TraceCheckUtils]: 148: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,549 INFO L290 TraceCheckUtils]: 147: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,549 INFO L290 TraceCheckUtils]: 146: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,549 INFO L272 TraceCheckUtils]: 145: Hoare triple {24283#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,549 INFO L290 TraceCheckUtils]: 144: Hoare triple {24283#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:44,550 INFO L290 TraceCheckUtils]: 143: Hoare triple {24255#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24283#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:44,550 INFO L290 TraceCheckUtils]: 142: Hoare triple {24255#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:44,550 INFO L290 TraceCheckUtils]: 141: Hoare triple {24255#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:44,551 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {23806#true} {24255#(<= ~counter~0 15)} #63#return; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:44,551 INFO L290 TraceCheckUtils]: 139: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,551 INFO L290 TraceCheckUtils]: 138: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,551 INFO L290 TraceCheckUtils]: 137: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,551 INFO L272 TraceCheckUtils]: 136: Hoare triple {24255#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,551 INFO L290 TraceCheckUtils]: 135: Hoare triple {24255#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:44,552 INFO L290 TraceCheckUtils]: 134: Hoare triple {24227#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24255#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:44,552 INFO L290 TraceCheckUtils]: 133: Hoare triple {24227#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:44,552 INFO L290 TraceCheckUtils]: 132: Hoare triple {24227#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:44,553 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {23806#true} {24227#(<= ~counter~0 14)} #63#return; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:44,553 INFO L290 TraceCheckUtils]: 130: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,553 INFO L290 TraceCheckUtils]: 129: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,553 INFO L290 TraceCheckUtils]: 128: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,553 INFO L272 TraceCheckUtils]: 127: Hoare triple {24227#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,553 INFO L290 TraceCheckUtils]: 126: Hoare triple {24227#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:44,554 INFO L290 TraceCheckUtils]: 125: Hoare triple {24199#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24227#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:44,554 INFO L290 TraceCheckUtils]: 124: Hoare triple {24199#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:44,554 INFO L290 TraceCheckUtils]: 123: Hoare triple {24199#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:44,555 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {23806#true} {24199#(<= ~counter~0 13)} #63#return; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:44,555 INFO L290 TraceCheckUtils]: 121: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,555 INFO L290 TraceCheckUtils]: 120: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,555 INFO L290 TraceCheckUtils]: 119: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,555 INFO L272 TraceCheckUtils]: 118: Hoare triple {24199#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,555 INFO L290 TraceCheckUtils]: 117: Hoare triple {24199#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:44,556 INFO L290 TraceCheckUtils]: 116: Hoare triple {24171#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24199#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:44,556 INFO L290 TraceCheckUtils]: 115: Hoare triple {24171#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:44,556 INFO L290 TraceCheckUtils]: 114: Hoare triple {24171#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:44,557 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {23806#true} {24171#(<= ~counter~0 12)} #63#return; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:44,557 INFO L290 TraceCheckUtils]: 112: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,557 INFO L290 TraceCheckUtils]: 111: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,557 INFO L290 TraceCheckUtils]: 110: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,557 INFO L272 TraceCheckUtils]: 109: Hoare triple {24171#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,557 INFO L290 TraceCheckUtils]: 108: Hoare triple {24171#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:44,558 INFO L290 TraceCheckUtils]: 107: Hoare triple {24143#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24171#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:44,559 INFO L290 TraceCheckUtils]: 106: Hoare triple {24143#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:44,559 INFO L290 TraceCheckUtils]: 105: Hoare triple {24143#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:44,560 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {23806#true} {24143#(<= ~counter~0 11)} #63#return; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:44,560 INFO L290 TraceCheckUtils]: 103: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,560 INFO L290 TraceCheckUtils]: 102: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,560 INFO L290 TraceCheckUtils]: 101: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,560 INFO L272 TraceCheckUtils]: 100: Hoare triple {24143#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,560 INFO L290 TraceCheckUtils]: 99: Hoare triple {24143#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:44,561 INFO L290 TraceCheckUtils]: 98: Hoare triple {24115#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24143#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:44,561 INFO L290 TraceCheckUtils]: 97: Hoare triple {24115#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:44,562 INFO L290 TraceCheckUtils]: 96: Hoare triple {24115#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:44,562 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {23806#true} {24115#(<= ~counter~0 10)} #63#return; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:44,562 INFO L290 TraceCheckUtils]: 94: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,562 INFO L290 TraceCheckUtils]: 93: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,562 INFO L290 TraceCheckUtils]: 92: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,562 INFO L272 TraceCheckUtils]: 91: Hoare triple {24115#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,563 INFO L290 TraceCheckUtils]: 90: Hoare triple {24115#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:44,563 INFO L290 TraceCheckUtils]: 89: Hoare triple {24087#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24115#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:44,564 INFO L290 TraceCheckUtils]: 88: Hoare triple {24087#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:44,564 INFO L290 TraceCheckUtils]: 87: Hoare triple {24087#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:44,564 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23806#true} {24087#(<= ~counter~0 9)} #63#return; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:44,564 INFO L290 TraceCheckUtils]: 85: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,565 INFO L290 TraceCheckUtils]: 84: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,565 INFO L290 TraceCheckUtils]: 83: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,565 INFO L272 TraceCheckUtils]: 82: Hoare triple {24087#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,565 INFO L290 TraceCheckUtils]: 81: Hoare triple {24087#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:44,565 INFO L290 TraceCheckUtils]: 80: Hoare triple {24059#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24087#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:44,566 INFO L290 TraceCheckUtils]: 79: Hoare triple {24059#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:44,566 INFO L290 TraceCheckUtils]: 78: Hoare triple {24059#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:44,567 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23806#true} {24059#(<= ~counter~0 8)} #63#return; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:44,567 INFO L290 TraceCheckUtils]: 76: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,567 INFO L290 TraceCheckUtils]: 75: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,567 INFO L290 TraceCheckUtils]: 74: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,567 INFO L272 TraceCheckUtils]: 73: Hoare triple {24059#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,567 INFO L290 TraceCheckUtils]: 72: Hoare triple {24059#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:44,568 INFO L290 TraceCheckUtils]: 71: Hoare triple {24031#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24059#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:44,568 INFO L290 TraceCheckUtils]: 70: Hoare triple {24031#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:44,568 INFO L290 TraceCheckUtils]: 69: Hoare triple {24031#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:44,569 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {23806#true} {24031#(<= ~counter~0 7)} #63#return; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:44,569 INFO L290 TraceCheckUtils]: 67: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,569 INFO L290 TraceCheckUtils]: 66: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,569 INFO L290 TraceCheckUtils]: 65: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,569 INFO L272 TraceCheckUtils]: 64: Hoare triple {24031#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,569 INFO L290 TraceCheckUtils]: 63: Hoare triple {24031#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:44,570 INFO L290 TraceCheckUtils]: 62: Hoare triple {24003#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24031#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:44,570 INFO L290 TraceCheckUtils]: 61: Hoare triple {24003#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:44,570 INFO L290 TraceCheckUtils]: 60: Hoare triple {24003#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:44,571 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23806#true} {24003#(<= ~counter~0 6)} #63#return; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:44,571 INFO L290 TraceCheckUtils]: 58: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,571 INFO L290 TraceCheckUtils]: 57: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,571 INFO L290 TraceCheckUtils]: 56: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,571 INFO L272 TraceCheckUtils]: 55: Hoare triple {24003#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,571 INFO L290 TraceCheckUtils]: 54: Hoare triple {24003#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:44,572 INFO L290 TraceCheckUtils]: 53: Hoare triple {23975#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24003#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:44,572 INFO L290 TraceCheckUtils]: 52: Hoare triple {23975#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:44,572 INFO L290 TraceCheckUtils]: 51: Hoare triple {23975#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:44,573 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23806#true} {23975#(<= ~counter~0 5)} #63#return; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:44,573 INFO L290 TraceCheckUtils]: 49: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,573 INFO L290 TraceCheckUtils]: 48: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,573 INFO L290 TraceCheckUtils]: 47: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,573 INFO L272 TraceCheckUtils]: 46: Hoare triple {23975#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,573 INFO L290 TraceCheckUtils]: 45: Hoare triple {23975#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:44,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {23947#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23975#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:44,574 INFO L290 TraceCheckUtils]: 43: Hoare triple {23947#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:44,574 INFO L290 TraceCheckUtils]: 42: Hoare triple {23947#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:44,575 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23806#true} {23947#(<= ~counter~0 4)} #63#return; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:44,575 INFO L290 TraceCheckUtils]: 40: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,575 INFO L290 TraceCheckUtils]: 39: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,575 INFO L290 TraceCheckUtils]: 38: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,575 INFO L272 TraceCheckUtils]: 37: Hoare triple {23947#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,575 INFO L290 TraceCheckUtils]: 36: Hoare triple {23947#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:44,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {23919#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23947#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:44,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {23919#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:44,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {23919#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:44,577 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23806#true} {23919#(<= ~counter~0 3)} #63#return; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:44,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,577 INFO L272 TraceCheckUtils]: 28: Hoare triple {23919#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {23919#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:44,578 INFO L290 TraceCheckUtils]: 26: Hoare triple {23891#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23919#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:44,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {23891#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:44,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {23891#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:44,579 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23806#true} {23891#(<= ~counter~0 2)} #63#return; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:44,579 INFO L290 TraceCheckUtils]: 22: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,579 INFO L290 TraceCheckUtils]: 21: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,579 INFO L272 TraceCheckUtils]: 19: Hoare triple {23891#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,579 INFO L290 TraceCheckUtils]: 18: Hoare triple {23891#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:44,580 INFO L290 TraceCheckUtils]: 17: Hoare triple {23863#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23891#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:44,580 INFO L290 TraceCheckUtils]: 16: Hoare triple {23863#(<= ~counter~0 1)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,581 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23806#true} {23863#(<= ~counter~0 1)} #61#return; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,581 INFO L290 TraceCheckUtils]: 14: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,581 INFO L290 TraceCheckUtils]: 13: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,581 INFO L290 TraceCheckUtils]: 12: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,581 INFO L272 TraceCheckUtils]: 11: Hoare triple {23863#(<= ~counter~0 1)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,581 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23806#true} {23863#(<= ~counter~0 1)} #59#return; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {23806#true} assume true; {23806#true} is VALID [2022-04-28 07:17:44,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {23806#true} assume !(0 == ~cond); {23806#true} is VALID [2022-04-28 07:17:44,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {23806#true} ~cond := #in~cond; {23806#true} is VALID [2022-04-28 07:17:44,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {23863#(<= ~counter~0 1)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {23806#true} is VALID [2022-04-28 07:17:44,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {23863#(<= ~counter~0 1)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {23863#(<= ~counter~0 1)} call #t~ret7 := main(); {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23863#(<= ~counter~0 1)} {23806#true} #67#return; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {23863#(<= ~counter~0 1)} assume true; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {23806#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23863#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:44,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {23806#true} call ULTIMATE.init(); {23806#true} is VALID [2022-04-28 07:17:44,584 INFO L134 CoverageAnalysis]: Checked inductivity of 1453 backedges. 36 proven. 801 refuted. 0 times theorem prover too weak. 616 trivial. 0 not checked. [2022-04-28 07:17:44,584 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:44,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1567453933] [2022-04-28 07:17:44,584 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:44,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [358645843] [2022-04-28 07:17:44,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [358645843] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:44,584 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:44,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 24 [2022-04-28 07:17:44,585 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:44,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [290570166] [2022-04-28 07:17:44,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [290570166] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:44,585 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:44,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 07:17:44,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [604138688] [2022-04-28 07:17:44,585 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:44,585 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) Word has length 185 [2022-04-28 07:17:44,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:44,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 07:17:44,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 182 edges. 182 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:44,731 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 07:17:44,731 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:44,731 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 07:17:44,732 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:17:44,732 INFO L87 Difference]: Start difference. First operand 182 states and 201 transitions. Second operand has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 07:17:45,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:45,429 INFO L93 Difference]: Finished difference Result 196 states and 216 transitions. [2022-04-28 07:17:45,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-28 07:17:45,430 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) Word has length 185 [2022-04-28 07:17:45,430 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:45,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 07:17:45,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 215 transitions. [2022-04-28 07:17:45,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 07:17:45,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 215 transitions. [2022-04-28 07:17:45,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 215 transitions. [2022-04-28 07:17:45,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 215 edges. 215 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:45,577 INFO L225 Difference]: With dead ends: 196 [2022-04-28 07:17:45,577 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 07:17:45,578 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 387 GetRequests, 346 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 191 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=650, Invalid=1072, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 07:17:45,579 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 59 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 108 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 238 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 108 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:45,579 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 238 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 108 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:45,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 07:17:45,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 191. [2022-04-28 07:17:45,795 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:45,795 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 07:17:45,796 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 07:17:45,807 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 07:17:45,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:45,809 INFO L93 Difference]: Finished difference Result 191 states and 211 transitions. [2022-04-28 07:17:45,809 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 211 transitions. [2022-04-28 07:17:45,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:45,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:45,810 INFO L74 IsIncluded]: Start isIncluded. First operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 191 states. [2022-04-28 07:17:45,810 INFO L87 Difference]: Start difference. First operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 191 states. [2022-04-28 07:17:45,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:45,812 INFO L93 Difference]: Finished difference Result 191 states and 211 transitions. [2022-04-28 07:17:45,812 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 211 transitions. [2022-04-28 07:17:45,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:45,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:45,812 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:45,812 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:45,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 07:17:45,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 191 states to 191 states and 211 transitions. [2022-04-28 07:17:45,815 INFO L78 Accepts]: Start accepts. Automaton has 191 states and 211 transitions. Word has length 185 [2022-04-28 07:17:45,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:45,815 INFO L495 AbstractCegarLoop]: Abstraction has 191 states and 211 transitions. [2022-04-28 07:17:45,815 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 07:17:45,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 191 states and 211 transitions. [2022-04-28 07:17:46,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:46,025 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 211 transitions. [2022-04-28 07:17:46,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 195 [2022-04-28 07:17:46,026 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:46,026 INFO L195 NwaCegarLoop]: trace histogram [20, 20, 19, 19, 19, 19, 19, 19, 19, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:46,055 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:46,226 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 07:17:46,227 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:46,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:46,227 INFO L85 PathProgramCache]: Analyzing trace with hash 1522264156, now seen corresponding path program 37 times [2022-04-28 07:17:46,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:46,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1305592999] [2022-04-28 07:17:46,227 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:46,227 INFO L85 PathProgramCache]: Analyzing trace with hash 1522264156, now seen corresponding path program 38 times [2022-04-28 07:17:46,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:46,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040384122] [2022-04-28 07:17:46,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:46,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:46,243 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:46,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1323075425] [2022-04-28 07:17:46,243 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:17:46,243 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:46,243 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:46,244 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:46,245 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 07:17:46,332 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:17:46,332 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:17:46,333 INFO L263 TraceCheckSpWp]: Trace formula consists of 530 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 07:17:46,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:17:46,364 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:17:47,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {26131#true} call ULTIMATE.init(); {26131#true} is VALID [2022-04-28 07:17:47,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {26131#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {26139#(<= ~counter~0 0)} assume true; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26139#(<= ~counter~0 0)} {26131#true} #67#return; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {26139#(<= ~counter~0 0)} call #t~ret7 := main(); {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,281 INFO L290 TraceCheckUtils]: 5: Hoare triple {26139#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,281 INFO L272 TraceCheckUtils]: 6: Hoare triple {26139#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {26139#(<= ~counter~0 0)} ~cond := #in~cond; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,282 INFO L290 TraceCheckUtils]: 8: Hoare triple {26139#(<= ~counter~0 0)} assume !(0 == ~cond); {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,282 INFO L290 TraceCheckUtils]: 9: Hoare triple {26139#(<= ~counter~0 0)} assume true; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26139#(<= ~counter~0 0)} {26139#(<= ~counter~0 0)} #59#return; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,283 INFO L272 TraceCheckUtils]: 11: Hoare triple {26139#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,283 INFO L290 TraceCheckUtils]: 12: Hoare triple {26139#(<= ~counter~0 0)} ~cond := #in~cond; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {26139#(<= ~counter~0 0)} assume !(0 == ~cond); {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {26139#(<= ~counter~0 0)} assume true; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,284 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26139#(<= ~counter~0 0)} {26139#(<= ~counter~0 0)} #61#return; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,285 INFO L290 TraceCheckUtils]: 16: Hoare triple {26139#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:47,285 INFO L290 TraceCheckUtils]: 17: Hoare triple {26139#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,286 INFO L290 TraceCheckUtils]: 18: Hoare triple {26188#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,286 INFO L272 TraceCheckUtils]: 19: Hoare triple {26188#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,286 INFO L290 TraceCheckUtils]: 20: Hoare triple {26188#(<= ~counter~0 1)} ~cond := #in~cond; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,287 INFO L290 TraceCheckUtils]: 21: Hoare triple {26188#(<= ~counter~0 1)} assume !(0 == ~cond); {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,287 INFO L290 TraceCheckUtils]: 22: Hoare triple {26188#(<= ~counter~0 1)} assume true; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,288 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {26188#(<= ~counter~0 1)} {26188#(<= ~counter~0 1)} #63#return; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,288 INFO L290 TraceCheckUtils]: 24: Hoare triple {26188#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,288 INFO L290 TraceCheckUtils]: 25: Hoare triple {26188#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:47,289 INFO L290 TraceCheckUtils]: 26: Hoare triple {26188#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,289 INFO L290 TraceCheckUtils]: 27: Hoare triple {26216#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,289 INFO L272 TraceCheckUtils]: 28: Hoare triple {26216#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,290 INFO L290 TraceCheckUtils]: 29: Hoare triple {26216#(<= ~counter~0 2)} ~cond := #in~cond; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,290 INFO L290 TraceCheckUtils]: 30: Hoare triple {26216#(<= ~counter~0 2)} assume !(0 == ~cond); {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,290 INFO L290 TraceCheckUtils]: 31: Hoare triple {26216#(<= ~counter~0 2)} assume true; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,291 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26216#(<= ~counter~0 2)} {26216#(<= ~counter~0 2)} #63#return; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,291 INFO L290 TraceCheckUtils]: 33: Hoare triple {26216#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,291 INFO L290 TraceCheckUtils]: 34: Hoare triple {26216#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:47,292 INFO L290 TraceCheckUtils]: 35: Hoare triple {26216#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,292 INFO L290 TraceCheckUtils]: 36: Hoare triple {26244#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,292 INFO L272 TraceCheckUtils]: 37: Hoare triple {26244#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,293 INFO L290 TraceCheckUtils]: 38: Hoare triple {26244#(<= ~counter~0 3)} ~cond := #in~cond; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {26244#(<= ~counter~0 3)} assume !(0 == ~cond); {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {26244#(<= ~counter~0 3)} assume true; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,294 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {26244#(<= ~counter~0 3)} {26244#(<= ~counter~0 3)} #63#return; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,294 INFO L290 TraceCheckUtils]: 42: Hoare triple {26244#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,294 INFO L290 TraceCheckUtils]: 43: Hoare triple {26244#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:47,295 INFO L290 TraceCheckUtils]: 44: Hoare triple {26244#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,295 INFO L290 TraceCheckUtils]: 45: Hoare triple {26272#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,296 INFO L272 TraceCheckUtils]: 46: Hoare triple {26272#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,296 INFO L290 TraceCheckUtils]: 47: Hoare triple {26272#(<= ~counter~0 4)} ~cond := #in~cond; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,296 INFO L290 TraceCheckUtils]: 48: Hoare triple {26272#(<= ~counter~0 4)} assume !(0 == ~cond); {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,296 INFO L290 TraceCheckUtils]: 49: Hoare triple {26272#(<= ~counter~0 4)} assume true; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,297 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26272#(<= ~counter~0 4)} {26272#(<= ~counter~0 4)} #63#return; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,297 INFO L290 TraceCheckUtils]: 51: Hoare triple {26272#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,297 INFO L290 TraceCheckUtils]: 52: Hoare triple {26272#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:47,298 INFO L290 TraceCheckUtils]: 53: Hoare triple {26272#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,298 INFO L290 TraceCheckUtils]: 54: Hoare triple {26300#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,299 INFO L272 TraceCheckUtils]: 55: Hoare triple {26300#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,299 INFO L290 TraceCheckUtils]: 56: Hoare triple {26300#(<= ~counter~0 5)} ~cond := #in~cond; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,299 INFO L290 TraceCheckUtils]: 57: Hoare triple {26300#(<= ~counter~0 5)} assume !(0 == ~cond); {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,300 INFO L290 TraceCheckUtils]: 58: Hoare triple {26300#(<= ~counter~0 5)} assume true; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,300 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26300#(<= ~counter~0 5)} {26300#(<= ~counter~0 5)} #63#return; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,300 INFO L290 TraceCheckUtils]: 60: Hoare triple {26300#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,301 INFO L290 TraceCheckUtils]: 61: Hoare triple {26300#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:47,301 INFO L290 TraceCheckUtils]: 62: Hoare triple {26300#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,301 INFO L290 TraceCheckUtils]: 63: Hoare triple {26328#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,302 INFO L272 TraceCheckUtils]: 64: Hoare triple {26328#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,302 INFO L290 TraceCheckUtils]: 65: Hoare triple {26328#(<= ~counter~0 6)} ~cond := #in~cond; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,302 INFO L290 TraceCheckUtils]: 66: Hoare triple {26328#(<= ~counter~0 6)} assume !(0 == ~cond); {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,303 INFO L290 TraceCheckUtils]: 67: Hoare triple {26328#(<= ~counter~0 6)} assume true; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,303 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26328#(<= ~counter~0 6)} {26328#(<= ~counter~0 6)} #63#return; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,303 INFO L290 TraceCheckUtils]: 69: Hoare triple {26328#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,304 INFO L290 TraceCheckUtils]: 70: Hoare triple {26328#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:47,304 INFO L290 TraceCheckUtils]: 71: Hoare triple {26328#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,304 INFO L290 TraceCheckUtils]: 72: Hoare triple {26356#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,305 INFO L272 TraceCheckUtils]: 73: Hoare triple {26356#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,305 INFO L290 TraceCheckUtils]: 74: Hoare triple {26356#(<= ~counter~0 7)} ~cond := #in~cond; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,305 INFO L290 TraceCheckUtils]: 75: Hoare triple {26356#(<= ~counter~0 7)} assume !(0 == ~cond); {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,306 INFO L290 TraceCheckUtils]: 76: Hoare triple {26356#(<= ~counter~0 7)} assume true; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,306 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {26356#(<= ~counter~0 7)} {26356#(<= ~counter~0 7)} #63#return; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,307 INFO L290 TraceCheckUtils]: 78: Hoare triple {26356#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,307 INFO L290 TraceCheckUtils]: 79: Hoare triple {26356#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:47,307 INFO L290 TraceCheckUtils]: 80: Hoare triple {26356#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,308 INFO L290 TraceCheckUtils]: 81: Hoare triple {26384#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,308 INFO L272 TraceCheckUtils]: 82: Hoare triple {26384#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,308 INFO L290 TraceCheckUtils]: 83: Hoare triple {26384#(<= ~counter~0 8)} ~cond := #in~cond; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,309 INFO L290 TraceCheckUtils]: 84: Hoare triple {26384#(<= ~counter~0 8)} assume !(0 == ~cond); {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,309 INFO L290 TraceCheckUtils]: 85: Hoare triple {26384#(<= ~counter~0 8)} assume true; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,309 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26384#(<= ~counter~0 8)} {26384#(<= ~counter~0 8)} #63#return; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,310 INFO L290 TraceCheckUtils]: 87: Hoare triple {26384#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,310 INFO L290 TraceCheckUtils]: 88: Hoare triple {26384#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:47,310 INFO L290 TraceCheckUtils]: 89: Hoare triple {26384#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,311 INFO L290 TraceCheckUtils]: 90: Hoare triple {26412#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,311 INFO L272 TraceCheckUtils]: 91: Hoare triple {26412#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,311 INFO L290 TraceCheckUtils]: 92: Hoare triple {26412#(<= ~counter~0 9)} ~cond := #in~cond; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,312 INFO L290 TraceCheckUtils]: 93: Hoare triple {26412#(<= ~counter~0 9)} assume !(0 == ~cond); {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,312 INFO L290 TraceCheckUtils]: 94: Hoare triple {26412#(<= ~counter~0 9)} assume true; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,312 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {26412#(<= ~counter~0 9)} {26412#(<= ~counter~0 9)} #63#return; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,313 INFO L290 TraceCheckUtils]: 96: Hoare triple {26412#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,313 INFO L290 TraceCheckUtils]: 97: Hoare triple {26412#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:47,314 INFO L290 TraceCheckUtils]: 98: Hoare triple {26412#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,314 INFO L290 TraceCheckUtils]: 99: Hoare triple {26440#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,314 INFO L272 TraceCheckUtils]: 100: Hoare triple {26440#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,315 INFO L290 TraceCheckUtils]: 101: Hoare triple {26440#(<= ~counter~0 10)} ~cond := #in~cond; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,315 INFO L290 TraceCheckUtils]: 102: Hoare triple {26440#(<= ~counter~0 10)} assume !(0 == ~cond); {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,315 INFO L290 TraceCheckUtils]: 103: Hoare triple {26440#(<= ~counter~0 10)} assume true; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,316 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {26440#(<= ~counter~0 10)} {26440#(<= ~counter~0 10)} #63#return; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,316 INFO L290 TraceCheckUtils]: 105: Hoare triple {26440#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,316 INFO L290 TraceCheckUtils]: 106: Hoare triple {26440#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:47,317 INFO L290 TraceCheckUtils]: 107: Hoare triple {26440#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,317 INFO L290 TraceCheckUtils]: 108: Hoare triple {26468#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,317 INFO L272 TraceCheckUtils]: 109: Hoare triple {26468#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,318 INFO L290 TraceCheckUtils]: 110: Hoare triple {26468#(<= ~counter~0 11)} ~cond := #in~cond; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,318 INFO L290 TraceCheckUtils]: 111: Hoare triple {26468#(<= ~counter~0 11)} assume !(0 == ~cond); {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,318 INFO L290 TraceCheckUtils]: 112: Hoare triple {26468#(<= ~counter~0 11)} assume true; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,319 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {26468#(<= ~counter~0 11)} {26468#(<= ~counter~0 11)} #63#return; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,319 INFO L290 TraceCheckUtils]: 114: Hoare triple {26468#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,319 INFO L290 TraceCheckUtils]: 115: Hoare triple {26468#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:47,320 INFO L290 TraceCheckUtils]: 116: Hoare triple {26468#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,320 INFO L290 TraceCheckUtils]: 117: Hoare triple {26496#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,321 INFO L272 TraceCheckUtils]: 118: Hoare triple {26496#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,321 INFO L290 TraceCheckUtils]: 119: Hoare triple {26496#(<= ~counter~0 12)} ~cond := #in~cond; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,321 INFO L290 TraceCheckUtils]: 120: Hoare triple {26496#(<= ~counter~0 12)} assume !(0 == ~cond); {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,321 INFO L290 TraceCheckUtils]: 121: Hoare triple {26496#(<= ~counter~0 12)} assume true; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,322 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {26496#(<= ~counter~0 12)} {26496#(<= ~counter~0 12)} #63#return; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,322 INFO L290 TraceCheckUtils]: 123: Hoare triple {26496#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,322 INFO L290 TraceCheckUtils]: 124: Hoare triple {26496#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:47,323 INFO L290 TraceCheckUtils]: 125: Hoare triple {26496#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,323 INFO L290 TraceCheckUtils]: 126: Hoare triple {26524#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,324 INFO L272 TraceCheckUtils]: 127: Hoare triple {26524#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,324 INFO L290 TraceCheckUtils]: 128: Hoare triple {26524#(<= ~counter~0 13)} ~cond := #in~cond; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,324 INFO L290 TraceCheckUtils]: 129: Hoare triple {26524#(<= ~counter~0 13)} assume !(0 == ~cond); {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,324 INFO L290 TraceCheckUtils]: 130: Hoare triple {26524#(<= ~counter~0 13)} assume true; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,325 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {26524#(<= ~counter~0 13)} {26524#(<= ~counter~0 13)} #63#return; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,325 INFO L290 TraceCheckUtils]: 132: Hoare triple {26524#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,326 INFO L290 TraceCheckUtils]: 133: Hoare triple {26524#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:47,326 INFO L290 TraceCheckUtils]: 134: Hoare triple {26524#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,326 INFO L290 TraceCheckUtils]: 135: Hoare triple {26552#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,327 INFO L272 TraceCheckUtils]: 136: Hoare triple {26552#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,327 INFO L290 TraceCheckUtils]: 137: Hoare triple {26552#(<= ~counter~0 14)} ~cond := #in~cond; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,327 INFO L290 TraceCheckUtils]: 138: Hoare triple {26552#(<= ~counter~0 14)} assume !(0 == ~cond); {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,328 INFO L290 TraceCheckUtils]: 139: Hoare triple {26552#(<= ~counter~0 14)} assume true; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,328 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {26552#(<= ~counter~0 14)} {26552#(<= ~counter~0 14)} #63#return; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,328 INFO L290 TraceCheckUtils]: 141: Hoare triple {26552#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,329 INFO L290 TraceCheckUtils]: 142: Hoare triple {26552#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:47,329 INFO L290 TraceCheckUtils]: 143: Hoare triple {26552#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,329 INFO L290 TraceCheckUtils]: 144: Hoare triple {26580#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,330 INFO L272 TraceCheckUtils]: 145: Hoare triple {26580#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,330 INFO L290 TraceCheckUtils]: 146: Hoare triple {26580#(<= ~counter~0 15)} ~cond := #in~cond; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,330 INFO L290 TraceCheckUtils]: 147: Hoare triple {26580#(<= ~counter~0 15)} assume !(0 == ~cond); {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,331 INFO L290 TraceCheckUtils]: 148: Hoare triple {26580#(<= ~counter~0 15)} assume true; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,331 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {26580#(<= ~counter~0 15)} {26580#(<= ~counter~0 15)} #63#return; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,332 INFO L290 TraceCheckUtils]: 150: Hoare triple {26580#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,332 INFO L290 TraceCheckUtils]: 151: Hoare triple {26580#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:47,332 INFO L290 TraceCheckUtils]: 152: Hoare triple {26580#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,333 INFO L290 TraceCheckUtils]: 153: Hoare triple {26608#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,333 INFO L272 TraceCheckUtils]: 154: Hoare triple {26608#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,333 INFO L290 TraceCheckUtils]: 155: Hoare triple {26608#(<= ~counter~0 16)} ~cond := #in~cond; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,334 INFO L290 TraceCheckUtils]: 156: Hoare triple {26608#(<= ~counter~0 16)} assume !(0 == ~cond); {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,334 INFO L290 TraceCheckUtils]: 157: Hoare triple {26608#(<= ~counter~0 16)} assume true; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,342 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {26608#(<= ~counter~0 16)} {26608#(<= ~counter~0 16)} #63#return; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,342 INFO L290 TraceCheckUtils]: 159: Hoare triple {26608#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,342 INFO L290 TraceCheckUtils]: 160: Hoare triple {26608#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:47,343 INFO L290 TraceCheckUtils]: 161: Hoare triple {26608#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,343 INFO L290 TraceCheckUtils]: 162: Hoare triple {26636#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,344 INFO L272 TraceCheckUtils]: 163: Hoare triple {26636#(<= ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,344 INFO L290 TraceCheckUtils]: 164: Hoare triple {26636#(<= ~counter~0 17)} ~cond := #in~cond; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,344 INFO L290 TraceCheckUtils]: 165: Hoare triple {26636#(<= ~counter~0 17)} assume !(0 == ~cond); {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,345 INFO L290 TraceCheckUtils]: 166: Hoare triple {26636#(<= ~counter~0 17)} assume true; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,345 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {26636#(<= ~counter~0 17)} {26636#(<= ~counter~0 17)} #63#return; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,346 INFO L290 TraceCheckUtils]: 168: Hoare triple {26636#(<= ~counter~0 17)} assume !!(0 != ~y3~0); {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,346 INFO L290 TraceCheckUtils]: 169: Hoare triple {26636#(<= ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:47,346 INFO L290 TraceCheckUtils]: 170: Hoare triple {26636#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,347 INFO L290 TraceCheckUtils]: 171: Hoare triple {26664#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,347 INFO L272 TraceCheckUtils]: 172: Hoare triple {26664#(<= ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,348 INFO L290 TraceCheckUtils]: 173: Hoare triple {26664#(<= ~counter~0 18)} ~cond := #in~cond; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,348 INFO L290 TraceCheckUtils]: 174: Hoare triple {26664#(<= ~counter~0 18)} assume !(0 == ~cond); {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,348 INFO L290 TraceCheckUtils]: 175: Hoare triple {26664#(<= ~counter~0 18)} assume true; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,349 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {26664#(<= ~counter~0 18)} {26664#(<= ~counter~0 18)} #63#return; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,349 INFO L290 TraceCheckUtils]: 177: Hoare triple {26664#(<= ~counter~0 18)} assume !!(0 != ~y3~0); {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,349 INFO L290 TraceCheckUtils]: 178: Hoare triple {26664#(<= ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:47,350 INFO L290 TraceCheckUtils]: 179: Hoare triple {26664#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,350 INFO L290 TraceCheckUtils]: 180: Hoare triple {26692#(<= ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,351 INFO L272 TraceCheckUtils]: 181: Hoare triple {26692#(<= ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,351 INFO L290 TraceCheckUtils]: 182: Hoare triple {26692#(<= ~counter~0 19)} ~cond := #in~cond; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,351 INFO L290 TraceCheckUtils]: 183: Hoare triple {26692#(<= ~counter~0 19)} assume !(0 == ~cond); {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,352 INFO L290 TraceCheckUtils]: 184: Hoare triple {26692#(<= ~counter~0 19)} assume true; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,352 INFO L284 TraceCheckUtils]: 185: Hoare quadruple {26692#(<= ~counter~0 19)} {26692#(<= ~counter~0 19)} #63#return; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,352 INFO L290 TraceCheckUtils]: 186: Hoare triple {26692#(<= ~counter~0 19)} assume !!(0 != ~y3~0); {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,353 INFO L290 TraceCheckUtils]: 187: Hoare triple {26692#(<= ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:47,353 INFO L290 TraceCheckUtils]: 188: Hoare triple {26692#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26720#(<= |main_#t~post6| 19)} is VALID [2022-04-28 07:17:47,353 INFO L290 TraceCheckUtils]: 189: Hoare triple {26720#(<= |main_#t~post6| 19)} assume !(#t~post6 < 20);havoc #t~post6; {26132#false} is VALID [2022-04-28 07:17:47,354 INFO L272 TraceCheckUtils]: 190: Hoare triple {26132#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {26132#false} is VALID [2022-04-28 07:17:47,354 INFO L290 TraceCheckUtils]: 191: Hoare triple {26132#false} ~cond := #in~cond; {26132#false} is VALID [2022-04-28 07:17:47,354 INFO L290 TraceCheckUtils]: 192: Hoare triple {26132#false} assume 0 == ~cond; {26132#false} is VALID [2022-04-28 07:17:47,354 INFO L290 TraceCheckUtils]: 193: Hoare triple {26132#false} assume !false; {26132#false} is VALID [2022-04-28 07:17:47,355 INFO L134 CoverageAnalysis]: Checked inductivity of 1619 backedges. 38 proven. 1577 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:17:47,355 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:17:48,140 INFO L290 TraceCheckUtils]: 193: Hoare triple {26132#false} assume !false; {26132#false} is VALID [2022-04-28 07:17:48,140 INFO L290 TraceCheckUtils]: 192: Hoare triple {26132#false} assume 0 == ~cond; {26132#false} is VALID [2022-04-28 07:17:48,140 INFO L290 TraceCheckUtils]: 191: Hoare triple {26132#false} ~cond := #in~cond; {26132#false} is VALID [2022-04-28 07:17:48,140 INFO L272 TraceCheckUtils]: 190: Hoare triple {26132#false} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 == ~x1~0 then 1 else 0)); {26132#false} is VALID [2022-04-28 07:17:48,140 INFO L290 TraceCheckUtils]: 189: Hoare triple {26720#(<= |main_#t~post6| 19)} assume !(#t~post6 < 20);havoc #t~post6; {26132#false} is VALID [2022-04-28 07:17:48,141 INFO L290 TraceCheckUtils]: 188: Hoare triple {26692#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26720#(<= |main_#t~post6| 19)} is VALID [2022-04-28 07:17:48,141 INFO L290 TraceCheckUtils]: 187: Hoare triple {26692#(<= ~counter~0 19)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:48,141 INFO L290 TraceCheckUtils]: 186: Hoare triple {26692#(<= ~counter~0 19)} assume !!(0 != ~y3~0); {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:48,142 INFO L284 TraceCheckUtils]: 185: Hoare quadruple {26131#true} {26692#(<= ~counter~0 19)} #63#return; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:48,142 INFO L290 TraceCheckUtils]: 184: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,142 INFO L290 TraceCheckUtils]: 183: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,142 INFO L290 TraceCheckUtils]: 182: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,142 INFO L272 TraceCheckUtils]: 181: Hoare triple {26692#(<= ~counter~0 19)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,142 INFO L290 TraceCheckUtils]: 180: Hoare triple {26692#(<= ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:48,143 INFO L290 TraceCheckUtils]: 179: Hoare triple {26664#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26692#(<= ~counter~0 19)} is VALID [2022-04-28 07:17:48,144 INFO L290 TraceCheckUtils]: 178: Hoare triple {26664#(<= ~counter~0 18)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:48,144 INFO L290 TraceCheckUtils]: 177: Hoare triple {26664#(<= ~counter~0 18)} assume !!(0 != ~y3~0); {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:48,144 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {26131#true} {26664#(<= ~counter~0 18)} #63#return; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:48,144 INFO L290 TraceCheckUtils]: 175: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,144 INFO L290 TraceCheckUtils]: 174: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,144 INFO L290 TraceCheckUtils]: 173: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,145 INFO L272 TraceCheckUtils]: 172: Hoare triple {26664#(<= ~counter~0 18)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,145 INFO L290 TraceCheckUtils]: 171: Hoare triple {26664#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:48,145 INFO L290 TraceCheckUtils]: 170: Hoare triple {26636#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26664#(<= ~counter~0 18)} is VALID [2022-04-28 07:17:48,146 INFO L290 TraceCheckUtils]: 169: Hoare triple {26636#(<= ~counter~0 17)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:48,146 INFO L290 TraceCheckUtils]: 168: Hoare triple {26636#(<= ~counter~0 17)} assume !!(0 != ~y3~0); {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:48,146 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {26131#true} {26636#(<= ~counter~0 17)} #63#return; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:48,146 INFO L290 TraceCheckUtils]: 166: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,146 INFO L290 TraceCheckUtils]: 165: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,147 INFO L290 TraceCheckUtils]: 164: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,147 INFO L272 TraceCheckUtils]: 163: Hoare triple {26636#(<= ~counter~0 17)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,147 INFO L290 TraceCheckUtils]: 162: Hoare triple {26636#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:48,147 INFO L290 TraceCheckUtils]: 161: Hoare triple {26608#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26636#(<= ~counter~0 17)} is VALID [2022-04-28 07:17:48,148 INFO L290 TraceCheckUtils]: 160: Hoare triple {26608#(<= ~counter~0 16)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:48,148 INFO L290 TraceCheckUtils]: 159: Hoare triple {26608#(<= ~counter~0 16)} assume !!(0 != ~y3~0); {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:48,148 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {26131#true} {26608#(<= ~counter~0 16)} #63#return; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:48,148 INFO L290 TraceCheckUtils]: 157: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,149 INFO L290 TraceCheckUtils]: 156: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,149 INFO L290 TraceCheckUtils]: 155: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,149 INFO L272 TraceCheckUtils]: 154: Hoare triple {26608#(<= ~counter~0 16)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,149 INFO L290 TraceCheckUtils]: 153: Hoare triple {26608#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:48,149 INFO L290 TraceCheckUtils]: 152: Hoare triple {26580#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26608#(<= ~counter~0 16)} is VALID [2022-04-28 07:17:48,150 INFO L290 TraceCheckUtils]: 151: Hoare triple {26580#(<= ~counter~0 15)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:48,150 INFO L290 TraceCheckUtils]: 150: Hoare triple {26580#(<= ~counter~0 15)} assume !!(0 != ~y3~0); {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:48,150 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {26131#true} {26580#(<= ~counter~0 15)} #63#return; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:48,151 INFO L290 TraceCheckUtils]: 148: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,151 INFO L290 TraceCheckUtils]: 147: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,151 INFO L290 TraceCheckUtils]: 146: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,151 INFO L272 TraceCheckUtils]: 145: Hoare triple {26580#(<= ~counter~0 15)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,154 INFO L290 TraceCheckUtils]: 144: Hoare triple {26580#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:48,154 INFO L290 TraceCheckUtils]: 143: Hoare triple {26552#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26580#(<= ~counter~0 15)} is VALID [2022-04-28 07:17:48,155 INFO L290 TraceCheckUtils]: 142: Hoare triple {26552#(<= ~counter~0 14)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:48,155 INFO L290 TraceCheckUtils]: 141: Hoare triple {26552#(<= ~counter~0 14)} assume !!(0 != ~y3~0); {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:48,156 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {26131#true} {26552#(<= ~counter~0 14)} #63#return; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:48,156 INFO L290 TraceCheckUtils]: 139: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,156 INFO L290 TraceCheckUtils]: 138: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,156 INFO L290 TraceCheckUtils]: 137: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,156 INFO L272 TraceCheckUtils]: 136: Hoare triple {26552#(<= ~counter~0 14)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,156 INFO L290 TraceCheckUtils]: 135: Hoare triple {26552#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:48,157 INFO L290 TraceCheckUtils]: 134: Hoare triple {26524#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26552#(<= ~counter~0 14)} is VALID [2022-04-28 07:17:48,157 INFO L290 TraceCheckUtils]: 133: Hoare triple {26524#(<= ~counter~0 13)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:48,157 INFO L290 TraceCheckUtils]: 132: Hoare triple {26524#(<= ~counter~0 13)} assume !!(0 != ~y3~0); {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:48,158 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {26131#true} {26524#(<= ~counter~0 13)} #63#return; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:48,158 INFO L290 TraceCheckUtils]: 130: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,158 INFO L290 TraceCheckUtils]: 129: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,158 INFO L290 TraceCheckUtils]: 128: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,158 INFO L272 TraceCheckUtils]: 127: Hoare triple {26524#(<= ~counter~0 13)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,167 INFO L290 TraceCheckUtils]: 126: Hoare triple {26524#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:48,168 INFO L290 TraceCheckUtils]: 125: Hoare triple {26496#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26524#(<= ~counter~0 13)} is VALID [2022-04-28 07:17:48,168 INFO L290 TraceCheckUtils]: 124: Hoare triple {26496#(<= ~counter~0 12)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:48,169 INFO L290 TraceCheckUtils]: 123: Hoare triple {26496#(<= ~counter~0 12)} assume !!(0 != ~y3~0); {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:48,169 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {26131#true} {26496#(<= ~counter~0 12)} #63#return; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:48,169 INFO L290 TraceCheckUtils]: 121: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,169 INFO L290 TraceCheckUtils]: 120: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,169 INFO L290 TraceCheckUtils]: 119: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,170 INFO L272 TraceCheckUtils]: 118: Hoare triple {26496#(<= ~counter~0 12)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,170 INFO L290 TraceCheckUtils]: 117: Hoare triple {26496#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:48,170 INFO L290 TraceCheckUtils]: 116: Hoare triple {26468#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26496#(<= ~counter~0 12)} is VALID [2022-04-28 07:17:48,171 INFO L290 TraceCheckUtils]: 115: Hoare triple {26468#(<= ~counter~0 11)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:48,171 INFO L290 TraceCheckUtils]: 114: Hoare triple {26468#(<= ~counter~0 11)} assume !!(0 != ~y3~0); {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:48,172 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {26131#true} {26468#(<= ~counter~0 11)} #63#return; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:48,172 INFO L290 TraceCheckUtils]: 112: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,172 INFO L290 TraceCheckUtils]: 111: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,172 INFO L290 TraceCheckUtils]: 110: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,172 INFO L272 TraceCheckUtils]: 109: Hoare triple {26468#(<= ~counter~0 11)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,172 INFO L290 TraceCheckUtils]: 108: Hoare triple {26468#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:48,173 INFO L290 TraceCheckUtils]: 107: Hoare triple {26440#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26468#(<= ~counter~0 11)} is VALID [2022-04-28 07:17:48,173 INFO L290 TraceCheckUtils]: 106: Hoare triple {26440#(<= ~counter~0 10)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:48,174 INFO L290 TraceCheckUtils]: 105: Hoare triple {26440#(<= ~counter~0 10)} assume !!(0 != ~y3~0); {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:48,174 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {26131#true} {26440#(<= ~counter~0 10)} #63#return; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:48,174 INFO L290 TraceCheckUtils]: 103: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,174 INFO L290 TraceCheckUtils]: 102: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,174 INFO L290 TraceCheckUtils]: 101: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,174 INFO L272 TraceCheckUtils]: 100: Hoare triple {26440#(<= ~counter~0 10)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,175 INFO L290 TraceCheckUtils]: 99: Hoare triple {26440#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:48,175 INFO L290 TraceCheckUtils]: 98: Hoare triple {26412#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26440#(<= ~counter~0 10)} is VALID [2022-04-28 07:17:48,176 INFO L290 TraceCheckUtils]: 97: Hoare triple {26412#(<= ~counter~0 9)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:48,176 INFO L290 TraceCheckUtils]: 96: Hoare triple {26412#(<= ~counter~0 9)} assume !!(0 != ~y3~0); {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:48,177 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {26131#true} {26412#(<= ~counter~0 9)} #63#return; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:48,177 INFO L290 TraceCheckUtils]: 94: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,177 INFO L290 TraceCheckUtils]: 93: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,177 INFO L290 TraceCheckUtils]: 92: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,177 INFO L272 TraceCheckUtils]: 91: Hoare triple {26412#(<= ~counter~0 9)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,177 INFO L290 TraceCheckUtils]: 90: Hoare triple {26412#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:48,178 INFO L290 TraceCheckUtils]: 89: Hoare triple {26384#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26412#(<= ~counter~0 9)} is VALID [2022-04-28 07:17:48,178 INFO L290 TraceCheckUtils]: 88: Hoare triple {26384#(<= ~counter~0 8)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:48,178 INFO L290 TraceCheckUtils]: 87: Hoare triple {26384#(<= ~counter~0 8)} assume !!(0 != ~y3~0); {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:48,179 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26131#true} {26384#(<= ~counter~0 8)} #63#return; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:48,179 INFO L290 TraceCheckUtils]: 85: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,179 INFO L290 TraceCheckUtils]: 84: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,179 INFO L290 TraceCheckUtils]: 83: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,179 INFO L272 TraceCheckUtils]: 82: Hoare triple {26384#(<= ~counter~0 8)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,180 INFO L290 TraceCheckUtils]: 81: Hoare triple {26384#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:48,180 INFO L290 TraceCheckUtils]: 80: Hoare triple {26356#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26384#(<= ~counter~0 8)} is VALID [2022-04-28 07:17:48,181 INFO L290 TraceCheckUtils]: 79: Hoare triple {26356#(<= ~counter~0 7)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:48,181 INFO L290 TraceCheckUtils]: 78: Hoare triple {26356#(<= ~counter~0 7)} assume !!(0 != ~y3~0); {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:48,182 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {26131#true} {26356#(<= ~counter~0 7)} #63#return; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:48,182 INFO L290 TraceCheckUtils]: 76: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,182 INFO L290 TraceCheckUtils]: 75: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,182 INFO L290 TraceCheckUtils]: 74: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,182 INFO L272 TraceCheckUtils]: 73: Hoare triple {26356#(<= ~counter~0 7)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,182 INFO L290 TraceCheckUtils]: 72: Hoare triple {26356#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:48,183 INFO L290 TraceCheckUtils]: 71: Hoare triple {26328#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26356#(<= ~counter~0 7)} is VALID [2022-04-28 07:17:48,183 INFO L290 TraceCheckUtils]: 70: Hoare triple {26328#(<= ~counter~0 6)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:48,183 INFO L290 TraceCheckUtils]: 69: Hoare triple {26328#(<= ~counter~0 6)} assume !!(0 != ~y3~0); {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:48,184 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26131#true} {26328#(<= ~counter~0 6)} #63#return; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:48,184 INFO L290 TraceCheckUtils]: 67: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,184 INFO L290 TraceCheckUtils]: 66: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,184 INFO L290 TraceCheckUtils]: 65: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,184 INFO L272 TraceCheckUtils]: 64: Hoare triple {26328#(<= ~counter~0 6)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,185 INFO L290 TraceCheckUtils]: 63: Hoare triple {26328#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:48,185 INFO L290 TraceCheckUtils]: 62: Hoare triple {26300#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26328#(<= ~counter~0 6)} is VALID [2022-04-28 07:17:48,186 INFO L290 TraceCheckUtils]: 61: Hoare triple {26300#(<= ~counter~0 5)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:48,186 INFO L290 TraceCheckUtils]: 60: Hoare triple {26300#(<= ~counter~0 5)} assume !!(0 != ~y3~0); {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:48,186 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26131#true} {26300#(<= ~counter~0 5)} #63#return; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:48,187 INFO L290 TraceCheckUtils]: 58: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,187 INFO L290 TraceCheckUtils]: 57: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,187 INFO L290 TraceCheckUtils]: 56: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,187 INFO L272 TraceCheckUtils]: 55: Hoare triple {26300#(<= ~counter~0 5)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,187 INFO L290 TraceCheckUtils]: 54: Hoare triple {26300#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:48,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {26272#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26300#(<= ~counter~0 5)} is VALID [2022-04-28 07:17:48,188 INFO L290 TraceCheckUtils]: 52: Hoare triple {26272#(<= ~counter~0 4)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:48,188 INFO L290 TraceCheckUtils]: 51: Hoare triple {26272#(<= ~counter~0 4)} assume !!(0 != ~y3~0); {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:48,189 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26131#true} {26272#(<= ~counter~0 4)} #63#return; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:48,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,189 INFO L290 TraceCheckUtils]: 48: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,189 INFO L290 TraceCheckUtils]: 47: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,189 INFO L272 TraceCheckUtils]: 46: Hoare triple {26272#(<= ~counter~0 4)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,189 INFO L290 TraceCheckUtils]: 45: Hoare triple {26272#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:48,190 INFO L290 TraceCheckUtils]: 44: Hoare triple {26244#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26272#(<= ~counter~0 4)} is VALID [2022-04-28 07:17:48,190 INFO L290 TraceCheckUtils]: 43: Hoare triple {26244#(<= ~counter~0 3)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:48,190 INFO L290 TraceCheckUtils]: 42: Hoare triple {26244#(<= ~counter~0 3)} assume !!(0 != ~y3~0); {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:48,191 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {26131#true} {26244#(<= ~counter~0 3)} #63#return; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:48,191 INFO L290 TraceCheckUtils]: 40: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,191 INFO L290 TraceCheckUtils]: 39: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,191 INFO L290 TraceCheckUtils]: 38: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,191 INFO L272 TraceCheckUtils]: 37: Hoare triple {26244#(<= ~counter~0 3)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,192 INFO L290 TraceCheckUtils]: 36: Hoare triple {26244#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:48,192 INFO L290 TraceCheckUtils]: 35: Hoare triple {26216#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26244#(<= ~counter~0 3)} is VALID [2022-04-28 07:17:48,192 INFO L290 TraceCheckUtils]: 34: Hoare triple {26216#(<= ~counter~0 2)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:48,193 INFO L290 TraceCheckUtils]: 33: Hoare triple {26216#(<= ~counter~0 2)} assume !!(0 != ~y3~0); {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:48,193 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26131#true} {26216#(<= ~counter~0 2)} #63#return; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:48,193 INFO L290 TraceCheckUtils]: 31: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,193 INFO L290 TraceCheckUtils]: 30: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,193 INFO L290 TraceCheckUtils]: 29: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,193 INFO L272 TraceCheckUtils]: 28: Hoare triple {26216#(<= ~counter~0 2)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,194 INFO L290 TraceCheckUtils]: 27: Hoare triple {26216#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:48,194 INFO L290 TraceCheckUtils]: 26: Hoare triple {26188#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26216#(<= ~counter~0 2)} is VALID [2022-04-28 07:17:48,195 INFO L290 TraceCheckUtils]: 25: Hoare triple {26188#(<= ~counter~0 1)} assume 1 + ~y2~0 == ~x2~0;~y1~0 := 1 + ~y1~0;~y2~0 := 0;~y3~0 := ~y3~0 - 1; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:48,195 INFO L290 TraceCheckUtils]: 24: Hoare triple {26188#(<= ~counter~0 1)} assume !!(0 != ~y3~0); {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:48,195 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {26131#true} {26188#(<= ~counter~0 1)} #63#return; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:48,195 INFO L290 TraceCheckUtils]: 22: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,196 INFO L290 TraceCheckUtils]: 20: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,196 INFO L272 TraceCheckUtils]: 19: Hoare triple {26188#(<= ~counter~0 1)} call __VERIFIER_assert((if ~y1~0 * ~x2~0 + ~y2~0 + ~y3~0 == ~x1~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {26188#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:48,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {26139#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26188#(<= ~counter~0 1)} is VALID [2022-04-28 07:17:48,197 INFO L290 TraceCheckUtils]: 16: Hoare triple {26139#(<= ~counter~0 0)} ~y1~0 := 0;~y2~0 := 0;~y3~0 := ~x1~0; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,197 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26131#true} {26139#(<= ~counter~0 0)} #61#return; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,197 INFO L290 TraceCheckUtils]: 12: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,197 INFO L272 TraceCheckUtils]: 11: Hoare triple {26139#(<= ~counter~0 0)} call assume_abort_if_not((if 0 != ~x2~0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,198 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26131#true} {26139#(<= ~counter~0 0)} #59#return; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {26131#true} assume true; {26131#true} is VALID [2022-04-28 07:17:48,198 INFO L290 TraceCheckUtils]: 8: Hoare triple {26131#true} assume !(0 == ~cond); {26131#true} is VALID [2022-04-28 07:17:48,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {26131#true} ~cond := #in~cond; {26131#true} is VALID [2022-04-28 07:17:48,198 INFO L272 TraceCheckUtils]: 6: Hoare triple {26139#(<= ~counter~0 0)} call assume_abort_if_not((if ~x1~0 >= 0 then 1 else 0)); {26131#true} is VALID [2022-04-28 07:17:48,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {26139#(<= ~counter~0 0)} havoc ~x1~0;havoc ~x2~0;havoc ~y1~0;havoc ~y2~0;havoc ~y3~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x1~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~x2~0 := #t~nondet5;havoc #t~nondet5; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {26139#(<= ~counter~0 0)} call #t~ret7 := main(); {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26139#(<= ~counter~0 0)} {26131#true} #67#return; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {26139#(<= ~counter~0 0)} assume true; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {26131#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {26139#(<= ~counter~0 0)} is VALID [2022-04-28 07:17:48,200 INFO L272 TraceCheckUtils]: 0: Hoare triple {26131#true} call ULTIMATE.init(); {26131#true} is VALID [2022-04-28 07:17:48,201 INFO L134 CoverageAnalysis]: Checked inductivity of 1619 backedges. 38 proven. 893 refuted. 0 times theorem prover too weak. 688 trivial. 0 not checked. [2022-04-28 07:17:48,201 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:17:48,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2040384122] [2022-04-28 07:17:48,201 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:17:48,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1323075425] [2022-04-28 07:17:48,201 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1323075425] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:17:48,201 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:17:48,201 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 23 [2022-04-28 07:17:48,201 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:17:48,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1305592999] [2022-04-28 07:17:48,201 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1305592999] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:17:48,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:17:48,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 07:17:48,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1995209460] [2022-04-28 07:17:48,202 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:17:48,203 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) Word has length 194 [2022-04-28 07:17:48,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:17:48,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 07:17:48,332 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:48,333 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 07:17:48,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:48,333 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 07:17:48,333 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=233, Invalid=273, Unknown=0, NotChecked=0, Total=506 [2022-04-28 07:17:48,333 INFO L87 Difference]: Start difference. First operand 191 states and 211 transitions. Second operand has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 07:17:49,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:49,121 INFO L93 Difference]: Finished difference Result 205 states and 226 transitions. [2022-04-28 07:17:49,121 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-04-28 07:17:49,121 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) Word has length 194 [2022-04-28 07:17:49,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:17:49,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 07:17:49,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 225 transitions. [2022-04-28 07:17:49,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 07:17:49,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 225 transitions. [2022-04-28 07:17:49,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 225 transitions. [2022-04-28 07:17:49,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 225 edges. 225 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:49,284 INFO L225 Difference]: With dead ends: 205 [2022-04-28 07:17:49,284 INFO L226 Difference]: Without dead ends: 200 [2022-04-28 07:17:49,285 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 406 GetRequests, 365 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 209 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=651, Invalid=1071, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 07:17:49,285 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 82 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:17:49,285 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [82 Valid, 222 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:17:49,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-28 07:17:49,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 200. [2022-04-28 07:17:49,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:17:49,511 INFO L82 GeneralOperation]: Start isEquivalent. First operand 200 states. Second operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 07:17:49,511 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 07:17:49,511 INFO L87 Difference]: Start difference. First operand 200 states. Second operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 07:17:49,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:49,513 INFO L93 Difference]: Finished difference Result 200 states and 221 transitions. [2022-04-28 07:17:49,513 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 221 transitions. [2022-04-28 07:17:49,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:49,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:49,514 INFO L74 IsIncluded]: Start isIncluded. First operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 200 states. [2022-04-28 07:17:49,514 INFO L87 Difference]: Start difference. First operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 200 states. [2022-04-28 07:17:49,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:17:49,516 INFO L93 Difference]: Finished difference Result 200 states and 221 transitions. [2022-04-28 07:17:49,516 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 221 transitions. [2022-04-28 07:17:49,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:17:49,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:17:49,517 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:17:49,517 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:17:49,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 07:17:49,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 221 transitions. [2022-04-28 07:17:49,519 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 221 transitions. Word has length 194 [2022-04-28 07:17:49,519 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:17:49,519 INFO L495 AbstractCegarLoop]: Abstraction has 200 states and 221 transitions. [2022-04-28 07:17:49,520 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 07:17:49,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 200 states and 221 transitions. [2022-04-28 07:17:49,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 221 edges. 221 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:17:49,740 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 221 transitions. [2022-04-28 07:17:49,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 204 [2022-04-28 07:17:49,741 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:17:49,741 INFO L195 NwaCegarLoop]: trace histogram [21, 21, 20, 20, 20, 20, 20, 20, 20, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:17:49,758 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:49,958 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:49,958 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:17:49,958 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:17:49,959 INFO L85 PathProgramCache]: Analyzing trace with hash 1934081686, now seen corresponding path program 39 times [2022-04-28 07:17:49,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:17:49,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1361859910] [2022-04-28 07:17:49,959 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:17:49,959 INFO L85 PathProgramCache]: Analyzing trace with hash 1934081686, now seen corresponding path program 40 times [2022-04-28 07:17:49,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:17:49,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1337119582] [2022-04-28 07:17:49,959 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:17:49,960 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:17:49,973 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:17:49,973 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [260543611] [2022-04-28 07:17:49,973 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:17:49,973 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:49,973 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:17:49,992 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:17:49,992 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 07:17:50,078 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:17:50,078 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-28 07:17:50,078 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-28 07:17:50,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-28 07:17:50,241 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-28 07:17:50,241 INFO L130 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found a feasible trace [2022-04-28 07:17:50,242 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-28 07:17:50,254 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 07:17:50,287 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 07:17:50,468 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:17:50,471 INFO L356 BasicCegarLoop]: Path program histogram: [40, 2, 2, 2, 2] [2022-04-28 07:17:50,474 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L13-2 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2022-04-28 07:17:50,512 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L16-2 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L41-2 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L41-2 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L50 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L36-3 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L36-3 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-28 07:17:50,513 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-28 07:17:50,513 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 07:17:50,514 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 07:17:50 BoogieIcfgContainer [2022-04-28 07:17:50,514 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 07:17:50,515 INFO L158 Benchmark]: Toolchain (without parser) took 57185.01ms. Allocated memory was 185.6MB in the beginning and 226.5MB in the end (delta: 40.9MB). Free memory was 137.7MB in the beginning and 94.0MB in the end (delta: 43.7MB). Peak memory consumption was 85.4MB. Max. memory is 8.0GB. [2022-04-28 07:17:50,515 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 185.6MB. Free memory is still 153.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 07:17:50,515 INFO L158 Benchmark]: CACSL2BoogieTranslator took 238.51ms. Allocated memory is still 185.6MB. Free memory was 137.5MB in the beginning and 161.7MB in the end (delta: -24.3MB). Peak memory consumption was 12.0MB. Max. memory is 8.0GB. [2022-04-28 07:17:50,515 INFO L158 Benchmark]: Boogie Preprocessor took 47.24ms. Allocated memory is still 185.6MB. Free memory was 161.7MB in the beginning and 160.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 07:17:50,516 INFO L158 Benchmark]: RCFGBuilder took 247.32ms. Allocated memory is still 185.6MB. Free memory was 160.3MB in the beginning and 149.2MB in the end (delta: 11.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 07:17:50,516 INFO L158 Benchmark]: TraceAbstraction took 56638.66ms. Allocated memory was 185.6MB in the beginning and 226.5MB in the end (delta: 40.9MB). Free memory was 148.6MB in the beginning and 94.0MB in the end (delta: 54.5MB). Peak memory consumption was 96.5MB. Max. memory is 8.0GB. [2022-04-28 07:17:50,518 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 185.6MB. Free memory is still 153.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 238.51ms. Allocated memory is still 185.6MB. Free memory was 137.5MB in the beginning and 161.7MB in the end (delta: -24.3MB). Peak memory consumption was 12.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 47.24ms. Allocated memory is still 185.6MB. Free memory was 161.7MB in the beginning and 160.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 247.32ms. Allocated memory is still 185.6MB. Free memory was 160.3MB in the beginning and 149.2MB in the end (delta: 11.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 56638.66ms. Allocated memory was 185.6MB in the beginning and 226.5MB in the end (delta: 40.9MB). Free memory was 148.6MB in the beginning and 94.0MB in the end (delta: 54.5MB). Peak memory consumption was 96.5MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 18]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L22] int counter = 0; [L24] int x1, x2; [L25] int y1, y2, y3; [L26] x1 = __VERIFIER_nondet_int() [L27] x2 = __VERIFIER_nondet_int() [L29] CALL assume_abort_if_not(x1 >= 0) [L13] COND FALSE !(!cond) [L29] RET assume_abort_if_not(x1 >= 0) [L30] CALL assume_abort_if_not(x2 != 0) [L13] COND FALSE !(!cond) [L30] RET assume_abort_if_not(x2 != 0) [L32] y1 = 0 [L33] y2 = 0 [L34] y3 = x1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND TRUE counter++<20 [L37] CALL __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L16] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(y1*x2 + y2 + y3 == x1) [L39] COND FALSE !(!(y3 != 0)) [L41] COND TRUE y2 + 1 == x2 [L42] y1 = y1 + 1 [L43] y2 = 0 [L44] y3 = y3 - 1 [L36] EXPR counter++ [L36] COND FALSE !(counter++<20) [L50] CALL __VERIFIER_assert(y1*x2 + y2 == x1) [L16] COND TRUE !(cond) [L18] reach_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 33 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 56.6s, OverallIterations: 24, TraceHistogramMax: 21, PathProgramHistogramMax: 40, EmptinessCheckTime: 0.0s, AutomataDifference: 10.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 783 SdHoareTripleChecker+Valid, 1.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 780 mSDsluCounter, 3288 SdHoareTripleChecker+Invalid, 1.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 2502 mSDsCounter, 375 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1320 IncrementalHoareTripleChecker+Invalid, 1695 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 375 mSolverCounterUnsat, 786 mSDtfsCounter, 1320 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 4580 GetRequests, 4016 SyntacticMatches, 11 SemanticMatches, 553 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1674 ImplicationChecksByTransitivity, 3.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=200occurred in iteration=23, InterpolantAutomatonStates: 476, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 2.5s AutomataMinimizationTime, 23 MinimizatonAttempts, 9 StatesRemovedByMinimization, 3 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-28 07:17:50,535 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...