/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:34:14,729 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:34:14,730 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:34:14,769 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:34:14,770 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:34:14,771 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:34:14,777 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:34:14,780 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:34:14,781 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:34:14,785 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:34:14,786 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:34:14,787 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:34:14,787 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:34:14,789 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:34:14,790 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:34:14,791 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:34:14,792 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:34:14,792 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:34:14,796 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:34:14,800 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:34:14,802 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:34:14,803 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:34:14,803 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:34:14,804 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:34:14,805 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:34:14,811 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:34:14,811 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:34:14,811 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:34:14,812 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:34:14,813 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:34:14,813 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:34:14,814 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:34:14,815 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:34:14,816 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:34:14,816 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:34:14,817 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:34:14,817 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:34:14,817 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:34:14,818 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:34:14,818 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:34:14,818 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:34:14,820 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:34:14,820 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:34:14,832 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:34:14,832 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:34:14,833 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:34:14,833 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:34:14,834 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:34:14,834 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:34:14,834 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:34:14,834 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:34:14,834 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:34:14,835 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:34:14,835 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:34:14,835 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:34:14,835 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:34:14,835 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:34:14,835 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:34:14,836 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:34:14,836 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:34:14,836 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:34:14,836 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:34:14,836 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:34:14,836 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:34:14,836 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:34:14,836 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 12:34:15,033 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:34:15,052 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:34:15,054 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:34:15,055 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:34:15,056 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:34:15,057 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound5.c [2022-04-28 12:34:15,102 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c6428047/2a679debda4848e2a871bdc7a4c7f129/FLAG583b6f7f6 [2022-04-28 12:34:15,391 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:34:15,392 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound5.c [2022-04-28 12:34:15,397 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c6428047/2a679debda4848e2a871bdc7a4c7f129/FLAG583b6f7f6 [2022-04-28 12:34:15,832 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c6428047/2a679debda4848e2a871bdc7a4c7f129 [2022-04-28 12:34:15,834 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:34:15,835 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:34:15,836 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:34:15,836 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:34:15,843 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:34:15,844 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:34:15" (1/1) ... [2022-04-28 12:34:15,845 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53753bb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:15, skipping insertion in model container [2022-04-28 12:34:15,845 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:34:15" (1/1) ... [2022-04-28 12:34:15,851 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:34:15,866 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:34:16,004 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/egcd3-ll_valuebound5.c[490,503] [2022-04-28 12:34:16,035 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:34:16,041 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:34:16,050 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/egcd3-ll_valuebound5.c[490,503] [2022-04-28 12:34:16,062 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:34:16,074 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:34:16,074 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16 WrapperNode [2022-04-28 12:34:16,074 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:34:16,075 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:34:16,075 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:34:16,075 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:34:16,084 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,085 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,091 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,092 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,111 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,115 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,116 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,118 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:34:16,118 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:34:16,118 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:34:16,119 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:34:16,122 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (1/1) ... [2022-04-28 12:34:16,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:34:16,145 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:16,160 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 12:34:16,174 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 12:34:16,206 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:34:16,206 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:34:16,206 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:34:16,206 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:34:16,207 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:34:16,207 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:34:16,207 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:34:16,208 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:34:16,208 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:34:16,208 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:34:16,208 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:34:16,208 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:34:16,209 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:34:16,209 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:34:16,209 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:34:16,211 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:34:16,211 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:34:16,211 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:34:16,212 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:34:16,212 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:34:16,273 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:34:16,274 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:34:16,436 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:34:16,442 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:34:16,443 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-28 12:34:16,444 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:34:16 BoogieIcfgContainer [2022-04-28 12:34:16,444 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:34:16,445 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:34:16,446 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:34:16,448 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:34:16,448 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:34:15" (1/3) ... [2022-04-28 12:34:16,449 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7a32dff2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:34:16, skipping insertion in model container [2022-04-28 12:34:16,449 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:16" (2/3) ... [2022-04-28 12:34:16,449 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7a32dff2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:34:16, skipping insertion in model container [2022-04-28 12:34:16,449 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:34:16" (3/3) ... [2022-04-28 12:34:16,450 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound5.c [2022-04-28 12:34:16,472 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:34:16,472 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:34:16,506 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:34:16,527 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@7367e4fa, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2a7b19d9 [2022-04-28 12:34:16,527 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:34:16,535 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:34:16,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:34:16,541 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:16,541 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:34:16,542 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:16,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:16,546 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-28 12:34:16,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:16,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1568638866] [2022-04-28 12:34:16,573 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:16,573 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-28 12:34:16,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:16,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [686135486] [2022-04-28 12:34:16,580 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:16,581 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:16,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:16,704 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:34:16,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:16,721 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#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); {43#true} is VALID [2022-04-28 12:34:16,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:34:16,721 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 12:34:16,722 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:34:16,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:16,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 12:34:16,731 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:34:16,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:16,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 12:34:16,739 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:34:16,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:16,746 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 12:34:16,747 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:34:16,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:16,754 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 12:34:16,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:34:16,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#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); {43#true} is VALID [2022-04-28 12:34:16,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:34:16,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 12:34:16,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 12:34:16,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-28 12:34:16,757 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {43#true} is VALID [2022-04-28 12:34:16,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 12:34:16,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-28 12:34:16,758 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {43#true} is VALID [2022-04-28 12:34:16,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,759 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 12:34:16,760 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 12:34:16,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,761 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,761 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 12:34:16,762 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 12:34:16,762 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:16,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:16,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:16,764 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 12:34:16,764 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-28 12:34:16,765 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-28 12:34:16,768 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-28 12:34:16,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 12:34:16,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 12:34:16,769 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 12:34:16,769 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:34:16,770 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:16,770 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [686135486] [2022-04-28 12:34:16,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [686135486] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:16,771 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:16,772 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:34:16,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:16,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1568638866] [2022-04-28 12:34:16,775 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1568638866] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:16,775 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:16,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:34:16,775 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [242038721] [2022-04-28 12:34:16,776 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:16,781 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:34:16,783 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:16,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:16,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:16,829 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:34:16,830 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:16,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:34:16,859 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:34:16,862 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:17,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:17,073 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-28 12:34:17,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:34:17,073 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:34:17,073 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:17,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:17,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 12:34:17,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:17,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 12:34:17,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-28 12:34:17,224 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 12:34:17,235 INFO L225 Difference]: With dead ends: 73 [2022-04-28 12:34:17,235 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 12:34:17,239 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 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 12:34:17,242 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:17,244 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:34:17,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 12:34:17,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 12:34:17,279 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:17,293 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:34:17,294 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:34:17,294 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:34:17,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:17,300 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 12:34:17,300 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 12:34:17,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:17,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:17,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-28 12:34:17,302 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-28 12:34:17,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:17,307 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 12:34:17,307 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 12:34:17,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:17,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:17,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:17,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:17,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:34:17,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-28 12:34:17,329 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-28 12:34:17,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:17,329 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-28 12:34:17,329 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:17,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-28 12:34:17,384 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:17,384 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 12:34:17,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 12:34:17,387 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:17,387 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 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 12:34:17,387 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:34:17,387 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:17,389 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:17,390 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-28 12:34:17,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:17,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [563970102] [2022-04-28 12:34:17,396 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:17,397 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-28 12:34:17,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:17,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1210738349] [2022-04-28 12:34:17,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:17,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:17,437 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:17,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [598359173] [2022-04-28 12:34:17,437 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:17,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:17,438 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:17,442 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 12:34:17,467 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 12:34:17,494 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:34:17,494 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:17,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:34:17,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:17,530 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:17,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-28 12:34:17,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#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); {353#true} is VALID [2022-04-28 12:34:17,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:17,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-28 12:34:17,831 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-28 12:34:17,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-28 12:34:17,832 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {353#true} is VALID [2022-04-28 12:34:17,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:17,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:17,832 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:17,833 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-28 12:34:17,833 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-28 12:34:17,833 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {353#true} is VALID [2022-04-28 12:34:17,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:17,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:17,834 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:17,834 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-28 12:34:17,834 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 12:34:17,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:17,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:17,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:17,835 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-28 12:34:17,835 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 12:34:17,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:17,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:17,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:17,836 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-28 12:34:17,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:17,837 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:17,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:17,839 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:17,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:17,840 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-28 12:34:17,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-28 12:34:17,841 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:34:17,841 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:34:17,842 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:17,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1210738349] [2022-04-28 12:34:17,842 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:17,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [598359173] [2022-04-28 12:34:17,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [598359173] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:17,842 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:17,843 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:34:17,843 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:17,843 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [563970102] [2022-04-28 12:34:17,844 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [563970102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:17,844 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:17,844 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:34:17,844 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [141209629] [2022-04-28 12:34:17,844 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:17,845 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 12:34:17,845 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:17,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:17,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:17,868 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:34:17,868 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:17,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:34:17,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:34:17,869 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:18,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:18,223 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-28 12:34:18,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:34:18,223 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 12:34:18,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:18,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:18,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:34:18,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:18,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:34:18,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 12:34:18,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:18,312 INFO L225 Difference]: With dead ends: 54 [2022-04-28 12:34:18,312 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 12:34:18,312 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:34:18,314 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:18,318 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:34:18,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 12:34:18,339 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 12:34:18,339 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:18,341 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:34:18,344 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:34:18,344 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:34:18,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:18,352 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 12:34:18,352 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 12:34:18,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:18,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:18,354 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-28 12:34:18,354 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-28 12:34:18,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:18,358 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 12:34:18,358 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 12:34:18,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:18,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:18,359 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:18,359 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:18,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:34:18,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-28 12:34:18,362 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-28 12:34:18,362 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:18,362 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-28 12:34:18,362 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:18,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-28 12:34:18,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:18,431 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 12:34:18,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 12:34:18,432 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:18,432 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:34:18,455 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:34:18,654 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 12:34:18,655 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:18,655 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:18,655 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-28 12:34:18,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:18,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1128847640] [2022-04-28 12:34:18,656 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:18,656 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-28 12:34:18,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:18,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [841233895] [2022-04-28 12:34:18,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:18,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:18,675 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:18,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [911123406] [2022-04-28 12:34:18,675 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:18,675 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:18,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:18,676 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 12:34:18,693 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 12:34:18,740 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:18,740 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:18,741 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:34:18,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:18,752 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:18,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 12:34:18,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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); {774#true} is VALID [2022-04-28 12:34:18,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:18,906 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 12:34:18,906 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 12:34:18,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-28 12:34:18,906 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:18,907 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:18,907 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:18,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:18,907 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 12:34:18,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-28 12:34:18,907 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:18,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:18,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:18,910 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:18,910 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 12:34:18,911 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:18,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:34:18,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:18,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:18,918 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 12:34:18,918 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:18,918 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:18,918 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:18,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:18,919 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 12:34:18,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 12:34:18,920 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 12:34:18,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:18,921 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:18,923 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:18,923 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 12:34:18,924 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 12:34:18,925 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 12:34:18,926 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-28 12:34:18,938 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 12:34:18,938 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 12:34:18,938 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 12:34:18,939 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:34:18,939 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:34:19,226 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 12:34:19,226 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 12:34:19,226 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 12:34:19,227 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-28 12:34:19,227 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 12:34:19,227 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 12:34:19,228 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 12:34:19,228 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:19,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:19,229 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:19,230 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 12:34:19,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 12:34:19,231 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 12:34:19,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:19,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:19,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:19,231 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:19,234 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 12:34:19,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:19,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:19,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:34:19,235 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:19,236 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 12:34:19,236 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:19,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:19,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:19,236 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:19,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-28 12:34:19,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 12:34:19,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:19,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:19,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:19,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:19,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-28 12:34:19,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 12:34:19,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 12:34:19,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:19,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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); {774#true} is VALID [2022-04-28 12:34:19,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 12:34:19,238 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:34:19,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:19,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [841233895] [2022-04-28 12:34:19,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:19,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [911123406] [2022-04-28 12:34:19,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [911123406] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:34:19,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:34:19,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:34:19,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:19,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1128847640] [2022-04-28 12:34:19,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1128847640] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:19,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:19,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:34:19,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1374908968] [2022-04-28 12:34:19,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:19,240 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 12:34:19,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:19,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:19,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:19,264 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:34:19,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:19,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:34:19,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:34:19,265 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:19,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:19,958 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-28 12:34:19,958 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:34:19,958 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 12:34:19,958 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:19,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:19,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:34:19,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:19,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:34:19,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 12:34:20,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:20,063 INFO L225 Difference]: With dead ends: 103 [2022-04-28 12:34:20,063 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 12:34:20,063 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:34:20,064 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:20,064 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:34:20,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 12:34:20,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-28 12:34:20,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:20,152 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:34:20,152 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:34:20,153 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:34:20,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:20,158 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 12:34:20,158 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 12:34:20,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:20,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:20,160 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-28 12:34:20,161 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-28 12:34:20,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:20,166 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 12:34:20,166 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 12:34:20,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:20,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:20,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:20,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:20,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:34:20,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-28 12:34:20,171 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-28 12:34:20,171 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:20,171 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-28 12:34:20,171 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:34:20,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-28 12:34:20,275 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 12:34:20,275 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-28 12:34:20,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:34:20,276 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:20,276 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 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, 1, 1] [2022-04-28 12:34:20,301 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:34:20,491 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 12:34:20,491 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:20,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:20,492 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-28 12:34:20,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:20,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1455596623] [2022-04-28 12:34:20,492 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:20,493 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-28 12:34:20,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:20,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [481505158] [2022-04-28 12:34:20,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:20,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:20,516 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:20,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [412380080] [2022-04-28 12:34:20,516 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:20,516 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:20,516 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:20,517 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 12:34:20,529 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 12:34:20,570 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:20,570 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:20,571 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:34:20,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:20,583 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:21,196 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 12:34:21,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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); {1566#true} is VALID [2022-04-28 12:34:21,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 12:34:21,196 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 12:34:21,197 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-28 12:34:21,197 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,197 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:21,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:21,197 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,197 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 12:34:21,197 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-28 12:34:21,198 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,199 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:34:21,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:21,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:21,200 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,200 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:34:21,201 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:21,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:21,202 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,202 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,202 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:21,202 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:21,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,206 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} assume !false; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:34:21,208 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} assume !false; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:34:21,208 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:34:21,209 INFO L290 TraceCheckUtils]: 32: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 5) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,209 INFO L290 TraceCheckUtils]: 33: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !false; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,210 INFO L290 TraceCheckUtils]: 34: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !false; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,215 INFO L290 TraceCheckUtils]: 36: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 5))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,215 INFO L290 TraceCheckUtils]: 37: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} assume !false; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:21,216 INFO L272 TraceCheckUtils]: 38: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 5))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:21,216 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:21,217 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 12:34:21,217 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 12:34:21,217 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:34:21,218 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:34:21,595 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 12:34:21,596 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 12:34:21,596 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:21,597 INFO L272 TraceCheckUtils]: 38: Hoare triple {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:21,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:34:21,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:34:21,599 INFO L290 TraceCheckUtils]: 35: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:34:21,599 INFO L290 TraceCheckUtils]: 34: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:34:21,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:34:21,600 INFO L290 TraceCheckUtils]: 32: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:34:21,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:34:21,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:34:21,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:34:21,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !false; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-28 12:34:21,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {1566#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-28 12:34:21,602 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L272 TraceCheckUtils]: 22: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L272 TraceCheckUtils]: 17: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,603 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 12:34:21,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 12:34:21,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:21,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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); {1566#true} is VALID [2022-04-28 12:34:21,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 12:34:21,605 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:34:21,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:21,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [481505158] [2022-04-28 12:34:21,605 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:21,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [412380080] [2022-04-28 12:34:21,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [412380080] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:34:21,606 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:34:21,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-28 12:34:21,606 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:21,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1455596623] [2022-04-28 12:34:21,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1455596623] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:21,606 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:21,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:34:21,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [693410432] [2022-04-28 12:34:21,607 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:21,607 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-28 12:34:21,607 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:21,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:34:21,636 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 12:34:21,636 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:34:21,636 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:21,636 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:34:21,637 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:34:21,637 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:34:23,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:23,137 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-28 12:34:23,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:34:23,138 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-28 12:34:23,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:23,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:34:23,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 12:34:23,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:34:23,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 12:34:23,144 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-28 12:34:23,258 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:23,263 INFO L225 Difference]: With dead ends: 112 [2022-04-28 12:34:23,264 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 12:34:23,264 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:34:23,265 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 89 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 414 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:23,265 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [98 Valid, 245 Invalid, 414 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:34:23,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 12:34:23,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-28 12:34:23,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:23,425 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:34:23,425 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:34:23,426 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:34:23,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:23,431 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 12:34:23,431 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 12:34:23,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:23,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:23,432 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-28 12:34:23,432 INFO L87 Difference]: Start difference. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-28 12:34:23,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:23,437 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 12:34:23,437 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 12:34:23,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:23,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:23,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:23,438 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:23,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:34:23,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-28 12:34:23,441 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-28 12:34:23,441 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:23,442 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-28 12:34:23,442 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 12:34:23,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-28 12:34:23,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:23,608 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-28 12:34:23,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:34:23,609 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:23,609 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:34:23,627 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 12:34:23,811 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 12:34:23,811 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:23,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:23,812 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-28 12:34:23,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:23,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1806351599] [2022-04-28 12:34:23,812 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:23,812 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-28 12:34:23,813 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:23,813 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [678507250] [2022-04-28 12:34:23,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:23,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:23,840 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:23,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1602250746] [2022-04-28 12:34:23,840 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:23,840 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:23,840 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:23,846 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 12:34:23,847 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 12:34:23,889 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:23,890 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:23,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:34:23,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:23,907 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:24,198 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 12:34:24,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#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); {2475#true} is VALID [2022-04-28 12:34:24,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,198 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 12:34:24,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 12:34:24,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-28 12:34:24,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,199 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 12:34:24,200 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-28 12:34:24,200 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,203 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:34:24,203 INFO L290 TraceCheckUtils]: 14: Hoare triple {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:24,203 INFO L290 TraceCheckUtils]: 15: Hoare triple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:24,204 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} {2475#true} #96#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:24,204 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,204 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,204 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,205 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:24,205 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,206 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 12:34:24,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2564#(<= 0 main_~b~0)} is VALID [2022-04-28 12:34:24,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-28 12:34:24,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {2564#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:34:24,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:34:24,208 INFO L290 TraceCheckUtils]: 31: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:34:24,208 INFO L290 TraceCheckUtils]: 32: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:34:24,208 INFO L272 TraceCheckUtils]: 33: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,209 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,209 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,209 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,209 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:34:24,210 INFO L272 TraceCheckUtils]: 38: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,210 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,210 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,210 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,211 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:34:24,211 INFO L272 TraceCheckUtils]: 43: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:24,212 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:24,212 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 12:34:24,212 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 12:34:24,212 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:34:24,213 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:34:24,440 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 12:34:24,440 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 12:34:24,441 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:24,441 INFO L272 TraceCheckUtils]: 43: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:24,442 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:34:24,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,442 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,445 INFO L272 TraceCheckUtils]: 38: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,445 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:34:24,445 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,446 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,446 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,446 INFO L272 TraceCheckUtils]: 33: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,447 INFO L290 TraceCheckUtils]: 32: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:34:24,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:34:24,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:34:24,448 INFO L290 TraceCheckUtils]: 29: Hoare triple {2475#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:34:24,448 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-28 12:34:24,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {2475#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2475#true} is VALID [2022-04-28 12:34:24,448 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-28 12:34:24,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,448 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,448 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L272 TraceCheckUtils]: 22: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L272 TraceCheckUtils]: 17: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,449 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:24,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#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); {2475#true} is VALID [2022-04-28 12:34:24,451 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 12:34:24,451 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:34:24,452 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:24,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [678507250] [2022-04-28 12:34:24,453 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:24,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1602250746] [2022-04-28 12:34:24,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1602250746] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:34:24,454 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:34:24,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 12:34:24,454 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:24,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1806351599] [2022-04-28 12:34:24,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1806351599] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:24,454 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:24,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:34:24,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [466545135] [2022-04-28 12:34:24,454 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:24,455 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-28 12:34:24,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:24,455 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:34:24,480 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 12:34:24,480 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:34:24,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:24,481 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:34:24,481 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:34:24,481 INFO L87 Difference]: Start difference. First operand 93 states and 122 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:34:24,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:24,915 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-28 12:34:24,915 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:34:24,915 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-28 12:34:24,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:24,915 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:34:24,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:34:24,917 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:34:24,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:34:24,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:34:24,976 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 12:34:24,979 INFO L225 Difference]: With dead ends: 130 [2022-04-28 12:34:24,979 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 12:34:24,979 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:34:24,980 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 8 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:24,980 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 141 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:34:24,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 12:34:25,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-28 12:34:25,260 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:25,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:25,261 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:25,261 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:25,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:25,266 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 12:34:25,266 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 12:34:25,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:25,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:25,268 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 12:34:25,268 INFO L87 Difference]: Start difference. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 12:34:25,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:25,273 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 12:34:25,273 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 12:34:25,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:25,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:25,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:25,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:25,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:25,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-28 12:34:25,279 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-28 12:34:25,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:25,279 INFO L495 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-28 12:34:25,279 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:34:25,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-28 12:34:25,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:25,502 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-28 12:34:25,502 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:34:25,502 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:25,502 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 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, 1, 1, 1, 1, 1] [2022-04-28 12:34:25,518 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:34:25,707 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 12:34:25,707 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:25,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:25,708 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-28 12:34:25,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:25,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [795894479] [2022-04-28 12:34:25,708 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:25,708 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-28 12:34:25,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:25,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1449320499] [2022-04-28 12:34:25,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:25,709 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:25,726 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:25,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1291344943] [2022-04-28 12:34:25,727 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:25,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:25,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:25,728 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 12:34:25,745 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 12:34:25,784 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:25,784 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:25,785 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:34:25,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:25,795 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:30,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 12:34:30,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#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); {3530#true} is VALID [2022-04-28 12:34:30,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:30,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 12:34:30,133 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 12:34:30,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:30,134 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L272 TraceCheckUtils]: 17: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L272 TraceCheckUtils]: 22: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:30,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:30,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:30,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:30,136 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-28 12:34:30,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3616#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:30,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {3616#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3616#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:30,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {3616#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:30,138 INFO L290 TraceCheckUtils]: 30: Hoare triple {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:30,138 INFO L290 TraceCheckUtils]: 31: Hoare triple {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:30,139 INFO L290 TraceCheckUtils]: 32: Hoare triple {3623#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:34:30,139 INFO L290 TraceCheckUtils]: 33: Hoare triple {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:34:30,140 INFO L290 TraceCheckUtils]: 34: Hoare triple {3633#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:34:30,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:34:30,141 INFO L290 TraceCheckUtils]: 36: Hoare triple {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:34:30,142 INFO L290 TraceCheckUtils]: 37: Hoare triple {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:34:30,142 INFO L272 TraceCheckUtils]: 38: Hoare triple {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:30,142 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:30,142 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:30,142 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:30,143 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #102#return; {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:34:30,144 INFO L272 TraceCheckUtils]: 43: Hoare triple {3640#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:30,144 INFO L290 TraceCheckUtils]: 44: Hoare triple {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:30,145 INFO L290 TraceCheckUtils]: 45: Hoare triple {3672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 12:34:30,145 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 12:34:30,145 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:34:30,145 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:34:30,376 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 12:34:30,376 INFO L290 TraceCheckUtils]: 45: Hoare triple {3672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 12:34:30,377 INFO L290 TraceCheckUtils]: 44: Hoare triple {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:30,378 INFO L272 TraceCheckUtils]: 43: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:30,378 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:34:30,378 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:30,379 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:30,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:30,379 INFO L272 TraceCheckUtils]: 38: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:30,383 INFO L290 TraceCheckUtils]: 37: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:34:30,383 INFO L290 TraceCheckUtils]: 36: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:34:30,383 INFO L290 TraceCheckUtils]: 35: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:34:30,384 INFO L290 TraceCheckUtils]: 34: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:34:30,384 INFO L290 TraceCheckUtils]: 33: Hoare triple {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:34:32,386 WARN L290 TraceCheckUtils]: 32: Hoare triple {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3688#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 12:34:32,386 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 12:34:32,387 INFO L290 TraceCheckUtils]: 30: Hoare triple {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 12:34:32,387 INFO L290 TraceCheckUtils]: 29: Hoare triple {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3722#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 12:34:32,388 INFO L290 TraceCheckUtils]: 28: Hoare triple {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} assume !false; {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} is VALID [2022-04-28 12:34:32,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3732#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 0) main_~a~0 (* main_~y~0 main_~s~0 0)))} is VALID [2022-04-28 12:34:32,388 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-28 12:34:32,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:32,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:32,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:32,388 INFO L272 TraceCheckUtils]: 22: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:32,388 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L272 TraceCheckUtils]: 17: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:32,389 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:32,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-28 12:34:32,390 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 12:34:32,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 12:34:32,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:32,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#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); {3530#true} is VALID [2022-04-28 12:34:32,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 12:34:32,390 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:34:32,390 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:32,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1449320499] [2022-04-28 12:34:32,391 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:32,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1291344943] [2022-04-28 12:34:32,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1291344943] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:34:32,391 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:34:32,391 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-28 12:34:32,391 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:32,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [795894479] [2022-04-28 12:34:32,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [795894479] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:32,391 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:32,391 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:34:32,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042572842] [2022-04-28 12:34:32,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:32,392 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 47 [2022-04-28 12:34:32,392 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:32,392 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:34:32,419 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 12:34:32,419 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:34:32,419 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:32,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:34:32,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:34:32,420 INFO L87 Difference]: Start difference. First operand 123 states and 172 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:34:33,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:33,285 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-28 12:34:33,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:34:33,285 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 47 [2022-04-28 12:34:33,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:33,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:34:33,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-28 12:34:33,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:34:33,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-28 12:34:33,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 101 transitions. [2022-04-28 12:34:33,382 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 12:34:33,387 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:34:33,387 INFO L226 Difference]: Without dead ends: 135 [2022-04-28 12:34:33,387 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:34:33,388 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 32 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 206 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 206 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:33,388 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 233 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 206 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:34:33,389 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-28 12:34:33,618 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-28 12:34:33,619 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:33,619 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:33,619 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:33,620 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:33,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:33,625 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 12:34:33,625 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 12:34:33,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:33,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:33,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-28 12:34:33,627 INFO L87 Difference]: Start difference. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-28 12:34:33,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:33,631 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 12:34:33,631 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 12:34:33,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:33,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:33,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:33,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:33,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:34:33,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-28 12:34:33,637 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-28 12:34:33,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:33,638 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-28 12:34:33,638 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:34:33,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-28 12:34:33,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:33,854 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-28 12:34:33,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:34:33,854 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:33,855 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 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 12:34:33,871 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:34:34,059 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 12:34:34,060 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:34,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:34,060 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-28 12:34:34,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:34,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [109899812] [2022-04-28 12:34:34,061 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:34,061 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-28 12:34:34,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:34,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [262044533] [2022-04-28 12:34:34,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:34,061 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:34,081 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:34,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1116389265] [2022-04-28 12:34:34,081 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:34:34,082 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:34,082 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:34,083 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 12:34:34,086 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 12:34:34,125 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:34:34,125 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:34,126 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:34:34,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:34,135 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:34,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {4632#true} call ULTIMATE.init(); {4632#true} is VALID [2022-04-28 12:34:34,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {4632#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); {4632#true} is VALID [2022-04-28 12:34:34,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4632#true} {4632#true} #112#return; {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {4632#true} call #t~ret6 := main(); {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {4632#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {4632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4632#true} {4632#true} #94#return; {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L290 TraceCheckUtils]: 11: Hoare triple {4632#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L272 TraceCheckUtils]: 12: Hoare triple {4632#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {4632#true} is VALID [2022-04-28 12:34:34,269 INFO L290 TraceCheckUtils]: 13: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L290 TraceCheckUtils]: 15: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4632#true} {4632#true} #96#return; {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L272 TraceCheckUtils]: 17: Hoare triple {4632#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L290 TraceCheckUtils]: 19: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L290 TraceCheckUtils]: 20: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4632#true} {4632#true} #98#return; {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L272 TraceCheckUtils]: 22: Hoare triple {4632#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4632#true} is VALID [2022-04-28 12:34:34,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {4632#true} ~cond := #in~cond; {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L290 TraceCheckUtils]: 24: Hoare triple {4632#true} assume !(0 == ~cond); {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L290 TraceCheckUtils]: 25: Hoare triple {4632#true} assume true; {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4632#true} {4632#true} #100#return; {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {4632#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L290 TraceCheckUtils]: 28: Hoare triple {4632#true} assume !false; {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {4632#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {4632#true} assume !false; {4632#true} is VALID [2022-04-28 12:34:34,271 INFO L290 TraceCheckUtils]: 31: Hoare triple {4632#true} assume !(~c~0 >= ~b~0); {4730#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:34:34,272 INFO L290 TraceCheckUtils]: 32: Hoare triple {4730#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4734#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:34:34,272 INFO L290 TraceCheckUtils]: 33: Hoare triple {4734#(< main_~b~0 main_~a~0)} assume !false; {4734#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:34:34,272 INFO L290 TraceCheckUtils]: 34: Hoare triple {4734#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4741#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:34:34,273 INFO L290 TraceCheckUtils]: 35: Hoare triple {4741#(< main_~b~0 main_~c~0)} assume !false; {4741#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:34:34,273 INFO L290 TraceCheckUtils]: 36: Hoare triple {4741#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4633#false} is VALID [2022-04-28 12:34:34,273 INFO L290 TraceCheckUtils]: 37: Hoare triple {4633#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4633#false} is VALID [2022-04-28 12:34:34,273 INFO L290 TraceCheckUtils]: 38: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-28 12:34:34,273 INFO L290 TraceCheckUtils]: 39: Hoare triple {4633#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4633#false} is VALID [2022-04-28 12:34:34,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-28 12:34:34,273 INFO L290 TraceCheckUtils]: 41: Hoare triple {4633#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4633#false} is VALID [2022-04-28 12:34:34,274 INFO L290 TraceCheckUtils]: 42: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-28 12:34:34,274 INFO L272 TraceCheckUtils]: 43: Hoare triple {4633#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4633#false} is VALID [2022-04-28 12:34:34,274 INFO L290 TraceCheckUtils]: 44: Hoare triple {4633#false} ~cond := #in~cond; {4633#false} is VALID [2022-04-28 12:34:34,274 INFO L290 TraceCheckUtils]: 45: Hoare triple {4633#false} assume 0 == ~cond; {4633#false} is VALID [2022-04-28 12:34:34,274 INFO L290 TraceCheckUtils]: 46: Hoare triple {4633#false} assume !false; {4633#false} is VALID [2022-04-28 12:34:34,274 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:34:34,274 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:34:34,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:34,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [262044533] [2022-04-28 12:34:34,275 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:34,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1116389265] [2022-04-28 12:34:34,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1116389265] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:34,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:34,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:34:34,275 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:34,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [109899812] [2022-04-28 12:34:34,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [109899812] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:34,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:34,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:34:34,276 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [736279514] [2022-04-28 12:34:34,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:34,276 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-28 12:34:34,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:34,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:34,300 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 12:34:34,300 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:34:34,300 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:34,301 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:34:34,301 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:34:34,301 INFO L87 Difference]: Start difference. First operand 131 states and 178 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:34,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:34,771 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-28 12:34:34,771 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:34:34,771 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-28 12:34:34,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:34,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:34,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 12:34:34,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:34,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 12:34:34,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-28 12:34:34,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:34,865 INFO L225 Difference]: With dead ends: 170 [2022-04-28 12:34:34,865 INFO L226 Difference]: Without dead ends: 114 [2022-04-28 12:34:34,866 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:34:34,866 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 18 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:34,867 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 155 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:34:34,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-28 12:34:35,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-28 12:34:35,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:35,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 12:34:35,057 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 12:34:35,058 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 12:34:35,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:35,062 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 12:34:35,062 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 12:34:35,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:35,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:35,063 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-28 12:34:35,063 INFO L87 Difference]: Start difference. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-28 12:34:35,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:35,067 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 12:34:35,067 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 12:34:35,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:35,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:35,067 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:35,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:35,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 12:34:35,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-28 12:34:35,071 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-28 12:34:35,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:35,071 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-28 12:34:35,072 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:34:35,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-28 12:34:35,243 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 12:34:35,243 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-28 12:34:35,243 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 12:34:35,243 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:35,243 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:34:35,263 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 12:34:35,455 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 12:34:35,455 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:35,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:35,456 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-28 12:34:35,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:35,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [193163318] [2022-04-28 12:34:35,457 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:35,457 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-28 12:34:35,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:35,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1614403471] [2022-04-28 12:34:35,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:35,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:35,477 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:35,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1149401403] [2022-04-28 12:34:35,477 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:35,477 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:35,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:35,478 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 12:34:35,480 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 12:34:35,515 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:35,515 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:35,516 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:34:35,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:35,526 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:35,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-28 12:34:35,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {5562#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); {5562#true} is VALID [2022-04-28 12:34:35,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #112#return; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret6 := main(); {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {5562#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L272 TraceCheckUtils]: 6: Hoare triple {5562#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5562#true} {5562#true} #94#return; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {5562#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L272 TraceCheckUtils]: 12: Hoare triple {5562#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 13: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 14: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L290 TraceCheckUtils]: 15: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,657 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5562#true} {5562#true} #96#return; {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L272 TraceCheckUtils]: 17: Hoare triple {5562#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L290 TraceCheckUtils]: 18: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L290 TraceCheckUtils]: 19: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5562#true} {5562#true} #98#return; {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L272 TraceCheckUtils]: 22: Hoare triple {5562#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L290 TraceCheckUtils]: 23: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L290 TraceCheckUtils]: 24: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L290 TraceCheckUtils]: 25: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,658 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5562#true} {5562#true} #100#return; {5562#true} is VALID [2022-04-28 12:34:35,659 INFO L290 TraceCheckUtils]: 27: Hoare triple {5562#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5562#true} is VALID [2022-04-28 12:34:35,659 INFO L290 TraceCheckUtils]: 28: Hoare triple {5562#true} assume !false; {5562#true} is VALID [2022-04-28 12:34:35,659 INFO L290 TraceCheckUtils]: 29: Hoare triple {5562#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5562#true} is VALID [2022-04-28 12:34:35,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {5562#true} assume !false; {5562#true} is VALID [2022-04-28 12:34:35,668 INFO L290 TraceCheckUtils]: 31: Hoare triple {5562#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:34:35,668 INFO L290 TraceCheckUtils]: 32: Hoare triple {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:34:35,668 INFO L272 TraceCheckUtils]: 33: Hoare triple {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5562#true} is VALID [2022-04-28 12:34:35,668 INFO L290 TraceCheckUtils]: 34: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-28 12:34:35,668 INFO L290 TraceCheckUtils]: 35: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-28 12:34:35,668 INFO L290 TraceCheckUtils]: 36: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,669 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5562#true} {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:34:35,669 INFO L272 TraceCheckUtils]: 38: Hoare triple {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5562#true} is VALID [2022-04-28 12:34:35,669 INFO L290 TraceCheckUtils]: 39: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-28 12:34:35,669 INFO L290 TraceCheckUtils]: 40: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-28 12:34:35,669 INFO L290 TraceCheckUtils]: 41: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,670 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5562#true} {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:34:35,670 INFO L272 TraceCheckUtils]: 43: Hoare triple {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5562#true} is VALID [2022-04-28 12:34:35,670 INFO L290 TraceCheckUtils]: 44: Hoare triple {5562#true} ~cond := #in~cond; {5562#true} is VALID [2022-04-28 12:34:35,670 INFO L290 TraceCheckUtils]: 45: Hoare triple {5562#true} assume !(0 == ~cond); {5562#true} is VALID [2022-04-28 12:34:35,670 INFO L290 TraceCheckUtils]: 46: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 12:34:35,671 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5562#true} {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:34:35,671 INFO L272 TraceCheckUtils]: 48: Hoare triple {5660#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {5712#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:35,671 INFO L290 TraceCheckUtils]: 49: Hoare triple {5712#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5716#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:35,672 INFO L290 TraceCheckUtils]: 50: Hoare triple {5716#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5563#false} is VALID [2022-04-28 12:34:35,672 INFO L290 TraceCheckUtils]: 51: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-28 12:34:35,672 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:34:35,672 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:34:35,672 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:35,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1614403471] [2022-04-28 12:34:35,672 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:35,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1149401403] [2022-04-28 12:34:35,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1149401403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:35,672 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:35,672 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:34:35,673 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:35,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [193163318] [2022-04-28 12:34:35,673 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [193163318] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:35,673 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:35,673 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:34:35,673 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [911843225] [2022-04-28 12:34:35,673 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:35,673 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-28 12:34:35,674 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:35,674 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:34:35,699 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:35,699 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:34:35,699 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:35,699 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:34:35,700 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:34:35,700 INFO L87 Difference]: Start difference. First operand 106 states and 137 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:34:36,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:36,222 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-28 12:34:36,222 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:34:36,223 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-28 12:34:36,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:36,223 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:34:36,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:34:36,224 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:34:36,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:34:36,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:34:36,273 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 12:34:36,277 INFO L225 Difference]: With dead ends: 158 [2022-04-28 12:34:36,277 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 12:34:36,277 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 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 12:34:36,278 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 9 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:36,278 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 156 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:34:36,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 12:34:36,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-28 12:34:36,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:36,558 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:34:36,559 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:34:36,559 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:34:36,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:36,565 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 12:34:36,565 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 12:34:36,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:36,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:36,567 INFO L74 IsIncluded]: Start isIncluded. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-28 12:34:36,567 INFO L87 Difference]: Start difference. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-28 12:34:36,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:36,573 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 12:34:36,573 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 12:34:36,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:36,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:36,574 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:36,574 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:36,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:34:36,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-28 12:34:36,581 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-28 12:34:36,581 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:36,582 INFO L495 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-28 12:34:36,582 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:34:36,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-28 12:34:36,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 194 edges. 194 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:36,843 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-28 12:34:36,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 12:34:36,844 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:36,844 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:34:36,860 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 12:34:37,044 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 12:34:37,044 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:37,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:37,045 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-28 12:34:37,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:37,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2121641233] [2022-04-28 12:34:37,046 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:37,046 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-28 12:34:37,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:37,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [561564043] [2022-04-28 12:34:37,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:37,046 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:37,061 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:37,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [323841843] [2022-04-28 12:34:37,061 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:37,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:37,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:37,062 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 12:34:37,074 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 12:34:37,122 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:37,122 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:37,123 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 57 conjunts are in the unsatisfiable core [2022-04-28 12:34:37,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:37,137 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:37,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {6632#true} call ULTIMATE.init(); {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {6632#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); {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6632#true} {6632#true} #112#return; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {6632#true} call #t~ret6 := main(); {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {6632#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L272 TraceCheckUtils]: 6: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6632#true} {6632#true} #94#return; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {6632#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L272 TraceCheckUtils]: 12: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:34:37,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6632#true} {6632#true} #96#return; {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L272 TraceCheckUtils]: 17: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L290 TraceCheckUtils]: 18: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6632#true} {6632#true} #98#return; {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L272 TraceCheckUtils]: 22: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L290 TraceCheckUtils]: 24: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L290 TraceCheckUtils]: 25: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:34:37,913 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6632#true} {6632#true} #100#return; {6632#true} is VALID [2022-04-28 12:34:37,914 INFO L290 TraceCheckUtils]: 27: Hoare triple {6632#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,914 INFO L290 TraceCheckUtils]: 28: Hoare triple {6718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,914 INFO L290 TraceCheckUtils]: 29: Hoare triple {6718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6725#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,915 INFO L290 TraceCheckUtils]: 30: Hoare triple {6725#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6725#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,915 INFO L290 TraceCheckUtils]: 31: Hoare triple {6725#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6732#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,916 INFO L290 TraceCheckUtils]: 32: Hoare triple {6732#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6732#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,916 INFO L272 TraceCheckUtils]: 33: Hoare triple {6732#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,916 INFO L290 TraceCheckUtils]: 34: Hoare triple {6632#true} ~cond := #in~cond; {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:37,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:37,917 INFO L290 TraceCheckUtils]: 36: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:37,918 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6732#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,918 INFO L272 TraceCheckUtils]: 38: Hoare triple {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {6632#true} ~cond := #in~cond; {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:37,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {6742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:37,919 INFO L290 TraceCheckUtils]: 41: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:37,920 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,920 INFO L272 TraceCheckUtils]: 43: Hoare triple {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,920 INFO L290 TraceCheckUtils]: 44: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:34:37,920 INFO L290 TraceCheckUtils]: 45: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:34:37,920 INFO L290 TraceCheckUtils]: 46: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:34:37,921 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6632#true} {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,921 INFO L272 TraceCheckUtils]: 48: Hoare triple {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:34:37,921 INFO L290 TraceCheckUtils]: 49: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:34:37,921 INFO L290 TraceCheckUtils]: 50: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:34:37,921 INFO L290 TraceCheckUtils]: 51: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:34:37,922 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6632#true} {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,922 INFO L290 TraceCheckUtils]: 53: Hoare triple {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {6753#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6805#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,923 INFO L290 TraceCheckUtils]: 55: Hoare triple {6805#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6805#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,924 INFO L290 TraceCheckUtils]: 56: Hoare triple {6805#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6805#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:34:37,924 INFO L290 TraceCheckUtils]: 57: Hoare triple {6805#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6815#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:34:37,924 INFO L290 TraceCheckUtils]: 58: Hoare triple {6815#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !false; {6815#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:34:37,925 INFO L290 TraceCheckUtils]: 59: Hoare triple {6815#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {6822#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} is VALID [2022-04-28 12:34:37,926 INFO L272 TraceCheckUtils]: 60: Hoare triple {6822#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:37,926 INFO L290 TraceCheckUtils]: 61: Hoare triple {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6830#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:37,926 INFO L290 TraceCheckUtils]: 62: Hoare triple {6830#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6633#false} is VALID [2022-04-28 12:34:37,926 INFO L290 TraceCheckUtils]: 63: Hoare triple {6633#false} assume !false; {6633#false} is VALID [2022-04-28 12:34:37,927 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 6 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:34:37,927 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:35:11,878 INFO L290 TraceCheckUtils]: 63: Hoare triple {6633#false} assume !false; {6633#false} is VALID [2022-04-28 12:35:11,879 INFO L290 TraceCheckUtils]: 62: Hoare triple {6830#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6633#false} is VALID [2022-04-28 12:35:11,879 INFO L290 TraceCheckUtils]: 61: Hoare triple {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6830#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:11,880 INFO L272 TraceCheckUtils]: 60: Hoare triple {6846#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6826#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:35:11,881 INFO L290 TraceCheckUtils]: 59: Hoare triple {6850#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {6846#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:11,881 INFO L290 TraceCheckUtils]: 58: Hoare triple {6850#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {6850#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:35:12,387 INFO L290 TraceCheckUtils]: 57: Hoare triple {6857#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6850#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:35:12,388 INFO L290 TraceCheckUtils]: 56: Hoare triple {6857#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {6857#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,388 INFO L290 TraceCheckUtils]: 55: Hoare triple {6857#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6857#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,436 INFO L290 TraceCheckUtils]: 54: Hoare triple {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6857#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,436 INFO L290 TraceCheckUtils]: 53: Hoare triple {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,437 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6632#true} {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,437 INFO L290 TraceCheckUtils]: 51: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:35:12,437 INFO L290 TraceCheckUtils]: 50: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:35:12,437 INFO L290 TraceCheckUtils]: 49: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:35:12,437 INFO L272 TraceCheckUtils]: 48: Hoare triple {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,441 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6632#true} {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,441 INFO L290 TraceCheckUtils]: 46: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:35:12,442 INFO L290 TraceCheckUtils]: 45: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:35:12,442 INFO L290 TraceCheckUtils]: 44: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:35:12,442 INFO L272 TraceCheckUtils]: 43: Hoare triple {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,443 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6904#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {6867#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,443 INFO L290 TraceCheckUtils]: 41: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:12,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:12,444 INFO L290 TraceCheckUtils]: 39: Hoare triple {6632#true} ~cond := #in~cond; {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:35:12,444 INFO L272 TraceCheckUtils]: 38: Hoare triple {6904#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,445 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} {6921#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {6904#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,445 INFO L290 TraceCheckUtils]: 36: Hoare triple {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:12,445 INFO L290 TraceCheckUtils]: 35: Hoare triple {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:12,446 INFO L290 TraceCheckUtils]: 34: Hoare triple {6632#true} ~cond := #in~cond; {6914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:35:12,446 INFO L272 TraceCheckUtils]: 33: Hoare triple {6921#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,446 INFO L290 TraceCheckUtils]: 32: Hoare triple {6921#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6921#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {6940#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6921#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:35:12,448 INFO L290 TraceCheckUtils]: 30: Hoare triple {6940#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {6940#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:35:12,449 INFO L290 TraceCheckUtils]: 29: Hoare triple {6632#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6940#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:35:12,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {6632#true} assume !false; {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L290 TraceCheckUtils]: 27: Hoare triple {6632#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6632#true} {6632#true} #100#return; {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L290 TraceCheckUtils]: 25: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L290 TraceCheckUtils]: 24: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L290 TraceCheckUtils]: 23: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L272 TraceCheckUtils]: 22: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6632#true} {6632#true} #98#return; {6632#true} is VALID [2022-04-28 12:35:12,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L290 TraceCheckUtils]: 19: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L290 TraceCheckUtils]: 18: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L272 TraceCheckUtils]: 17: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6632#true} {6632#true} #96#return; {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L290 TraceCheckUtils]: 15: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L272 TraceCheckUtils]: 12: Hoare triple {6632#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {6632#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6632#true} is VALID [2022-04-28 12:35:12,450 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6632#true} {6632#true} #94#return; {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L272 TraceCheckUtils]: 6: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {6632#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {6632#true} call #t~ret6 := main(); {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6632#true} {6632#true} #112#return; {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {6632#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); {6632#true} is VALID [2022-04-28 12:35:12,451 INFO L272 TraceCheckUtils]: 0: Hoare triple {6632#true} call ULTIMATE.init(); {6632#true} is VALID [2022-04-28 12:35:12,452 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:35:12,452 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:35:12,452 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [561564043] [2022-04-28 12:35:12,452 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:35:12,452 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [323841843] [2022-04-28 12:35:12,452 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [323841843] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:35:12,452 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:35:12,452 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-28 12:35:12,453 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:35:12,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2121641233] [2022-04-28 12:35:12,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2121641233] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:35:12,453 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:35:12,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:35:12,453 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1763567551] [2022-04-28 12:35:12,453 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:35:12,454 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-28 12:35:12,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:35:12,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:35:12,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:12,494 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:35:12,494 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:12,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:35:12,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:35:12,495 INFO L87 Difference]: Start difference. First operand 140 states and 194 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:35:14,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:14,748 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-28 12:35:14,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:35:14,748 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-28 12:35:14,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:35:14,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:35:14,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 12:35:14,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:35:14,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 12:35:14,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-28 12:35:14,881 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 12:35:14,886 INFO L225 Difference]: With dead ends: 200 [2022-04-28 12:35:14,886 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:35:14,887 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 107 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=97, Invalid=503, Unknown=0, NotChecked=0, Total=600 [2022-04-28 12:35:14,887 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 47 mSDsluCounter, 284 mSDsCounter, 0 mSdLazyCounter, 678 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 706 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 678 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:35:14,887 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 329 Invalid, 706 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 678 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 12:35:14,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:35:15,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-28 12:35:15,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:35:15,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:15,376 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:15,377 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:15,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:15,384 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 12:35:15,385 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 12:35:15,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:15,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:15,386 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-28 12:35:15,386 INFO L87 Difference]: Start difference. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-28 12:35:15,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:15,395 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 12:35:15,395 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 12:35:15,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:15,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:15,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:35:15,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:35:15,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:15,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-28 12:35:15,405 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-28 12:35:15,405 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:35:15,405 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-28 12:35:15,405 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:35:15,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-28 12:35:15,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 275 edges. 275 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:15,826 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-28 12:35:15,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:35:15,827 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:35:15,827 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:35:15,843 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 12:35:16,027 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 12:35:16,028 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:35:16,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:35:16,028 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-28 12:35:16,028 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:16,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [313081227] [2022-04-28 12:35:16,029 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:35:16,029 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-28 12:35:16,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:35:16,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834106542] [2022-04-28 12:35:16,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:35:16,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:35:16,042 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:35:16,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [301704626] [2022-04-28 12:35:16,042 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:35:16,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:35:16,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:35:16,043 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 12:35:16,053 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 12:35:16,097 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:35:16,097 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:35:16,097 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 12:35:16,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:35:16,110 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:35:16,330 INFO L272 TraceCheckUtils]: 0: Hoare triple {8224#true} call ULTIMATE.init(); {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {8224#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); {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8224#true} {8224#true} #112#return; {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {8224#true} call #t~ret6 := main(); {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {8224#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L272 TraceCheckUtils]: 6: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8224#true} {8224#true} #94#return; {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {8224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L272 TraceCheckUtils]: 12: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 14: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 15: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8224#true} {8224#true} #96#return; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L272 TraceCheckUtils]: 17: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 19: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8224#true} {8224#true} #98#return; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L272 TraceCheckUtils]: 22: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 23: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 24: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8224#true} {8224#true} #100#return; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {8224#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 28: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-28 12:35:16,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {8224#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8224#true} is VALID [2022-04-28 12:35:16,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-28 12:35:16,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {8224#true} assume !(~c~0 >= ~b~0); {8322#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:35:16,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {8322#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:35:16,332 INFO L290 TraceCheckUtils]: 33: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !false; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:35:16,333 INFO L290 TraceCheckUtils]: 34: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:35:16,333 INFO L290 TraceCheckUtils]: 35: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !false; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:35:16,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !false; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,334 INFO L272 TraceCheckUtils]: 38: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,334 INFO L290 TraceCheckUtils]: 39: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,334 INFO L290 TraceCheckUtils]: 41: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,335 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #102#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,335 INFO L272 TraceCheckUtils]: 43: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,335 INFO L290 TraceCheckUtils]: 44: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,335 INFO L290 TraceCheckUtils]: 45: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,335 INFO L290 TraceCheckUtils]: 46: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,335 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #104#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,335 INFO L272 TraceCheckUtils]: 48: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,336 INFO L290 TraceCheckUtils]: 49: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,336 INFO L290 TraceCheckUtils]: 50: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,336 INFO L290 TraceCheckUtils]: 51: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,336 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #106#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,336 INFO L272 TraceCheckUtils]: 53: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,336 INFO L290 TraceCheckUtils]: 54: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,336 INFO L290 TraceCheckUtils]: 55: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,336 INFO L290 TraceCheckUtils]: 56: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,337 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #108#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,337 INFO L290 TraceCheckUtils]: 58: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,338 INFO L290 TraceCheckUtils]: 59: Hoare triple {8340#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8410#(< 0 main_~c~0)} is VALID [2022-04-28 12:35:16,338 INFO L290 TraceCheckUtils]: 60: Hoare triple {8410#(< 0 main_~c~0)} assume !false; {8410#(< 0 main_~c~0)} is VALID [2022-04-28 12:35:16,338 INFO L290 TraceCheckUtils]: 61: Hoare triple {8410#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8410#(< 0 main_~c~0)} is VALID [2022-04-28 12:35:16,339 INFO L290 TraceCheckUtils]: 62: Hoare triple {8410#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8420#(< 0 main_~b~0)} is VALID [2022-04-28 12:35:16,339 INFO L290 TraceCheckUtils]: 63: Hoare triple {8420#(< 0 main_~b~0)} assume !false; {8420#(< 0 main_~b~0)} is VALID [2022-04-28 12:35:16,339 INFO L290 TraceCheckUtils]: 64: Hoare triple {8420#(< 0 main_~b~0)} assume !(0 != ~b~0); {8225#false} is VALID [2022-04-28 12:35:16,339 INFO L272 TraceCheckUtils]: 65: Hoare triple {8225#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8225#false} is VALID [2022-04-28 12:35:16,340 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#false} ~cond := #in~cond; {8225#false} is VALID [2022-04-28 12:35:16,340 INFO L290 TraceCheckUtils]: 67: Hoare triple {8225#false} assume 0 == ~cond; {8225#false} is VALID [2022-04-28 12:35:16,340 INFO L290 TraceCheckUtils]: 68: Hoare triple {8225#false} assume !false; {8225#false} is VALID [2022-04-28 12:35:16,340 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:35:16,340 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:35:16,568 INFO L290 TraceCheckUtils]: 68: Hoare triple {8225#false} assume !false; {8225#false} is VALID [2022-04-28 12:35:16,568 INFO L290 TraceCheckUtils]: 67: Hoare triple {8225#false} assume 0 == ~cond; {8225#false} is VALID [2022-04-28 12:35:16,568 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#false} ~cond := #in~cond; {8225#false} is VALID [2022-04-28 12:35:16,568 INFO L272 TraceCheckUtils]: 65: Hoare triple {8225#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8225#false} is VALID [2022-04-28 12:35:16,568 INFO L290 TraceCheckUtils]: 64: Hoare triple {8420#(< 0 main_~b~0)} assume !(0 != ~b~0); {8225#false} is VALID [2022-04-28 12:35:16,569 INFO L290 TraceCheckUtils]: 63: Hoare triple {8420#(< 0 main_~b~0)} assume !false; {8420#(< 0 main_~b~0)} is VALID [2022-04-28 12:35:16,569 INFO L290 TraceCheckUtils]: 62: Hoare triple {8410#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8420#(< 0 main_~b~0)} is VALID [2022-04-28 12:35:16,570 INFO L290 TraceCheckUtils]: 61: Hoare triple {8410#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8410#(< 0 main_~c~0)} is VALID [2022-04-28 12:35:16,570 INFO L290 TraceCheckUtils]: 60: Hoare triple {8410#(< 0 main_~c~0)} assume !false; {8410#(< 0 main_~c~0)} is VALID [2022-04-28 12:35:16,570 INFO L290 TraceCheckUtils]: 59: Hoare triple {8340#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8410#(< 0 main_~c~0)} is VALID [2022-04-28 12:35:16,571 INFO L290 TraceCheckUtils]: 58: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,571 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #108#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,571 INFO L290 TraceCheckUtils]: 56: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,571 INFO L290 TraceCheckUtils]: 55: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,571 INFO L290 TraceCheckUtils]: 54: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,571 INFO L272 TraceCheckUtils]: 53: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,572 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #106#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,572 INFO L290 TraceCheckUtils]: 51: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,572 INFO L290 TraceCheckUtils]: 50: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,572 INFO L290 TraceCheckUtils]: 49: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,572 INFO L272 TraceCheckUtils]: 48: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,573 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #104#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,573 INFO L290 TraceCheckUtils]: 46: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,573 INFO L290 TraceCheckUtils]: 45: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,573 INFO L272 TraceCheckUtils]: 43: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,573 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8224#true} {8340#(< main_~v~0 main_~c~0)} #102#return; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,574 INFO L290 TraceCheckUtils]: 41: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,574 INFO L290 TraceCheckUtils]: 40: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,574 INFO L290 TraceCheckUtils]: 39: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,574 INFO L272 TraceCheckUtils]: 38: Hoare triple {8340#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,575 INFO L290 TraceCheckUtils]: 37: Hoare triple {8340#(< main_~v~0 main_~c~0)} assume !false; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8340#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:35:16,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {8333#(< main_~b~0 main_~c~0)} assume !false; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:35:16,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8333#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:35:16,577 INFO L290 TraceCheckUtils]: 33: Hoare triple {8326#(< main_~b~0 main_~a~0)} assume !false; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:35:16,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {8322#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8326#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 31: Hoare triple {8224#true} assume !(~c~0 >= ~b~0); {8322#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 30: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 29: Hoare triple {8224#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 28: Hoare triple {8224#true} assume !false; {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 27: Hoare triple {8224#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8224#true} {8224#true} #100#return; {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L272 TraceCheckUtils]: 22: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,578 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8224#true} {8224#true} #98#return; {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L290 TraceCheckUtils]: 19: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L290 TraceCheckUtils]: 18: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L272 TraceCheckUtils]: 17: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8224#true} {8224#true} #96#return; {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L290 TraceCheckUtils]: 15: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L272 TraceCheckUtils]: 12: Hoare triple {8224#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L290 TraceCheckUtils]: 11: Hoare triple {8224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8224#true} is VALID [2022-04-28 12:35:16,579 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8224#true} {8224#true} #94#return; {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {8224#true} assume !(0 == ~cond); {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {8224#true} ~cond := #in~cond; {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L272 TraceCheckUtils]: 6: Hoare triple {8224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {8224#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {8224#true} call #t~ret6 := main(); {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8224#true} {8224#true} #112#return; {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {8224#true} assume true; {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {8224#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); {8224#true} is VALID [2022-04-28 12:35:16,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {8224#true} call ULTIMATE.init(); {8224#true} is VALID [2022-04-28 12:35:16,581 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:35:16,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:35:16,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834106542] [2022-04-28 12:35:16,581 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:35:16,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [301704626] [2022-04-28 12:35:16,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [301704626] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:35:16,581 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:35:16,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-28 12:35:16,581 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:35:16,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [313081227] [2022-04-28 12:35:16,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [313081227] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:35:16,582 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:35:16,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:35:16,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1150595329] [2022-04-28 12:35:16,582 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:35:16,582 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-28 12:35:16,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:35:16,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:16,624 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 12:35:16,625 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:35:16,625 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:16,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:35:16,625 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:35:16,625 INFO L87 Difference]: Start difference. First operand 193 states and 275 transitions. Second operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:18,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:18,471 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-28 12:35:18,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:35:18,471 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-28 12:35:18,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:35:18,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:18,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 12:35:18,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:18,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 12:35:18,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-28 12:35:18,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:18,612 INFO L225 Difference]: With dead ends: 288 [2022-04-28 12:35:18,612 INFO L226 Difference]: Without dead ends: 281 [2022-04-28 12:35:18,612 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 134 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=249, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:35:18,613 INFO L413 NwaCegarLoop]: 87 mSDtfsCounter, 48 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 84 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 84 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:35:18,613 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [52 Valid, 318 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [84 Valid, 278 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:35:18,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-28 12:35:19,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-28 12:35:19,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:35:19,085 INFO L82 GeneralOperation]: Start isEquivalent. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:19,085 INFO L74 IsIncluded]: Start isIncluded. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:19,086 INFO L87 Difference]: Start difference. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:19,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:19,099 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 12:35:19,099 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 12:35:19,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:19,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:19,101 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-28 12:35:19,101 INFO L87 Difference]: Start difference. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-28 12:35:19,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:19,115 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 12:35:19,115 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 12:35:19,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:19,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:19,117 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:35:19,117 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:35:19,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:19,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-28 12:35:19,126 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-28 12:35:19,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:35:19,126 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-28 12:35:19,126 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:19,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-28 12:35:19,563 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 296 edges. 296 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:19,563 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-28 12:35:19,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:35:19,564 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:35:19,564 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:35:19,580 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:35:19,765 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 12:35:19,765 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:35:19,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:35:19,766 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-28 12:35:19,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:19,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1717111057] [2022-04-28 12:35:19,766 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:35:19,766 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-28 12:35:19,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:35:19,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2004267968] [2022-04-28 12:35:19,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:35:19,767 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:35:19,782 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:35:19,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1321396737] [2022-04-28 12:35:19,782 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:35:19,782 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:35:19,782 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:35:19,784 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 12:35:19,792 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 12:35:19,848 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:35:19,848 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:35:19,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:35:19,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:35:19,862 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:35:20,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {10226#true} call ULTIMATE.init(); {10226#true} is VALID [2022-04-28 12:35:20,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {10226#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); {10226#true} is VALID [2022-04-28 12:35:20,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10226#true} {10226#true} #112#return; {10226#true} is VALID [2022-04-28 12:35:20,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {10226#true} call #t~ret6 := main(); {10226#true} is VALID [2022-04-28 12:35:20,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {10226#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10226#true} is VALID [2022-04-28 12:35:20,948 INFO L272 TraceCheckUtils]: 6: Hoare triple {10226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {10226#true} ~cond := #in~cond; {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:35:20,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:35:20,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:35:20,950 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} {10226#true} #94#return; {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:35:20,950 INFO L290 TraceCheckUtils]: 11: Hoare triple {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 12:35:20,951 INFO L272 TraceCheckUtils]: 12: Hoare triple {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {10226#true} ~cond := #in~cond; {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:35:20,951 INFO L290 TraceCheckUtils]: 14: Hoare triple {10252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:35:20,951 INFO L290 TraceCheckUtils]: 15: Hoare triple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:35:20,952 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10256#(not (= |assume_abort_if_not_#in~cond| 0))} {10263#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #96#return; {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} is VALID [2022-04-28 12:35:20,952 INFO L272 TraceCheckUtils]: 17: Hoare triple {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,953 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10226#true} {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} #98#return; {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} is VALID [2022-04-28 12:35:20,953 INFO L272 TraceCheckUtils]: 22: Hoare triple {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,960 INFO L290 TraceCheckUtils]: 23: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,962 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10226#true} {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} #100#return; {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} is VALID [2022-04-28 12:35:20,962 INFO L290 TraceCheckUtils]: 27: Hoare triple {10282#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 12:35:20,962 INFO L290 TraceCheckUtils]: 28: Hoare triple {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !false; {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 12:35:20,963 INFO L290 TraceCheckUtils]: 29: Hoare triple {10316#(and (<= main_~b~0 5) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,963 INFO L290 TraceCheckUtils]: 30: Hoare triple {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,964 INFO L290 TraceCheckUtils]: 31: Hoare triple {10323#(and (<= main_~c~0 5) (<= main_~b~0 5) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,964 INFO L290 TraceCheckUtils]: 32: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,964 INFO L272 TraceCheckUtils]: 33: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,964 INFO L290 TraceCheckUtils]: 34: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,964 INFO L290 TraceCheckUtils]: 35: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,964 INFO L290 TraceCheckUtils]: 36: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,972 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,972 INFO L272 TraceCheckUtils]: 38: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,972 INFO L290 TraceCheckUtils]: 39: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,972 INFO L290 TraceCheckUtils]: 41: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,973 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,973 INFO L272 TraceCheckUtils]: 43: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,973 INFO L290 TraceCheckUtils]: 44: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,973 INFO L290 TraceCheckUtils]: 45: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,973 INFO L290 TraceCheckUtils]: 46: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,974 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,974 INFO L272 TraceCheckUtils]: 48: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,974 INFO L290 TraceCheckUtils]: 49: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,974 INFO L290 TraceCheckUtils]: 50: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,974 INFO L290 TraceCheckUtils]: 51: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,975 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10226#true} {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #108#return; {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,976 INFO L290 TraceCheckUtils]: 53: Hoare triple {10330#(and (= main_~b~0 main_~v~0) (<= main_~c~0 5) (<= main_~b~0 5) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,977 INFO L290 TraceCheckUtils]: 54: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,977 INFO L272 TraceCheckUtils]: 55: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,977 INFO L290 TraceCheckUtils]: 56: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,977 INFO L290 TraceCheckUtils]: 57: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,977 INFO L290 TraceCheckUtils]: 58: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,978 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10226#true} {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,978 INFO L272 TraceCheckUtils]: 60: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,978 INFO L290 TraceCheckUtils]: 61: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,978 INFO L290 TraceCheckUtils]: 62: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,978 INFO L290 TraceCheckUtils]: 63: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,979 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10226#true} {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,979 INFO L272 TraceCheckUtils]: 65: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:20,979 INFO L290 TraceCheckUtils]: 66: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:20,979 INFO L290 TraceCheckUtils]: 67: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:20,979 INFO L290 TraceCheckUtils]: 68: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:20,980 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10226#true} {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:35:20,981 INFO L272 TraceCheckUtils]: 70: Hoare triple {10397#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 5) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:35:20,981 INFO L290 TraceCheckUtils]: 71: Hoare triple {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:20,982 INFO L290 TraceCheckUtils]: 72: Hoare triple {10453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10227#false} is VALID [2022-04-28 12:35:20,982 INFO L290 TraceCheckUtils]: 73: Hoare triple {10227#false} assume !false; {10227#false} is VALID [2022-04-28 12:35:20,982 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 17 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:35:20,982 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:35:21,379 INFO L290 TraceCheckUtils]: 73: Hoare triple {10227#false} assume !false; {10227#false} is VALID [2022-04-28 12:35:21,379 INFO L290 TraceCheckUtils]: 72: Hoare triple {10453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10227#false} is VALID [2022-04-28 12:35:21,380 INFO L290 TraceCheckUtils]: 71: Hoare triple {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:21,380 INFO L272 TraceCheckUtils]: 70: Hoare triple {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:35:21,381 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10226#true} {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:35:21,381 INFO L290 TraceCheckUtils]: 68: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,381 INFO L290 TraceCheckUtils]: 67: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,381 INFO L290 TraceCheckUtils]: 66: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,381 INFO L272 TraceCheckUtils]: 65: Hoare triple {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,383 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10226#true} {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:35:21,383 INFO L290 TraceCheckUtils]: 63: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,383 INFO L290 TraceCheckUtils]: 62: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,383 INFO L290 TraceCheckUtils]: 61: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,383 INFO L272 TraceCheckUtils]: 60: Hoare triple {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,384 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10226#true} {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:35:21,384 INFO L290 TraceCheckUtils]: 58: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,384 INFO L290 TraceCheckUtils]: 57: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,384 INFO L290 TraceCheckUtils]: 56: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,384 INFO L272 TraceCheckUtils]: 55: Hoare triple {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,385 INFO L290 TraceCheckUtils]: 54: Hoare triple {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:35:21,387 INFO L290 TraceCheckUtils]: 53: Hoare triple {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10469#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:35:21,387 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:35:21,387 INFO L290 TraceCheckUtils]: 51: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,388 INFO L290 TraceCheckUtils]: 50: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,388 INFO L290 TraceCheckUtils]: 49: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,388 INFO L272 TraceCheckUtils]: 48: Hoare triple {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,388 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:35:21,388 INFO L290 TraceCheckUtils]: 46: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,388 INFO L290 TraceCheckUtils]: 45: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,388 INFO L290 TraceCheckUtils]: 44: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,388 INFO L272 TraceCheckUtils]: 43: Hoare triple {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,389 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:35:21,389 INFO L290 TraceCheckUtils]: 41: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,389 INFO L290 TraceCheckUtils]: 40: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,389 INFO L290 TraceCheckUtils]: 39: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,389 INFO L272 TraceCheckUtils]: 38: Hoare triple {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,390 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10226#true} {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:35:21,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,390 INFO L290 TraceCheckUtils]: 35: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,390 INFO L290 TraceCheckUtils]: 34: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,390 INFO L272 TraceCheckUtils]: 33: Hoare triple {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,390 INFO L290 TraceCheckUtils]: 32: Hoare triple {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 31: Hoare triple {10226#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10521#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 30: Hoare triple {10226#true} assume !false; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 29: Hoare triple {10226#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 28: Hoare triple {10226#true} assume !false; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 27: Hoare triple {10226#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10226#true} {10226#true} #100#return; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 23: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L272 TraceCheckUtils]: 22: Hoare triple {10226#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10226#true} {10226#true} #98#return; {10226#true} is VALID [2022-04-28 12:35:21,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 19: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L272 TraceCheckUtils]: 17: Hoare triple {10226#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10226#true} {10226#true} #96#return; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 14: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 13: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L272 TraceCheckUtils]: 12: Hoare triple {10226#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {10226#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10226#true} {10226#true} #94#return; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {10226#true} assume !(0 == ~cond); {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {10226#true} ~cond := #in~cond; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L272 TraceCheckUtils]: 6: Hoare triple {10226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {10226#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {10226#true} call #t~ret6 := main(); {10226#true} is VALID [2022-04-28 12:35:21,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10226#true} {10226#true} #112#return; {10226#true} is VALID [2022-04-28 12:35:21,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {10226#true} assume true; {10226#true} is VALID [2022-04-28 12:35:21,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {10226#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); {10226#true} is VALID [2022-04-28 12:35:21,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {10226#true} call ULTIMATE.init(); {10226#true} is VALID [2022-04-28 12:35:21,393 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-28 12:35:21,393 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:35:21,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2004267968] [2022-04-28 12:35:21,393 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:35:21,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1321396737] [2022-04-28 12:35:21,393 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1321396737] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:35:21,393 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:35:21,393 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 14 [2022-04-28 12:35:21,393 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:35:21,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1717111057] [2022-04-28 12:35:21,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1717111057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:35:21,394 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:35:21,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:35:21,394 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1532891575] [2022-04-28 12:35:21,394 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:35:21,394 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 74 [2022-04-28 12:35:21,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:35:21,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 12:35:21,430 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 12:35:21,430 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:35:21,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:21,430 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:35:21,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:35:21,431 INFO L87 Difference]: Start difference. First operand 208 states and 296 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 12:35:22,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:22,126 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-28 12:35:22,126 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:35:22,126 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 74 [2022-04-28 12:35:22,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:35:22,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 12:35:22,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 12:35:22,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 12:35:22,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 12:35:22,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 12:35:22,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:22,181 INFO L225 Difference]: With dead ends: 214 [2022-04-28 12:35:22,181 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 12:35:22,181 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 134 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:35:22,182 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 13 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:35:22,182 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 139 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:35:22,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 12:35:22,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 12:35:22,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:35:22,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:22,736 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:22,736 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:22,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:22,742 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 12:35:22,742 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 12:35:22,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:22,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:22,743 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-28 12:35:22,744 INFO L87 Difference]: Start difference. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-28 12:35:22,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:22,750 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 12:35:22,750 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 12:35:22,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:22,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:22,751 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:35:22,751 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:35:22,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:22,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-28 12:35:22,758 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-28 12:35:22,759 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:35:22,759 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-28 12:35:22,759 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 12:35:22,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-28 12:35:23,285 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 299 edges. 299 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:23,285 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 12:35:23,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-28 12:35:23,286 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:35:23,286 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 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, 1, 1, 1, 1, 1] [2022-04-28 12:35:23,302 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 12:35:23,487 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 12:35:23,488 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:35:23,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:35:23,488 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-28 12:35:23,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:23,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [240252024] [2022-04-28 12:35:23,489 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:35:23,489 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-28 12:35:23,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:35:23,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1227366155] [2022-04-28 12:35:23,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:35:23,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:35:23,503 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:35:23,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1512076625] [2022-04-28 12:35:23,507 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:35:23,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:35:23,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:35:23,508 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 12:35:23,513 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 12:35:23,557 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:35:23,557 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:35:23,558 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 12:35:23,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:35:23,573 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:35:23,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {11961#true} call ULTIMATE.init(); {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {11961#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); {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11961#true} {11961#true} #112#return; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {11961#true} call #t~ret6 := main(); {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {11961#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L272 TraceCheckUtils]: 6: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11961#true} {11961#true} #94#return; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {11961#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L272 TraceCheckUtils]: 12: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,751 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11961#true} {11961#true} #96#return; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L272 TraceCheckUtils]: 17: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 19: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11961#true} {11961#true} #98#return; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L272 TraceCheckUtils]: 22: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 23: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 24: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11961#true} {11961#true} #100#return; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {11961#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 28: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 30: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 31: Hoare triple {11961#true} assume !(~c~0 >= ~b~0); {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 32: Hoare triple {11961#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11961#true} is VALID [2022-04-28 12:35:23,752 INFO L290 TraceCheckUtils]: 33: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 36: Hoare triple {11961#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 37: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L272 TraceCheckUtils]: 38: Hoare triple {11961#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 39: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 40: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 41: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11961#true} {11961#true} #102#return; {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L272 TraceCheckUtils]: 43: Hoare triple {11961#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,753 INFO L290 TraceCheckUtils]: 44: Hoare triple {11961#true} ~cond := #in~cond; {12098#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:23,754 INFO L290 TraceCheckUtils]: 45: Hoare triple {12098#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:23,755 INFO L290 TraceCheckUtils]: 46: Hoare triple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:23,764 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} {11961#true} #104#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:23,764 INFO L272 TraceCheckUtils]: 48: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,764 INFO L290 TraceCheckUtils]: 49: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:23,764 INFO L290 TraceCheckUtils]: 50: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:23,764 INFO L290 TraceCheckUtils]: 51: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,765 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:23,765 INFO L272 TraceCheckUtils]: 53: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:23,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:23,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:23,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:23,766 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:23,766 INFO L290 TraceCheckUtils]: 58: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:23,767 INFO L290 TraceCheckUtils]: 59: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:23,767 INFO L290 TraceCheckUtils]: 60: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:23,768 INFO L290 TraceCheckUtils]: 61: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:23,768 INFO L290 TraceCheckUtils]: 62: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:23,769 INFO L290 TraceCheckUtils]: 63: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:23,769 INFO L290 TraceCheckUtils]: 64: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:23,769 INFO L290 TraceCheckUtils]: 65: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:23,770 INFO L290 TraceCheckUtils]: 66: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:23,770 INFO L290 TraceCheckUtils]: 67: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:23,771 INFO L272 TraceCheckUtils]: 68: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:35:23,771 INFO L290 TraceCheckUtils]: 69: Hoare triple {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12178#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:23,772 INFO L290 TraceCheckUtils]: 70: Hoare triple {12178#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11962#false} is VALID [2022-04-28 12:35:23,772 INFO L290 TraceCheckUtils]: 71: Hoare triple {11962#false} assume !false; {11962#false} is VALID [2022-04-28 12:35:23,773 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-28 12:35:23,773 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:35:38,554 INFO L290 TraceCheckUtils]: 71: Hoare triple {11962#false} assume !false; {11962#false} is VALID [2022-04-28 12:35:38,554 INFO L290 TraceCheckUtils]: 70: Hoare triple {12178#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11962#false} is VALID [2022-04-28 12:35:38,554 INFO L290 TraceCheckUtils]: 69: Hoare triple {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12178#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:38,555 INFO L272 TraceCheckUtils]: 68: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12174#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:35:38,555 INFO L290 TraceCheckUtils]: 67: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:38,556 INFO L290 TraceCheckUtils]: 66: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:38,556 INFO L290 TraceCheckUtils]: 65: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:38,556 INFO L290 TraceCheckUtils]: 64: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:38,557 INFO L290 TraceCheckUtils]: 63: Hoare triple {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:38,557 INFO L290 TraceCheckUtils]: 62: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12155#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:35:38,558 INFO L290 TraceCheckUtils]: 61: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:38,558 INFO L290 TraceCheckUtils]: 60: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:38,558 INFO L290 TraceCheckUtils]: 59: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:38,559 INFO L290 TraceCheckUtils]: 58: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:38,559 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:38,559 INFO L290 TraceCheckUtils]: 56: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,559 INFO L290 TraceCheckUtils]: 55: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:38,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:38,559 INFO L272 TraceCheckUtils]: 53: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,560 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11961#true} {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:38,560 INFO L290 TraceCheckUtils]: 51: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,560 INFO L290 TraceCheckUtils]: 50: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:38,560 INFO L290 TraceCheckUtils]: 49: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:38,560 INFO L272 TraceCheckUtils]: 48: Hoare triple {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,561 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} {11961#true} #104#return; {12109#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:35:38,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:38,562 INFO L290 TraceCheckUtils]: 45: Hoare triple {12266#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12102#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:38,562 INFO L290 TraceCheckUtils]: 44: Hoare triple {11961#true} ~cond := #in~cond; {12266#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:35:38,563 INFO L272 TraceCheckUtils]: 43: Hoare triple {11961#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11961#true} {11961#true} #102#return; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 41: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 39: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L272 TraceCheckUtils]: 38: Hoare triple {11961#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 37: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 36: Hoare triple {11961#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 34: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 33: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 32: Hoare triple {11961#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 31: Hoare triple {11961#true} assume !(~c~0 >= ~b~0); {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 30: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 29: Hoare triple {11961#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 28: Hoare triple {11961#true} assume !false; {11961#true} is VALID [2022-04-28 12:35:38,563 INFO L290 TraceCheckUtils]: 27: Hoare triple {11961#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11961#true} {11961#true} #100#return; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 24: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L272 TraceCheckUtils]: 22: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11961#true} {11961#true} #98#return; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11961#true} {11961#true} #96#return; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L272 TraceCheckUtils]: 12: Hoare triple {11961#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {11961#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11961#true} {11961#true} #94#return; {11961#true} is VALID [2022-04-28 12:35:38,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {11961#true} assume !(0 == ~cond); {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {11961#true} ~cond := #in~cond; {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L272 TraceCheckUtils]: 6: Hoare triple {11961#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {11961#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L272 TraceCheckUtils]: 4: Hoare triple {11961#true} call #t~ret6 := main(); {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11961#true} {11961#true} #112#return; {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {11961#true} assume true; {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {11961#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); {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L272 TraceCheckUtils]: 0: Hoare triple {11961#true} call ULTIMATE.init(); {11961#true} is VALID [2022-04-28 12:35:38,565 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-28 12:35:38,565 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:35:38,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1227366155] [2022-04-28 12:35:38,565 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:35:38,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1512076625] [2022-04-28 12:35:38,566 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1512076625] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:35:38,566 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:35:38,566 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:35:38,566 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:35:38,566 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [240252024] [2022-04-28 12:35:38,566 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [240252024] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:35:38,566 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:35:38,566 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:35:38,566 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1768822011] [2022-04-28 12:35:38,566 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:35:38,566 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-28 12:35:38,567 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:35:38,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:38,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:38,604 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:35:38,604 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:38,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:35:38,604 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:35:38,604 INFO L87 Difference]: Start difference. First operand 212 states and 299 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:39,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:39,618 INFO L93 Difference]: Finished difference Result 226 states and 310 transitions. [2022-04-28 12:35:39,618 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:35:39,618 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-28 12:35:39,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:35:39,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:39,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 12:35:39,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:39,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 12:35:39,620 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-28 12:35:39,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:39,683 INFO L225 Difference]: With dead ends: 226 [2022-04-28 12:35:39,683 INFO L226 Difference]: Without dead ends: 224 [2022-04-28 12:35:39,683 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:35:39,684 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 21 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:35:39,684 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 173 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:35:39,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-28 12:35:40,171 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 224. [2022-04-28 12:35:40,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:35:40,172 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:40,172 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:40,173 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:40,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:40,179 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-28 12:35:40,179 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 12:35:40,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:40,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:40,181 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-28 12:35:40,181 INFO L87 Difference]: Start difference. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-28 12:35:40,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:40,187 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-28 12:35:40,187 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 12:35:40,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:40,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:40,188 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:35:40,188 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:35:40,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:35:40,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 308 transitions. [2022-04-28 12:35:40,196 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 308 transitions. Word has length 72 [2022-04-28 12:35:40,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:35:40,196 INFO L495 AbstractCegarLoop]: Abstraction has 224 states and 308 transitions. [2022-04-28 12:35:40,196 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:35:40,196 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 308 transitions. [2022-04-28 12:35:40,762 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:40,763 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 12:35:40,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 12:35:40,764 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:35:40,764 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:35:40,787 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:35:40,964 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 12:35:40,964 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:35:40,965 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:35:40,965 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 3 times [2022-04-28 12:35:40,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:40,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [172339774] [2022-04-28 12:35:40,965 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:35:40,965 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 4 times [2022-04-28 12:35:40,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:35:40,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [526497483] [2022-04-28 12:35:40,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:35:40,966 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:35:40,979 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:35:40,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1612285065] [2022-04-28 12:35:40,979 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:35:40,979 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:35:40,979 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:35:40,983 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 12:35:40,984 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 12:35:41,024 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:35:41,024 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:35:41,025 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 12:35:41,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:35:41,038 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:35:41,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {13756#true} call ULTIMATE.init(); {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {13756#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); {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13756#true} {13756#true} #112#return; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L272 TraceCheckUtils]: 4: Hoare triple {13756#true} call #t~ret6 := main(); {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {13756#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L272 TraceCheckUtils]: 6: Hoare triple {13756#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13756#true} {13756#true} #94#return; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 11: Hoare triple {13756#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L272 TraceCheckUtils]: 12: Hoare triple {13756#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 15: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13756#true} {13756#true} #96#return; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L272 TraceCheckUtils]: 17: Hoare triple {13756#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 19: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13756#true} {13756#true} #98#return; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L272 TraceCheckUtils]: 22: Hoare triple {13756#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 23: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 24: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 25: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13756#true} {13756#true} #100#return; {13756#true} is VALID [2022-04-28 12:35:41,246 INFO L290 TraceCheckUtils]: 27: Hoare triple {13756#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 28: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {13756#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {13756#true} assume !(~c~0 >= ~b~0); {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {13756#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {13756#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13756#true} is VALID [2022-04-28 12:35:41,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {13756#true} assume !false; {13756#true} is VALID [2022-04-28 12:35:41,248 INFO L290 TraceCheckUtils]: 36: Hoare triple {13756#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:35:41,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {13869#(<= main_~v~0 main_~b~0)} assume !false; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:35:41,248 INFO L272 TraceCheckUtils]: 38: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,248 INFO L290 TraceCheckUtils]: 39: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,248 INFO L290 TraceCheckUtils]: 40: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,248 INFO L290 TraceCheckUtils]: 41: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,249 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #102#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:35:41,249 INFO L272 TraceCheckUtils]: 43: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,249 INFO L290 TraceCheckUtils]: 44: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,249 INFO L290 TraceCheckUtils]: 45: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,249 INFO L290 TraceCheckUtils]: 46: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,250 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #104#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:35:41,250 INFO L272 TraceCheckUtils]: 48: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,250 INFO L290 TraceCheckUtils]: 49: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,250 INFO L290 TraceCheckUtils]: 50: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,250 INFO L290 TraceCheckUtils]: 51: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,251 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #106#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:35:41,251 INFO L272 TraceCheckUtils]: 53: Hoare triple {13869#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13756#true} is VALID [2022-04-28 12:35:41,251 INFO L290 TraceCheckUtils]: 54: Hoare triple {13756#true} ~cond := #in~cond; {13756#true} is VALID [2022-04-28 12:35:41,251 INFO L290 TraceCheckUtils]: 55: Hoare triple {13756#true} assume !(0 == ~cond); {13756#true} is VALID [2022-04-28 12:35:41,251 INFO L290 TraceCheckUtils]: 56: Hoare triple {13756#true} assume true; {13756#true} is VALID [2022-04-28 12:35:41,252 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13756#true} {13869#(<= main_~v~0 main_~b~0)} #108#return; {13869#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:35:41,252 INFO L290 TraceCheckUtils]: 58: Hoare triple {13869#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {13936#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:35:41,253 INFO L290 TraceCheckUtils]: 59: Hoare triple {13936#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {13940#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 12:35:41,253 INFO L290 TraceCheckUtils]: 60: Hoare triple {13940#(< main_~c~0 main_~b~0)} assume !false; {13940#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 12:35:41,254 INFO L290 TraceCheckUtils]: 61: Hoare triple {13940#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L290 TraceCheckUtils]: 62: Hoare triple {13757#false} assume !false; {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L272 TraceCheckUtils]: 63: Hoare triple {13757#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L290 TraceCheckUtils]: 64: Hoare triple {13757#false} ~cond := #in~cond; {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L290 TraceCheckUtils]: 65: Hoare triple {13757#false} assume !(0 == ~cond); {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L290 TraceCheckUtils]: 66: Hoare triple {13757#false} assume true; {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13757#false} {13757#false} #102#return; {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L272 TraceCheckUtils]: 68: Hoare triple {13757#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L290 TraceCheckUtils]: 69: Hoare triple {13757#false} ~cond := #in~cond; {13757#false} is VALID [2022-04-28 12:35:41,254 INFO L290 TraceCheckUtils]: 70: Hoare triple {13757#false} assume !(0 == ~cond); {13757#false} is VALID [2022-04-28 12:35:41,255 INFO L290 TraceCheckUtils]: 71: Hoare triple {13757#false} assume true; {13757#false} is VALID [2022-04-28 12:35:41,255 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13757#false} {13757#false} #104#return; {13757#false} is VALID [2022-04-28 12:35:41,255 INFO L272 TraceCheckUtils]: 73: Hoare triple {13757#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13757#false} is VALID [2022-04-28 12:35:41,255 INFO L290 TraceCheckUtils]: 74: Hoare triple {13757#false} ~cond := #in~cond; {13757#false} is VALID [2022-04-28 12:35:41,255 INFO L290 TraceCheckUtils]: 75: Hoare triple {13757#false} assume 0 == ~cond; {13757#false} is VALID [2022-04-28 12:35:41,255 INFO L290 TraceCheckUtils]: 76: Hoare triple {13757#false} assume !false; {13757#false} is VALID [2022-04-28 12:35:41,255 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 48 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 12:35:41,255 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:35:41,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:35:41,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [526497483] [2022-04-28 12:35:41,256 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:35:41,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1612285065] [2022-04-28 12:35:41,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1612285065] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:35:41,256 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:35:41,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:35:41,256 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:35:41,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [172339774] [2022-04-28 12:35:41,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [172339774] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:35:41,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:35:41,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:35:41,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1780286289] [2022-04-28 12:35:41,257 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:35:41,257 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-28 12:35:41,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:35:41,258 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 12:35:41,296 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:41,296 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:35:41,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:41,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:35:41,296 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:35:41,296 INFO L87 Difference]: Start difference. First operand 224 states and 308 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 12:35:42,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:42,097 INFO L93 Difference]: Finished difference Result 367 states and 500 transitions. [2022-04-28 12:35:42,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:35:42,097 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-28 12:35:42,097 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:35:42,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 12:35:42,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-28 12:35:42,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 12:35:42,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-28 12:35:42,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-28 12:35:42,173 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 12:35:42,179 INFO L225 Difference]: With dead ends: 367 [2022-04-28 12:35:42,179 INFO L226 Difference]: Without dead ends: 230 [2022-04-28 12:35:42,182 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:35:42,184 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 3 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:35:42,184 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 139 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:35:42,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-28 12:35:42,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 214. [2022-04-28 12:35:42,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:35:42,773 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 12:35:42,774 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 12:35:42,774 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 12:35:42,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:42,780 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-28 12:35:42,780 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-28 12:35:42,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:42,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:42,782 INFO L74 IsIncluded]: Start isIncluded. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-28 12:35:42,782 INFO L87 Difference]: Start difference. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-28 12:35:42,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:35:42,788 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-28 12:35:42,788 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-28 12:35:42,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:35:42,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:35:42,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:35:42,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:35:42,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 12:35:42,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 289 transitions. [2022-04-28 12:35:42,795 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 289 transitions. Word has length 77 [2022-04-28 12:35:42,796 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:35:42,796 INFO L495 AbstractCegarLoop]: Abstraction has 214 states and 289 transitions. [2022-04-28 12:35:42,796 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 12:35:42,796 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 214 states and 289 transitions. [2022-04-28 12:35:43,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:35:43,341 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 289 transitions. [2022-04-28 12:35:43,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 12:35:43,341 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:35:43,341 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:35:43,357 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:35:43,542 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 12:35:43,542 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:35:43,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:35:43,542 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 5 times [2022-04-28 12:35:43,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:35:43,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2087945612] [2022-04-28 12:35:43,543 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:35:43,543 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 6 times [2022-04-28 12:35:43,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:35:43,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [59191912] [2022-04-28 12:35:43,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:35:43,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:35:43,561 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:35:43,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1611612325] [2022-04-28 12:35:43,562 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:35:43,562 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:35:43,562 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:35:43,563 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 12:35:43,564 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 12:35:43,613 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:35:43,613 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:35:43,614 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 65 conjunts are in the unsatisfiable core [2022-04-28 12:35:43,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:35:43,633 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:35:44,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {15616#true} call ULTIMATE.init(); {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {15616#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); {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15616#true} {15616#true} #112#return; {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {15616#true} call #t~ret6 := main(); {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {15616#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L272 TraceCheckUtils]: 6: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L290 TraceCheckUtils]: 8: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15616#true} {15616#true} #94#return; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 11: Hoare triple {15616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L272 TraceCheckUtils]: 12: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 13: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 14: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 15: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15616#true} {15616#true} #96#return; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L272 TraceCheckUtils]: 17: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 18: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 19: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 20: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15616#true} {15616#true} #98#return; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L272 TraceCheckUtils]: 22: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 23: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 24: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L290 TraceCheckUtils]: 25: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,762 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15616#true} {15616#true} #100#return; {15616#true} is VALID [2022-04-28 12:35:44,763 INFO L290 TraceCheckUtils]: 27: Hoare triple {15616#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:35:44,763 INFO L290 TraceCheckUtils]: 28: Hoare triple {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:35:44,764 INFO L290 TraceCheckUtils]: 29: Hoare triple {15702#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:35:44,764 INFO L290 TraceCheckUtils]: 30: Hoare triple {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:35:44,764 INFO L290 TraceCheckUtils]: 31: Hoare triple {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:35:44,765 INFO L290 TraceCheckUtils]: 32: Hoare triple {15709#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:35:44,766 INFO L290 TraceCheckUtils]: 33: Hoare triple {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:35:44,766 INFO L290 TraceCheckUtils]: 34: Hoare triple {15719#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:35:44,766 INFO L290 TraceCheckUtils]: 35: Hoare triple {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !false; {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:35:44,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {15726#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:35:44,767 INFO L290 TraceCheckUtils]: 37: Hoare triple {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:35:44,767 INFO L272 TraceCheckUtils]: 38: Hoare triple {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,767 INFO L290 TraceCheckUtils]: 39: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,767 INFO L290 TraceCheckUtils]: 40: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,767 INFO L290 TraceCheckUtils]: 41: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,768 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15616#true} {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:35:44,768 INFO L272 TraceCheckUtils]: 43: Hoare triple {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,768 INFO L290 TraceCheckUtils]: 44: Hoare triple {15616#true} ~cond := #in~cond; {15758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:44,769 INFO L290 TraceCheckUtils]: 45: Hoare triple {15758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:44,769 INFO L290 TraceCheckUtils]: 46: Hoare triple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:35:44,770 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} {15733#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:35:44,770 INFO L272 TraceCheckUtils]: 48: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,770 INFO L290 TraceCheckUtils]: 49: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,770 INFO L290 TraceCheckUtils]: 50: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,770 INFO L290 TraceCheckUtils]: 51: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,771 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15616#true} {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:35:44,771 INFO L272 TraceCheckUtils]: 53: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,771 INFO L290 TraceCheckUtils]: 54: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,771 INFO L290 TraceCheckUtils]: 55: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,771 INFO L290 TraceCheckUtils]: 56: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,772 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15616#true} {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:35:44,772 INFO L290 TraceCheckUtils]: 58: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !(~c~0 >= 2 * ~v~0); {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:35:44,775 INFO L290 TraceCheckUtils]: 59: Hoare triple {15769#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:35:44,776 INFO L290 TraceCheckUtils]: 60: Hoare triple {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:35:44,777 INFO L290 TraceCheckUtils]: 61: Hoare triple {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:35:44,778 INFO L290 TraceCheckUtils]: 62: Hoare triple {15806#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:35:44,779 INFO L290 TraceCheckUtils]: 63: Hoare triple {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} assume !false; {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:35:44,779 INFO L290 TraceCheckUtils]: 64: Hoare triple {15816#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:35:44,780 INFO L290 TraceCheckUtils]: 65: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} assume !false; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:35:44,780 INFO L290 TraceCheckUtils]: 66: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:35:44,780 INFO L290 TraceCheckUtils]: 67: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} assume !false; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:35:44,781 INFO L272 TraceCheckUtils]: 68: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:35:44,781 INFO L290 TraceCheckUtils]: 69: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:35:44,781 INFO L290 TraceCheckUtils]: 70: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:35:44,781 INFO L290 TraceCheckUtils]: 71: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:35:44,781 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15616#true} {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} #102#return; {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:35:44,782 INFO L272 TraceCheckUtils]: 73: Hoare triple {15823#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:35:44,782 INFO L290 TraceCheckUtils]: 74: Hoare triple {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15855#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:35:44,783 INFO L290 TraceCheckUtils]: 75: Hoare triple {15855#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15617#false} is VALID [2022-04-28 12:35:44,783 INFO L290 TraceCheckUtils]: 76: Hoare triple {15617#false} assume !false; {15617#false} is VALID [2022-04-28 12:35:44,783 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 12 proven. 32 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:35:44,783 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:36:13,062 INFO L290 TraceCheckUtils]: 76: Hoare triple {15617#false} assume !false; {15617#false} is VALID [2022-04-28 12:36:13,062 INFO L290 TraceCheckUtils]: 75: Hoare triple {15855#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15617#false} is VALID [2022-04-28 12:36:13,063 INFO L290 TraceCheckUtils]: 74: Hoare triple {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15855#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:13,063 INFO L272 TraceCheckUtils]: 73: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15851#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:13,064 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15616#true} {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:13,064 INFO L290 TraceCheckUtils]: 71: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:13,064 INFO L290 TraceCheckUtils]: 70: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:13,064 INFO L290 TraceCheckUtils]: 69: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:13,064 INFO L272 TraceCheckUtils]: 68: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:13,065 INFO L290 TraceCheckUtils]: 67: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:13,065 INFO L290 TraceCheckUtils]: 66: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:13,065 INFO L290 TraceCheckUtils]: 65: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:13,066 INFO L290 TraceCheckUtils]: 64: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:13,066 INFO L290 TraceCheckUtils]: 63: Hoare triple {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:15,067 WARN L290 TraceCheckUtils]: 62: Hoare triple {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15871#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 12:36:15,068 INFO L290 TraceCheckUtils]: 61: Hoare triple {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 12:36:15,068 INFO L290 TraceCheckUtils]: 60: Hoare triple {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 12:36:16,227 INFO L290 TraceCheckUtils]: 59: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15905#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 12:36:16,227 INFO L290 TraceCheckUtils]: 58: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:16,228 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15616#true} {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #108#return; {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:16,228 INFO L290 TraceCheckUtils]: 56: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:16,228 INFO L290 TraceCheckUtils]: 55: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:16,228 INFO L290 TraceCheckUtils]: 54: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:16,228 INFO L272 TraceCheckUtils]: 53: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:16,229 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15616#true} {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #106#return; {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:16,229 INFO L290 TraceCheckUtils]: 51: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:16,229 INFO L290 TraceCheckUtils]: 50: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:16,229 INFO L290 TraceCheckUtils]: 49: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:16,229 INFO L272 TraceCheckUtils]: 48: Hoare triple {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:16,230 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {15915#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:16,231 INFO L290 TraceCheckUtils]: 46: Hoare triple {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:16,231 INFO L290 TraceCheckUtils]: 45: Hoare triple {15962#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:16,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {15616#true} ~cond := #in~cond; {15962#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:36:16,231 INFO L272 TraceCheckUtils]: 43: Hoare triple {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:16,232 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15616#true} {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:36:16,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:16,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:16,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:16,232 INFO L272 TraceCheckUtils]: 38: Hoare triple {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:16,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:36:16,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15952#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:36:16,234 INFO L290 TraceCheckUtils]: 35: Hoare triple {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:36:16,234 INFO L290 TraceCheckUtils]: 34: Hoare triple {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15987#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:36:16,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:36:18,204 INFO L290 TraceCheckUtils]: 32: Hoare triple {16001#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15994#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:36:18,205 INFO L290 TraceCheckUtils]: 31: Hoare triple {16001#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {16001#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:18,205 INFO L290 TraceCheckUtils]: 30: Hoare triple {16001#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {16001#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:18,206 INFO L290 TraceCheckUtils]: 29: Hoare triple {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16001#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) main_~c~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:18,206 INFO L290 TraceCheckUtils]: 28: Hoare triple {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} assume !false; {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} is VALID [2022-04-28 12:36:18,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {15616#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16011#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0)))} is VALID [2022-04-28 12:36:18,207 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15616#true} {15616#true} #100#return; {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L290 TraceCheckUtils]: 25: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L290 TraceCheckUtils]: 24: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L290 TraceCheckUtils]: 23: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L272 TraceCheckUtils]: 22: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15616#true} {15616#true} #98#return; {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:18,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L272 TraceCheckUtils]: 17: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15616#true} {15616#true} #96#return; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L272 TraceCheckUtils]: 12: Hoare triple {15616#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 11: Hoare triple {15616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15616#true} {15616#true} #94#return; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {15616#true} assume !(0 == ~cond); {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {15616#true} ~cond := #in~cond; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {15616#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {15616#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {15616#true} call #t~ret6 := main(); {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15616#true} {15616#true} #112#return; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {15616#true} assume true; {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {15616#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); {15616#true} is VALID [2022-04-28 12:36:18,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {15616#true} call ULTIMATE.init(); {15616#true} is VALID [2022-04-28 12:36:18,209 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 18 proven. 26 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:36:18,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:18,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [59191912] [2022-04-28 12:36:18,209 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:18,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1611612325] [2022-04-28 12:36:18,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1611612325] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:36:18,210 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:36:18,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 24 [2022-04-28 12:36:18,210 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:18,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2087945612] [2022-04-28 12:36:18,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2087945612] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:18,210 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:18,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:36:18,210 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1023876879] [2022-04-28 12:36:18,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:18,211 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-28 12:36:18,211 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:18,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:36:18,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:18,263 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:36:18,263 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:18,263 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:36:18,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=465, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:36:18,264 INFO L87 Difference]: Start difference. First operand 214 states and 289 transitions. Second operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:36:21,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:21,144 INFO L93 Difference]: Finished difference Result 285 states and 377 transitions. [2022-04-28 12:36:21,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:36:21,144 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-28 12:36:21,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:21,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:36:21,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-28 12:36:21,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:36:21,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-28 12:36:21,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 148 transitions. [2022-04-28 12:36:21,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:21,323 INFO L225 Difference]: With dead ends: 285 [2022-04-28 12:36:21,323 INFO L226 Difference]: Without dead ends: 283 [2022-04-28 12:36:21,324 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 130 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 117 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=150, Invalid=780, Unknown=0, NotChecked=0, Total=930 [2022-04-28 12:36:21,324 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 60 mSDsluCounter, 304 mSDsCounter, 0 mSdLazyCounter, 747 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 354 SdHoareTripleChecker+Invalid, 796 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 747 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:36:21,324 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 354 Invalid, 796 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 747 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:36:21,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-28 12:36:22,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 265. [2022-04-28 12:36:22,135 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:22,135 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:36:22,135 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:36:22,136 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:36:22,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:22,143 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-28 12:36:22,143 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-28 12:36:22,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:22,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:22,144 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) Second operand 283 states. [2022-04-28 12:36:22,145 INFO L87 Difference]: Start difference. First operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) Second operand 283 states. [2022-04-28 12:36:22,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:22,152 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-28 12:36:22,152 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-28 12:36:22,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:22,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:22,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:22,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:22,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:36:22,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 357 transitions. [2022-04-28 12:36:22,162 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 357 transitions. Word has length 77 [2022-04-28 12:36:22,162 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:22,162 INFO L495 AbstractCegarLoop]: Abstraction has 265 states and 357 transitions. [2022-04-28 12:36:22,162 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:36:22,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 357 transitions. [2022-04-28 12:36:22,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 357 edges. 357 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:22,860 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 357 transitions. [2022-04-28 12:36:22,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:36:22,861 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:22,861 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:36:22,886 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:36:23,075 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 12:36:23,075 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:23,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:23,076 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-28 12:36:23,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:23,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1738840325] [2022-04-28 12:36:23,077 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:23,077 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-28 12:36:23,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:23,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2111229101] [2022-04-28 12:36:23,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:23,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:23,089 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:23,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1146253334] [2022-04-28 12:36:23,089 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:36:23,090 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:23,090 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:23,091 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 12:36:23,091 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 12:36:23,141 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:36:23,141 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:23,142 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-28 12:36:23,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:23,157 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:36:24,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {17781#true} call ULTIMATE.init(); {17781#true} is VALID [2022-04-28 12:36:24,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {17781#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); {17781#true} is VALID [2022-04-28 12:36:24,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17781#true} {17781#true} #112#return; {17781#true} is VALID [2022-04-28 12:36:24,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {17781#true} call #t~ret6 := main(); {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {17781#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L272 TraceCheckUtils]: 6: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17781#true} {17781#true} #94#return; {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {17781#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L272 TraceCheckUtils]: 12: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L290 TraceCheckUtils]: 15: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,005 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17781#true} {17781#true} #96#return; {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L272 TraceCheckUtils]: 17: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L290 TraceCheckUtils]: 18: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L290 TraceCheckUtils]: 19: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17781#true} {17781#true} #98#return; {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L272 TraceCheckUtils]: 22: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L290 TraceCheckUtils]: 23: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L290 TraceCheckUtils]: 24: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,006 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17781#true} {17781#true} #100#return; {17781#true} is VALID [2022-04-28 12:36:24,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {17781#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17867#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,007 INFO L290 TraceCheckUtils]: 28: Hoare triple {17867#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {17867#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,008 INFO L290 TraceCheckUtils]: 29: Hoare triple {17867#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,008 INFO L290 TraceCheckUtils]: 30: Hoare triple {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,009 INFO L290 TraceCheckUtils]: 31: Hoare triple {17874#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,009 INFO L290 TraceCheckUtils]: 32: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,009 INFO L272 TraceCheckUtils]: 33: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,009 INFO L290 TraceCheckUtils]: 34: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,010 INFO L290 TraceCheckUtils]: 35: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,010 INFO L290 TraceCheckUtils]: 36: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,011 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17781#true} {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,011 INFO L272 TraceCheckUtils]: 38: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,011 INFO L290 TraceCheckUtils]: 39: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,011 INFO L290 TraceCheckUtils]: 40: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,011 INFO L290 TraceCheckUtils]: 41: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,012 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17781#true} {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,012 INFO L272 TraceCheckUtils]: 43: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,012 INFO L290 TraceCheckUtils]: 44: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,012 INFO L290 TraceCheckUtils]: 45: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,012 INFO L290 TraceCheckUtils]: 46: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,013 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17781#true} {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,013 INFO L272 TraceCheckUtils]: 48: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,014 INFO L290 TraceCheckUtils]: 49: Hoare triple {17781#true} ~cond := #in~cond; {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:24,014 INFO L290 TraceCheckUtils]: 50: Hoare triple {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:24,014 INFO L290 TraceCheckUtils]: 51: Hoare triple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:24,015 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,016 INFO L290 TraceCheckUtils]: 53: Hoare triple {17881#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,016 INFO L290 TraceCheckUtils]: 54: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,017 INFO L272 TraceCheckUtils]: 55: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,017 INFO L290 TraceCheckUtils]: 56: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,017 INFO L290 TraceCheckUtils]: 57: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,017 INFO L290 TraceCheckUtils]: 58: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,018 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17781#true} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,018 INFO L272 TraceCheckUtils]: 60: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,018 INFO L290 TraceCheckUtils]: 61: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,018 INFO L290 TraceCheckUtils]: 62: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,018 INFO L290 TraceCheckUtils]: 63: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,019 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17781#true} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,019 INFO L272 TraceCheckUtils]: 65: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,019 INFO L290 TraceCheckUtils]: 66: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:24,019 INFO L290 TraceCheckUtils]: 67: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:24,019 INFO L290 TraceCheckUtils]: 68: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:24,020 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17781#true} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,020 INFO L272 TraceCheckUtils]: 70: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:24,021 INFO L290 TraceCheckUtils]: 71: Hoare triple {17781#true} ~cond := #in~cond; {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:24,021 INFO L290 TraceCheckUtils]: 72: Hoare triple {17936#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:24,021 INFO L290 TraceCheckUtils]: 73: Hoare triple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:24,022 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,023 INFO L290 TraceCheckUtils]: 75: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,024 INFO L290 TraceCheckUtils]: 76: Hoare triple {17950#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,024 INFO L290 TraceCheckUtils]: 77: Hoare triple {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !false; {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,025 INFO L290 TraceCheckUtils]: 78: Hoare triple {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:36:24,026 INFO L290 TraceCheckUtils]: 79: Hoare triple {18020#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:36:24,026 INFO L290 TraceCheckUtils]: 80: Hoare triple {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:36:24,027 INFO L290 TraceCheckUtils]: 81: Hoare triple {18030#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(0 != ~b~0); {18037#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:36:24,028 INFO L272 TraceCheckUtils]: 82: Hoare triple {18037#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:24,028 INFO L290 TraceCheckUtils]: 83: Hoare triple {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:24,028 INFO L290 TraceCheckUtils]: 84: Hoare triple {18045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17782#false} is VALID [2022-04-28 12:36:24,029 INFO L290 TraceCheckUtils]: 85: Hoare triple {17782#false} assume !false; {17782#false} is VALID [2022-04-28 12:36:24,029 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 41 proven. 21 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 12:36:24,029 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:36:52,890 INFO L290 TraceCheckUtils]: 85: Hoare triple {17782#false} assume !false; {17782#false} is VALID [2022-04-28 12:36:52,891 INFO L290 TraceCheckUtils]: 84: Hoare triple {18045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17782#false} is VALID [2022-04-28 12:36:52,891 INFO L290 TraceCheckUtils]: 83: Hoare triple {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:52,892 INFO L272 TraceCheckUtils]: 82: Hoare triple {18061#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {18041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:52,892 INFO L290 TraceCheckUtils]: 81: Hoare triple {18065#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {18061#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:52,893 INFO L290 TraceCheckUtils]: 80: Hoare triple {18065#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {18065#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:36:53,016 INFO L290 TraceCheckUtils]: 79: Hoare triple {18072#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18065#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:36:53,017 INFO L290 TraceCheckUtils]: 78: Hoare triple {18072#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {18072#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,017 INFO L290 TraceCheckUtils]: 77: Hoare triple {18072#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18072#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,398 INFO L290 TraceCheckUtils]: 76: Hoare triple {18082#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18072#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,399 INFO L290 TraceCheckUtils]: 75: Hoare triple {18082#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {18082#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,400 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {18082#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,400 INFO L290 TraceCheckUtils]: 73: Hoare triple {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:53,401 INFO L290 TraceCheckUtils]: 72: Hoare triple {18099#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17940#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:53,401 INFO L290 TraceCheckUtils]: 71: Hoare triple {17781#true} ~cond := #in~cond; {18099#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:36:53,401 INFO L272 TraceCheckUtils]: 70: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,402 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17781#true} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,402 INFO L290 TraceCheckUtils]: 68: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,402 INFO L290 TraceCheckUtils]: 67: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,402 INFO L290 TraceCheckUtils]: 66: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,402 INFO L272 TraceCheckUtils]: 65: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,403 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17781#true} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,403 INFO L290 TraceCheckUtils]: 63: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,403 INFO L290 TraceCheckUtils]: 62: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,403 INFO L290 TraceCheckUtils]: 61: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,403 INFO L272 TraceCheckUtils]: 60: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,404 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17781#true} {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,404 INFO L290 TraceCheckUtils]: 58: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,404 INFO L290 TraceCheckUtils]: 57: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,404 INFO L290 TraceCheckUtils]: 56: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,404 INFO L272 TraceCheckUtils]: 55: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,404 INFO L290 TraceCheckUtils]: 54: Hoare triple {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,473 INFO L290 TraceCheckUtils]: 53: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18089#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,474 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #108#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-28 12:36:53,474 INFO L290 TraceCheckUtils]: 51: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,474 INFO L290 TraceCheckUtils]: 50: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,474 INFO L290 TraceCheckUtils]: 49: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,474 INFO L272 TraceCheckUtils]: 48: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,475 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #106#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-28 12:36:53,475 INFO L290 TraceCheckUtils]: 46: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,475 INFO L290 TraceCheckUtils]: 45: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,475 INFO L290 TraceCheckUtils]: 44: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,475 INFO L272 TraceCheckUtils]: 43: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,491 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #104#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-28 12:36:53,491 INFO L290 TraceCheckUtils]: 41: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,491 INFO L290 TraceCheckUtils]: 40: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,491 INFO L290 TraceCheckUtils]: 39: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,491 INFO L272 TraceCheckUtils]: 38: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,492 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17781#true} {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #102#return; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-28 12:36:53,493 INFO L290 TraceCheckUtils]: 36: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,493 INFO L290 TraceCheckUtils]: 35: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,493 INFO L290 TraceCheckUtils]: 34: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,493 INFO L272 TraceCheckUtils]: 33: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,494 INFO L290 TraceCheckUtils]: 32: Hoare triple {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !false; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-28 12:36:53,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18154#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-28 12:36:53,495 INFO L290 TraceCheckUtils]: 30: Hoare triple {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-28 12:36:53,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18221#(or (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-28 12:36:53,496 INFO L290 TraceCheckUtils]: 28: Hoare triple {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,497 INFO L290 TraceCheckUtils]: 27: Hoare triple {17781#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18228#(or (not (= (+ (* (- 2) main_~b~0) main_~a~0) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:36:53,497 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17781#true} {17781#true} #100#return; {17781#true} is VALID [2022-04-28 12:36:53,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,497 INFO L272 TraceCheckUtils]: 22: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,497 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17781#true} {17781#true} #98#return; {17781#true} is VALID [2022-04-28 12:36:53,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 18: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L272 TraceCheckUtils]: 17: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17781#true} {17781#true} #96#return; {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 14: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 13: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L272 TraceCheckUtils]: 12: Hoare triple {17781#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 11: Hoare triple {17781#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17781#true} {17781#true} #94#return; {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 8: Hoare triple {17781#true} assume !(0 == ~cond); {17781#true} is VALID [2022-04-28 12:36:53,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {17781#true} ~cond := #in~cond; {17781#true} is VALID [2022-04-28 12:36:53,499 INFO L272 TraceCheckUtils]: 6: Hoare triple {17781#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {17781#true} is VALID [2022-04-28 12:36:53,499 INFO L290 TraceCheckUtils]: 5: Hoare triple {17781#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17781#true} is VALID [2022-04-28 12:36:53,499 INFO L272 TraceCheckUtils]: 4: Hoare triple {17781#true} call #t~ret6 := main(); {17781#true} is VALID [2022-04-28 12:36:53,499 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17781#true} {17781#true} #112#return; {17781#true} is VALID [2022-04-28 12:36:53,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {17781#true} assume true; {17781#true} is VALID [2022-04-28 12:36:53,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {17781#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); {17781#true} is VALID [2022-04-28 12:36:53,499 INFO L272 TraceCheckUtils]: 0: Hoare triple {17781#true} call ULTIMATE.init(); {17781#true} is VALID [2022-04-28 12:36:53,500 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 36 proven. 11 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-28 12:36:53,500 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:53,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2111229101] [2022-04-28 12:36:53,500 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:53,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1146253334] [2022-04-28 12:36:53,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1146253334] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:36:53,500 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:36:53,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-28 12:36:53,500 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:53,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1738840325] [2022-04-28 12:36:53,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1738840325] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:53,501 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:53,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:36:53,501 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [594919595] [2022-04-28 12:36:53,501 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:53,501 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-28 12:36:53,501 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:53,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 12:36:53,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:53,564 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:36:53,564 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:53,565 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:36:53,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:36:53,565 INFO L87 Difference]: Start difference. First operand 265 states and 357 transitions. Second operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 12:36:57,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:57,085 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-28 12:36:57,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:36:57,086 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-28 12:36:57,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:57,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 12:36:57,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-28 12:36:57,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 12:36:57,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-28 12:36:57,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 143 transitions. [2022-04-28 12:36:57,275 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:57,285 INFO L225 Difference]: With dead ends: 348 [2022-04-28 12:36:57,285 INFO L226 Difference]: Without dead ends: 345 [2022-04-28 12:36:57,287 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 148 SyntacticMatches, 3 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 121 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=139, Invalid=673, Unknown=0, NotChecked=0, Total=812 [2022-04-28 12:36:57,288 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 55 mSDsluCounter, 276 mSDsCounter, 0 mSdLazyCounter, 731 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 328 SdHoareTripleChecker+Invalid, 790 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 59 IncrementalHoareTripleChecker+Valid, 731 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:36:57,289 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 328 Invalid, 790 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [59 Valid, 731 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 12:36:57,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 345 states. [2022-04-28 12:36:58,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 345 to 330. [2022-04-28 12:36:58,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:58,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:36:58,262 INFO L74 IsIncluded]: Start isIncluded. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:36:58,263 INFO L87 Difference]: Start difference. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:36:58,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:58,276 INFO L93 Difference]: Finished difference Result 345 states and 471 transitions. [2022-04-28 12:36:58,276 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 471 transitions. [2022-04-28 12:36:58,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:58,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:58,277 INFO L74 IsIncluded]: Start isIncluded. First operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 345 states. [2022-04-28 12:36:58,278 INFO L87 Difference]: Start difference. First operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 345 states. [2022-04-28 12:36:58,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:58,288 INFO L93 Difference]: Finished difference Result 345 states and 471 transitions. [2022-04-28 12:36:58,288 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 471 transitions. [2022-04-28 12:36:58,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:58,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:58,289 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:58,289 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:58,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:36:58,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 330 states to 330 states and 456 transitions. [2022-04-28 12:36:58,301 INFO L78 Accepts]: Start accepts. Automaton has 330 states and 456 transitions. Word has length 86 [2022-04-28 12:36:58,302 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:58,302 INFO L495 AbstractCegarLoop]: Abstraction has 330 states and 456 transitions. [2022-04-28 12:36:58,302 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 12:36:58,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 330 states and 456 transitions. [2022-04-28 12:36:59,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 456 edges. 456 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:59,263 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 456 transitions. [2022-04-28 12:36:59,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 12:36:59,264 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:59,264 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:36:59,287 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 12:36:59,482 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 12:36:59,483 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:59,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:59,483 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-28 12:36:59,483 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:59,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1348522031] [2022-04-28 12:36:59,484 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:59,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-28 12:36:59,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:59,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1518073428] [2022-04-28 12:36:59,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:59,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:59,495 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:59,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1862600017] [2022-04-28 12:36:59,495 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:36:59,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:59,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:59,496 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 12:36:59,500 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 12:36:59,554 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:36:59,554 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:59,555 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 86 conjunts are in the unsatisfiable core [2022-04-28 12:36:59,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:59,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:37:01,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {20378#true} call ULTIMATE.init(); {20378#true} is VALID [2022-04-28 12:37:01,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {20378#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); {20378#true} is VALID [2022-04-28 12:37:01,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20378#true} {20378#true} #112#return; {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {20378#true} call #t~ret6 := main(); {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {20378#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20378#true} {20378#true} #94#return; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {20378#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20378#true} {20378#true} #96#return; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L272 TraceCheckUtils]: 17: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20378#true} {20378#true} #98#return; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L272 TraceCheckUtils]: 22: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 24: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,345 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20378#true} {20378#true} #100#return; {20378#true} is VALID [2022-04-28 12:37:01,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {20378#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:37:01,346 INFO L290 TraceCheckUtils]: 28: Hoare triple {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:37:01,347 INFO L290 TraceCheckUtils]: 29: Hoare triple {20464#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:37:01,347 INFO L290 TraceCheckUtils]: 30: Hoare triple {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:37:01,347 INFO L290 TraceCheckUtils]: 31: Hoare triple {20471#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {20478#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:37:01,348 INFO L290 TraceCheckUtils]: 32: Hoare triple {20478#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:01,349 INFO L290 TraceCheckUtils]: 33: Hoare triple {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:01,349 INFO L290 TraceCheckUtils]: 34: Hoare triple {20482#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:01,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:01,350 INFO L290 TraceCheckUtils]: 36: Hoare triple {20489#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:37:01,351 INFO L290 TraceCheckUtils]: 37: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:37:01,351 INFO L272 TraceCheckUtils]: 38: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,351 INFO L290 TraceCheckUtils]: 39: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,351 INFO L290 TraceCheckUtils]: 40: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,351 INFO L290 TraceCheckUtils]: 41: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,352 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20378#true} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:37:01,352 INFO L272 TraceCheckUtils]: 43: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,352 INFO L290 TraceCheckUtils]: 44: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,352 INFO L290 TraceCheckUtils]: 45: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,352 INFO L290 TraceCheckUtils]: 46: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,353 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20378#true} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:37:01,353 INFO L272 TraceCheckUtils]: 48: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,353 INFO L290 TraceCheckUtils]: 49: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,353 INFO L290 TraceCheckUtils]: 50: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,353 INFO L290 TraceCheckUtils]: 51: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,354 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20378#true} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:37:01,354 INFO L272 TraceCheckUtils]: 53: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,354 INFO L290 TraceCheckUtils]: 54: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:01,354 INFO L290 TraceCheckUtils]: 55: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,355 INFO L290 TraceCheckUtils]: 56: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,355 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 12:37:01,356 INFO L290 TraceCheckUtils]: 58: Hoare triple {20496#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-28 12:37:01,356 INFO L290 TraceCheckUtils]: 59: Hoare triple {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} assume !false; {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-28 12:37:01,356 INFO L272 TraceCheckUtils]: 60: Hoare triple {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,357 INFO L290 TraceCheckUtils]: 61: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:01,357 INFO L290 TraceCheckUtils]: 62: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,357 INFO L290 TraceCheckUtils]: 63: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,358 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20565#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} #102#return; {20584#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,358 INFO L272 TraceCheckUtils]: 65: Hoare triple {20584#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,359 INFO L290 TraceCheckUtils]: 66: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:01,359 INFO L290 TraceCheckUtils]: 67: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,359 INFO L290 TraceCheckUtils]: 68: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,360 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20584#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,360 INFO L272 TraceCheckUtils]: 70: Hoare triple {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,360 INFO L290 TraceCheckUtils]: 71: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:37:01,360 INFO L290 TraceCheckUtils]: 72: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:37:01,360 INFO L290 TraceCheckUtils]: 73: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:37:01,361 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20378#true} {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,361 INFO L272 TraceCheckUtils]: 75: Hoare triple {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:37:01,361 INFO L290 TraceCheckUtils]: 76: Hoare triple {20378#true} ~cond := #in~cond; {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:01,362 INFO L290 TraceCheckUtils]: 77: Hoare triple {20551#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,362 INFO L290 TraceCheckUtils]: 78: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,363 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,363 INFO L290 TraceCheckUtils]: 80: Hoare triple {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,364 INFO L290 TraceCheckUtils]: 81: Hoare triple {20600#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,365 INFO L290 TraceCheckUtils]: 82: Hoare triple {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,365 INFO L290 TraceCheckUtils]: 83: Hoare triple {20637#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= main_~q~0 1) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {20644#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (< main_~c~0 main_~b~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:01,367 INFO L290 TraceCheckUtils]: 84: Hoare triple {20644#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (< main_~c~0 main_~b~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 12:37:01,367 INFO L290 TraceCheckUtils]: 85: Hoare triple {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 12:37:01,368 INFO L290 TraceCheckUtils]: 86: Hoare triple {20648#(and (= main_~r~0 0) (< main_~y~0 (* main_~a~0 3)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !(0 != ~b~0); {20655#(and (= main_~r~0 0) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (* main_~a~0 2) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 12:37:01,369 INFO L272 TraceCheckUtils]: 87: Hoare triple {20655#(and (= main_~r~0 0) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (* main_~a~0 2) main_~y~0) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:37:01,370 INFO L290 TraceCheckUtils]: 88: Hoare triple {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:01,370 INFO L290 TraceCheckUtils]: 89: Hoare triple {20663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20379#false} is VALID [2022-04-28 12:37:01,370 INFO L290 TraceCheckUtils]: 90: Hoare triple {20379#false} assume !false; {20379#false} is VALID [2022-04-28 12:37:01,371 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 51 proven. 32 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:37:01,371 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:11,839 INFO L290 TraceCheckUtils]: 90: Hoare triple {20379#false} assume !false; {20379#false} is VALID [2022-04-28 12:38:11,839 INFO L290 TraceCheckUtils]: 89: Hoare triple {20663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20379#false} is VALID [2022-04-28 12:38:11,840 INFO L290 TraceCheckUtils]: 88: Hoare triple {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:11,840 INFO L272 TraceCheckUtils]: 87: Hoare triple {20679#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {20659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:38:11,841 INFO L290 TraceCheckUtils]: 86: Hoare triple {20683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {20679#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:38:11,841 INFO L290 TraceCheckUtils]: 85: Hoare triple {20683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {20683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:38:11,899 INFO L290 TraceCheckUtils]: 84: Hoare triple {20690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:38:11,900 INFO L290 TraceCheckUtils]: 83: Hoare triple {20694#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {20690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:11,900 INFO L290 TraceCheckUtils]: 82: Hoare triple {20694#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {20694#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,182 INFO L290 TraceCheckUtils]: 81: Hoare triple {20701#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20694#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,183 INFO L290 TraceCheckUtils]: 80: Hoare triple {20701#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {20701#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,184 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20708#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {20701#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,184 INFO L290 TraceCheckUtils]: 78: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:12,185 INFO L290 TraceCheckUtils]: 77: Hoare triple {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:12,185 INFO L290 TraceCheckUtils]: 76: Hoare triple {20378#true} ~cond := #in~cond; {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:38:12,185 INFO L272 TraceCheckUtils]: 75: Hoare triple {20708#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,186 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20378#true} {20708#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {20708#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,186 INFO L290 TraceCheckUtils]: 73: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,186 INFO L290 TraceCheckUtils]: 72: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,186 INFO L290 TraceCheckUtils]: 71: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,186 INFO L272 TraceCheckUtils]: 70: Hoare triple {20708#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,187 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {20708#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,187 INFO L290 TraceCheckUtils]: 68: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:12,188 INFO L290 TraceCheckUtils]: 67: Hoare triple {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:12,188 INFO L290 TraceCheckUtils]: 66: Hoare triple {20378#true} ~cond := #in~cond; {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:38:12,188 INFO L272 TraceCheckUtils]: 65: Hoare triple {20740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,189 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} {20756#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {20740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,189 INFO L290 TraceCheckUtils]: 63: Hoare triple {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:12,190 INFO L290 TraceCheckUtils]: 62: Hoare triple {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20555#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:12,190 INFO L290 TraceCheckUtils]: 61: Hoare triple {20378#true} ~cond := #in~cond; {20718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:38:12,190 INFO L272 TraceCheckUtils]: 60: Hoare triple {20756#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,191 INFO L290 TraceCheckUtils]: 59: Hoare triple {20756#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {20756#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,198 INFO L290 TraceCheckUtils]: 58: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20756#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:38:12,199 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #108#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-28 12:38:12,199 INFO L290 TraceCheckUtils]: 56: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,199 INFO L290 TraceCheckUtils]: 55: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,199 INFO L290 TraceCheckUtils]: 54: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,199 INFO L272 TraceCheckUtils]: 53: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,200 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #106#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-28 12:38:12,200 INFO L290 TraceCheckUtils]: 51: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,200 INFO L290 TraceCheckUtils]: 50: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,200 INFO L290 TraceCheckUtils]: 49: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,200 INFO L272 TraceCheckUtils]: 48: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,201 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #104#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-28 12:38:12,201 INFO L290 TraceCheckUtils]: 46: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,201 INFO L290 TraceCheckUtils]: 45: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,201 INFO L290 TraceCheckUtils]: 44: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,202 INFO L272 TraceCheckUtils]: 43: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,202 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20378#true} {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} #102#return; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-28 12:38:12,202 INFO L290 TraceCheckUtils]: 41: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,202 INFO L290 TraceCheckUtils]: 39: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,203 INFO L272 TraceCheckUtils]: 38: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,203 INFO L290 TraceCheckUtils]: 37: Hoare triple {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} assume !false; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-28 12:38:12,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20775#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (<= main_~b~0 0))} is VALID [2022-04-28 12:38:12,204 INFO L290 TraceCheckUtils]: 35: Hoare triple {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-28 12:38:12,205 INFO L290 TraceCheckUtils]: 34: Hoare triple {20378#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20842#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-28 12:38:12,205 INFO L290 TraceCheckUtils]: 33: Hoare triple {20378#true} assume !false; {20378#true} is VALID [2022-04-28 12:38:12,205 INFO L290 TraceCheckUtils]: 32: Hoare triple {20378#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20378#true} is VALID [2022-04-28 12:38:12,205 INFO L290 TraceCheckUtils]: 31: Hoare triple {20378#true} assume !(~c~0 >= ~b~0); {20378#true} is VALID [2022-04-28 12:38:12,205 INFO L290 TraceCheckUtils]: 30: Hoare triple {20378#true} assume !false; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 29: Hoare triple {20378#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 28: Hoare triple {20378#true} assume !false; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {20378#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20378#true} {20378#true} #100#return; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 23: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L272 TraceCheckUtils]: 22: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20378#true} {20378#true} #98#return; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 20: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 19: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 18: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L272 TraceCheckUtils]: 17: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20378#true} {20378#true} #96#return; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 15: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 14: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L290 TraceCheckUtils]: 13: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,206 INFO L272 TraceCheckUtils]: 12: Hoare triple {20378#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {20378#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20378#true} {20378#true} #94#return; {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {20378#true} assume !(0 == ~cond); {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {20378#true} ~cond := #in~cond; {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L272 TraceCheckUtils]: 6: Hoare triple {20378#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {20378#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L272 TraceCheckUtils]: 4: Hoare triple {20378#true} call #t~ret6 := main(); {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20378#true} {20378#true} #112#return; {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {20378#true} assume true; {20378#true} is VALID [2022-04-28 12:38:12,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {20378#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); {20378#true} is VALID [2022-04-28 12:38:12,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {20378#true} call ULTIMATE.init(); {20378#true} is VALID [2022-04-28 12:38:12,208 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 61 proven. 17 refuted. 0 times theorem prover too weak. 93 trivial. 0 not checked. [2022-04-28 12:38:12,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:12,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1518073428] [2022-04-28 12:38:12,209 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:12,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1862600017] [2022-04-28 12:38:12,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1862600017] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:12,209 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:12,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 16] total 30 [2022-04-28 12:38:12,209 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:12,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1348522031] [2022-04-28 12:38:12,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1348522031] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:12,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:12,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 12:38:12,210 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1674034697] [2022-04-28 12:38:12,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:12,210 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-28 12:38:12,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:12,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:38:12,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:12,284 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 12:38:12,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:12,285 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 12:38:12,285 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=728, Unknown=0, NotChecked=0, Total=870 [2022-04-28 12:38:12,285 INFO L87 Difference]: Start difference. First operand 330 states and 456 transitions. Second operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:38:18,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:18,660 INFO L93 Difference]: Finished difference Result 422 states and 582 transitions. [2022-04-28 12:38:18,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 12:38:18,661 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-28 12:38:18,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:18,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:38:18,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 175 transitions. [2022-04-28 12:38:18,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:38:18,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 175 transitions. [2022-04-28 12:38:18,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 175 transitions. [2022-04-28 12:38:18,936 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 12:38:18,950 INFO L225 Difference]: With dead ends: 422 [2022-04-28 12:38:18,950 INFO L226 Difference]: Without dead ends: 419 [2022-04-28 12:38:18,951 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 150 SyntacticMatches, 3 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 307 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=230, Invalid=1176, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 12:38:18,952 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 65 mSDsluCounter, 418 mSDsCounter, 0 mSdLazyCounter, 1295 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 477 SdHoareTripleChecker+Invalid, 1343 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 1295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:18,952 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [83 Valid, 477 Invalid, 1343 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 1295 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-28 12:38:18,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 419 states. [2022-04-28 12:38:20,274 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 419 to 399. [2022-04-28 12:38:20,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:20,275 INFO L82 GeneralOperation]: Start isEquivalent. First operand 419 states. Second operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:38:20,276 INFO L74 IsIncluded]: Start isIncluded. First operand 419 states. Second operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:38:20,276 INFO L87 Difference]: Start difference. First operand 419 states. Second operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:38:20,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:20,289 INFO L93 Difference]: Finished difference Result 419 states and 578 transitions. [2022-04-28 12:38:20,289 INFO L276 IsEmpty]: Start isEmpty. Operand 419 states and 578 transitions. [2022-04-28 12:38:20,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:20,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:20,292 INFO L74 IsIncluded]: Start isIncluded. First operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 419 states. [2022-04-28 12:38:20,293 INFO L87 Difference]: Start difference. First operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 419 states. [2022-04-28 12:38:20,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:20,306 INFO L93 Difference]: Finished difference Result 419 states and 578 transitions. [2022-04-28 12:38:20,306 INFO L276 IsEmpty]: Start isEmpty. Operand 419 states and 578 transitions. [2022-04-28 12:38:20,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:20,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:20,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:20,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:20,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 399 states, 228 states have (on average 1.2017543859649122) internal successors, (274), 229 states have internal predecessors, (274), 143 states have call successors, (143), 28 states have call predecessors, (143), 27 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:38:20,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 399 states to 399 states and 558 transitions. [2022-04-28 12:38:20,325 INFO L78 Accepts]: Start accepts. Automaton has 399 states and 558 transitions. Word has length 91 [2022-04-28 12:38:20,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:20,325 INFO L495 AbstractCegarLoop]: Abstraction has 399 states and 558 transitions. [2022-04-28 12:38:20,325 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 17 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:38:20,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 399 states and 558 transitions. [2022-04-28 12:38:21,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 558 edges. 558 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:21,696 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 558 transitions. [2022-04-28 12:38:21,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 12:38:21,698 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:21,698 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:21,721 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 12:38:21,921 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 12:38:21,921 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:21,921 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:21,922 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 7 times [2022-04-28 12:38:21,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:21,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1444215460] [2022-04-28 12:38:21,922 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:21,922 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 8 times [2022-04-28 12:38:21,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:21,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1118984538] [2022-04-28 12:38:21,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:21,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:21,939 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:21,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1051216766] [2022-04-28 12:38:21,940 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:38:21,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:21,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:21,941 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 12:38:21,944 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 12:38:22,000 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:38:22,000 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:22,002 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 96 conjunts are in the unsatisfiable core [2022-04-28 12:38:22,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:22,031 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:37,482 INFO L272 TraceCheckUtils]: 0: Hoare triple {23449#true} call ULTIMATE.init(); {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {23449#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); {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23449#true} {23449#true} #112#return; {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {23449#true} call #t~ret6 := main(); {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L290 TraceCheckUtils]: 5: Hoare triple {23449#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L272 TraceCheckUtils]: 6: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L290 TraceCheckUtils]: 7: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L290 TraceCheckUtils]: 8: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L290 TraceCheckUtils]: 9: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23449#true} {23449#true} #94#return; {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {23449#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23449#true} is VALID [2022-04-28 12:38:37,482 INFO L272 TraceCheckUtils]: 12: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23449#true} {23449#true} #96#return; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L272 TraceCheckUtils]: 17: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23449#true} {23449#true} #98#return; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L272 TraceCheckUtils]: 22: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L290 TraceCheckUtils]: 25: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,483 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23449#true} {23449#true} #100#return; {23449#true} is VALID [2022-04-28 12:38:37,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {23449#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23535#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,484 INFO L290 TraceCheckUtils]: 28: Hoare triple {23535#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {23535#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {23535#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23542#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {23542#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {23542#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,485 INFO L290 TraceCheckUtils]: 31: Hoare triple {23542#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23549#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,486 INFO L290 TraceCheckUtils]: 32: Hoare triple {23549#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {23549#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,486 INFO L272 TraceCheckUtils]: 33: Hoare triple {23549#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,486 INFO L290 TraceCheckUtils]: 34: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:37,486 INFO L290 TraceCheckUtils]: 35: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,486 INFO L290 TraceCheckUtils]: 36: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,487 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23549#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,487 INFO L272 TraceCheckUtils]: 38: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,488 INFO L290 TraceCheckUtils]: 39: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:37,488 INFO L290 TraceCheckUtils]: 40: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,488 INFO L290 TraceCheckUtils]: 41: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,489 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,489 INFO L272 TraceCheckUtils]: 43: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,489 INFO L290 TraceCheckUtils]: 45: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,489 INFO L290 TraceCheckUtils]: 46: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,490 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23449#true} {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,490 INFO L272 TraceCheckUtils]: 48: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,490 INFO L290 TraceCheckUtils]: 49: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,490 INFO L290 TraceCheckUtils]: 50: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,490 INFO L290 TraceCheckUtils]: 51: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,491 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23449#true} {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,491 INFO L290 TraceCheckUtils]: 53: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,492 INFO L290 TraceCheckUtils]: 54: Hoare triple {23570#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,492 INFO L290 TraceCheckUtils]: 55: Hoare triple {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,492 INFO L290 TraceCheckUtils]: 56: Hoare triple {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,493 INFO L290 TraceCheckUtils]: 57: Hoare triple {23622#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-28 12:38:37,493 INFO L290 TraceCheckUtils]: 58: Hoare triple {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !false; {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-28 12:38:37,494 INFO L290 TraceCheckUtils]: 59: Hoare triple {23632#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-28 12:38:37,494 INFO L290 TraceCheckUtils]: 60: Hoare triple {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !false; {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-28 12:38:37,494 INFO L290 TraceCheckUtils]: 61: Hoare triple {23639#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-28 12:38:37,495 INFO L290 TraceCheckUtils]: 62: Hoare triple {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} assume !false; {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} is VALID [2022-04-28 12:38:37,495 INFO L272 TraceCheckUtils]: 63: Hoare triple {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,495 INFO L290 TraceCheckUtils]: 64: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:37,495 INFO L290 TraceCheckUtils]: 65: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,497 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23646#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1))} #102#return; {23665#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,497 INFO L272 TraceCheckUtils]: 68: Hoare triple {23665#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,497 INFO L290 TraceCheckUtils]: 69: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:37,497 INFO L290 TraceCheckUtils]: 70: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,498 INFO L290 TraceCheckUtils]: 71: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,498 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23665#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,499 INFO L272 TraceCheckUtils]: 73: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,499 INFO L290 TraceCheckUtils]: 74: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,499 INFO L290 TraceCheckUtils]: 75: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,499 INFO L290 TraceCheckUtils]: 76: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,499 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23449#true} {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,500 INFO L272 TraceCheckUtils]: 78: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,500 INFO L290 TraceCheckUtils]: 79: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:38:37,500 INFO L290 TraceCheckUtils]: 80: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:38:37,500 INFO L290 TraceCheckUtils]: 81: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:38:37,503 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {23449#true} {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,503 INFO L290 TraceCheckUtils]: 83: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,504 INFO L290 TraceCheckUtils]: 84: Hoare triple {23681#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,505 INFO L290 TraceCheckUtils]: 85: Hoare triple {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,506 INFO L290 TraceCheckUtils]: 86: Hoare triple {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:38:37,508 INFO L290 TraceCheckUtils]: 87: Hoare triple {23718#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,508 INFO L290 TraceCheckUtils]: 88: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,509 INFO L290 TraceCheckUtils]: 89: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,509 INFO L290 TraceCheckUtils]: 90: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,510 INFO L290 TraceCheckUtils]: 91: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,510 INFO L290 TraceCheckUtils]: 92: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:38:37,510 INFO L272 TraceCheckUtils]: 93: Hoare triple {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:38:37,511 INFO L290 TraceCheckUtils]: 94: Hoare triple {23449#true} ~cond := #in~cond; {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:37,511 INFO L290 TraceCheckUtils]: 95: Hoare triple {23559#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,511 INFO L290 TraceCheckUtils]: 96: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:37,513 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23728#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))) (= (+ (* main_~y~0 main_~r~0) main_~y~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #102#return; {23759#(and (= (* (- 1) main_~q~0) 1) (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) (* main_~y~0 main_~s~0)) (= main_~x~0 (+ main_~y~0 (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:38:37,514 INFO L272 TraceCheckUtils]: 98: Hoare triple {23759#(and (= (* (- 1) main_~q~0) 1) (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) (* main_~y~0 main_~s~0)) (= main_~x~0 (+ main_~y~0 (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:38:37,514 INFO L290 TraceCheckUtils]: 99: Hoare triple {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23767#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:37,514 INFO L290 TraceCheckUtils]: 100: Hoare triple {23767#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23450#false} is VALID [2022-04-28 12:38:37,514 INFO L290 TraceCheckUtils]: 101: Hoare triple {23450#false} assume !false; {23450#false} is VALID [2022-04-28 12:38:37,515 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 37 proven. 81 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-28 12:38:37,515 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:39:44,378 INFO L290 TraceCheckUtils]: 101: Hoare triple {23450#false} assume !false; {23450#false} is VALID [2022-04-28 12:39:44,378 INFO L290 TraceCheckUtils]: 100: Hoare triple {23767#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23450#false} is VALID [2022-04-28 12:39:44,378 INFO L290 TraceCheckUtils]: 99: Hoare triple {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23767#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:39:44,379 INFO L272 TraceCheckUtils]: 98: Hoare triple {23783#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23763#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:39:44,380 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #102#return; {23783#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:39:44,380 INFO L290 TraceCheckUtils]: 96: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:44,380 INFO L290 TraceCheckUtils]: 95: Hoare triple {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:44,381 INFO L290 TraceCheckUtils]: 94: Hoare triple {23449#true} ~cond := #in~cond; {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:39:44,381 INFO L272 TraceCheckUtils]: 93: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,381 INFO L290 TraceCheckUtils]: 92: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:39:44,382 INFO L290 TraceCheckUtils]: 91: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:39:44,382 INFO L290 TraceCheckUtils]: 90: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:39:44,383 INFO L290 TraceCheckUtils]: 89: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:39:44,384 INFO L290 TraceCheckUtils]: 88: Hoare triple {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:39:44,406 INFO L290 TraceCheckUtils]: 87: Hoare triple {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23787#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:39:44,407 INFO L290 TraceCheckUtils]: 86: Hoare triple {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,407 INFO L290 TraceCheckUtils]: 85: Hoare triple {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,412 INFO L290 TraceCheckUtils]: 84: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23819#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,412 INFO L290 TraceCheckUtils]: 83: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,413 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {23449#true} {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,413 INFO L290 TraceCheckUtils]: 81: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,413 INFO L290 TraceCheckUtils]: 80: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,413 INFO L290 TraceCheckUtils]: 79: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,413 INFO L272 TraceCheckUtils]: 78: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,414 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23449#true} {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,414 INFO L290 TraceCheckUtils]: 76: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,414 INFO L290 TraceCheckUtils]: 75: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,414 INFO L290 TraceCheckUtils]: 74: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,414 INFO L272 TraceCheckUtils]: 73: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,415 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23449#true} {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,415 INFO L290 TraceCheckUtils]: 71: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,415 INFO L290 TraceCheckUtils]: 70: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,415 INFO L290 TraceCheckUtils]: 69: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,415 INFO L272 TraceCheckUtils]: 68: Hoare triple {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,416 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {23829#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,416 INFO L290 TraceCheckUtils]: 66: Hoare triple {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:44,417 INFO L290 TraceCheckUtils]: 65: Hoare triple {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:44,417 INFO L290 TraceCheckUtils]: 64: Hoare triple {23449#true} ~cond := #in~cond; {23797#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:39:44,417 INFO L272 TraceCheckUtils]: 63: Hoare triple {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,418 INFO L290 TraceCheckUtils]: 62: Hoare triple {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,418 INFO L290 TraceCheckUtils]: 61: Hoare triple {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23881#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,419 INFO L290 TraceCheckUtils]: 60: Hoare triple {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 59: Hoare triple {23449#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23900#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 58: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 57: Hoare triple {23449#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 56: Hoare triple {23449#true} assume !(~c~0 >= ~b~0); {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 55: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 54: Hoare triple {23449#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 53: Hoare triple {23449#true} assume !(~c~0 >= 2 * ~v~0); {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23449#true} {23449#true} #108#return; {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 51: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,420 INFO L290 TraceCheckUtils]: 50: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L290 TraceCheckUtils]: 49: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L272 TraceCheckUtils]: 48: Hoare triple {23449#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23449#true} {23449#true} #106#return; {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L290 TraceCheckUtils]: 46: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L290 TraceCheckUtils]: 45: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L290 TraceCheckUtils]: 44: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L272 TraceCheckUtils]: 43: Hoare triple {23449#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23449#true} {23449#true} #104#return; {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L290 TraceCheckUtils]: 41: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L290 TraceCheckUtils]: 40: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L272 TraceCheckUtils]: 38: Hoare triple {23449#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,421 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23449#true} {23449#true} #102#return; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 36: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L272 TraceCheckUtils]: 33: Hoare triple {23449#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 32: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {23449#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {23449#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {23449#true} assume !false; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {23449#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23449#true} {23449#true} #100#return; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 25: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L272 TraceCheckUtils]: 22: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23449#true} {23449#true} #98#return; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,422 INFO L290 TraceCheckUtils]: 19: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23449#true} {23449#true} #96#return; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L272 TraceCheckUtils]: 12: Hoare triple {23449#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {23449#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23449#true} {23449#true} #94#return; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {23449#true} assume !(0 == ~cond); {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {23449#true} ~cond := #in~cond; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L272 TraceCheckUtils]: 6: Hoare triple {23449#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {23449#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {23449#true} call #t~ret6 := main(); {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23449#true} {23449#true} #112#return; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {23449#true} assume true; {23449#true} is VALID [2022-04-28 12:39:44,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {23449#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); {23449#true} is VALID [2022-04-28 12:39:44,424 INFO L272 TraceCheckUtils]: 0: Hoare triple {23449#true} call ULTIMATE.init(); {23449#true} is VALID [2022-04-28 12:39:44,424 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 78 proven. 18 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-28 12:39:44,424 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:44,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1118984538] [2022-04-28 12:39:44,424 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:44,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1051216766] [2022-04-28 12:39:44,424 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1051216766] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:39:44,424 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:39:44,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 12] total 26 [2022-04-28 12:39:44,425 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:44,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1444215460] [2022-04-28 12:39:44,425 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1444215460] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:44,425 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:44,425 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 12:39:44,425 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1631959145] [2022-04-28 12:39:44,425 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:44,425 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) Word has length 102 [2022-04-28 12:39:44,426 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:44,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:39:44,500 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 12:39:44,501 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 12:39:44,501 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:44,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 12:39:44,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2022-04-28 12:39:44,502 INFO L87 Difference]: Start difference. First operand 399 states and 558 transitions. Second operand has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:39:49,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:49,733 INFO L93 Difference]: Finished difference Result 474 states and 649 transitions. [2022-04-28 12:39:49,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:39:49,734 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) Word has length 102 [2022-04-28 12:39:49,734 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:49,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:39:49,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-28 12:39:49,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:39:49,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-28 12:39:49,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 163 transitions. [2022-04-28 12:39:49,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:50,013 INFO L225 Difference]: With dead ends: 474 [2022-04-28 12:39:50,013 INFO L226 Difference]: Without dead ends: 472 [2022-04-28 12:39:50,014 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 176 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 212 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=146, Invalid=784, Unknown=0, NotChecked=0, Total=930 [2022-04-28 12:39:50,015 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 63 mSDsluCounter, 423 mSDsCounter, 0 mSdLazyCounter, 1133 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 472 SdHoareTripleChecker+Invalid, 1169 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 1133 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:39:50,015 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [89 Valid, 472 Invalid, 1169 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 1133 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-28 12:39:50,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 472 states. [2022-04-28 12:39:51,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 472 to 454. [2022-04-28 12:39:51,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:39:51,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 472 states. Second operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-28 12:39:51,402 INFO L74 IsIncluded]: Start isIncluded. First operand 472 states. Second operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-28 12:39:51,403 INFO L87 Difference]: Start difference. First operand 472 states. Second operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-28 12:39:51,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:51,418 INFO L93 Difference]: Finished difference Result 472 states and 647 transitions. [2022-04-28 12:39:51,419 INFO L276 IsEmpty]: Start isEmpty. Operand 472 states and 647 transitions. [2022-04-28 12:39:51,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:51,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:51,421 INFO L74 IsIncluded]: Start isIncluded. First operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) Second operand 472 states. [2022-04-28 12:39:51,422 INFO L87 Difference]: Start difference. First operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) Second operand 472 states. [2022-04-28 12:39:51,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:51,436 INFO L93 Difference]: Finished difference Result 472 states and 647 transitions. [2022-04-28 12:39:51,437 INFO L276 IsEmpty]: Start isEmpty. Operand 472 states and 647 transitions. [2022-04-28 12:39:51,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:51,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:51,438 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:39:51,438 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:39:51,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 454 states, 262 states have (on average 1.1946564885496183) internal successors, (313), 263 states have internal predecessors, (313), 159 states have call successors, (159), 33 states have call predecessors, (159), 32 states have return successors, (157), 157 states have call predecessors, (157), 157 states have call successors, (157) [2022-04-28 12:39:51,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 454 states to 454 states and 629 transitions. [2022-04-28 12:39:51,457 INFO L78 Accepts]: Start accepts. Automaton has 454 states and 629 transitions. Word has length 102 [2022-04-28 12:39:51,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:39:51,457 INFO L495 AbstractCegarLoop]: Abstraction has 454 states and 629 transitions. [2022-04-28 12:39:51,457 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 8 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:39:51,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 454 states and 629 transitions. [2022-04-28 12:39:53,119 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 629 edges. 629 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:53,119 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 629 transitions. [2022-04-28 12:39:53,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-28 12:39:53,120 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:53,120 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:39:53,147 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 12:39:53,335 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 12:39:53,335 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:53,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:53,336 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-28 12:39:53,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:53,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1614175426] [2022-04-28 12:39:53,336 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:53,336 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-28 12:39:53,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:53,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [118862079] [2022-04-28 12:39:53,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:53,337 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:53,348 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:53,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1289573796] [2022-04-28 12:39:53,349 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:39:53,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:53,349 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:53,350 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 12:39:53,351 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 12:39:53,412 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:39:53,412 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:53,413 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 58 conjunts are in the unsatisfiable core [2022-04-28 12:39:53,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:53,435 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:16,108 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:40:16,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {26896#true} call ULTIMATE.init(); {26896#true} is VALID [2022-04-28 12:40:16,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {26896#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); {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26896#true} {26896#true} #112#return; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {26896#true} call #t~ret6 := main(); {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {26896#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {26896#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26896#true} {26896#true} #94#return; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 11: Hoare triple {26896#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L272 TraceCheckUtils]: 12: Hoare triple {26896#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 15: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {26896#true} {26896#true} #96#return; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L272 TraceCheckUtils]: 17: Hoare triple {26896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 18: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,477 INFO L290 TraceCheckUtils]: 19: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {26896#true} {26896#true} #98#return; {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L272 TraceCheckUtils]: 22: Hoare triple {26896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L290 TraceCheckUtils]: 23: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L290 TraceCheckUtils]: 25: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {26896#true} {26896#true} #100#return; {26896#true} is VALID [2022-04-28 12:40:16,478 INFO L290 TraceCheckUtils]: 27: Hoare triple {26896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26982#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,479 INFO L290 TraceCheckUtils]: 28: Hoare triple {26982#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {26982#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {26982#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,480 INFO L290 TraceCheckUtils]: 30: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,480 INFO L290 TraceCheckUtils]: 31: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,480 INFO L290 TraceCheckUtils]: 32: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,481 INFO L272 TraceCheckUtils]: 33: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,481 INFO L290 TraceCheckUtils]: 36: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,481 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,481 INFO L272 TraceCheckUtils]: 38: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,482 INFO L290 TraceCheckUtils]: 39: Hoare triple {26896#true} ~cond := #in~cond; {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:40:16,482 INFO L290 TraceCheckUtils]: 40: Hoare triple {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:16,482 INFO L290 TraceCheckUtils]: 41: Hoare triple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:16,483 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,483 INFO L272 TraceCheckUtils]: 43: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,483 INFO L290 TraceCheckUtils]: 44: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,483 INFO L290 TraceCheckUtils]: 45: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,483 INFO L290 TraceCheckUtils]: 46: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,484 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,484 INFO L272 TraceCheckUtils]: 48: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,484 INFO L290 TraceCheckUtils]: 49: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,484 INFO L290 TraceCheckUtils]: 50: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,484 INFO L290 TraceCheckUtils]: 51: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,485 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,485 INFO L290 TraceCheckUtils]: 53: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,486 INFO L290 TraceCheckUtils]: 54: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,486 INFO L272 TraceCheckUtils]: 55: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,486 INFO L290 TraceCheckUtils]: 56: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,486 INFO L290 TraceCheckUtils]: 57: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,486 INFO L290 TraceCheckUtils]: 58: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,486 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,487 INFO L272 TraceCheckUtils]: 60: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,487 INFO L290 TraceCheckUtils]: 61: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,487 INFO L290 TraceCheckUtils]: 62: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,487 INFO L290 TraceCheckUtils]: 63: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,487 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,487 INFO L272 TraceCheckUtils]: 65: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,487 INFO L290 TraceCheckUtils]: 66: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,488 INFO L290 TraceCheckUtils]: 67: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,488 INFO L290 TraceCheckUtils]: 68: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,488 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,488 INFO L272 TraceCheckUtils]: 70: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,488 INFO L290 TraceCheckUtils]: 71: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,488 INFO L290 TraceCheckUtils]: 72: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,488 INFO L290 TraceCheckUtils]: 73: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,489 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,490 INFO L290 TraceCheckUtils]: 75: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,490 INFO L290 TraceCheckUtils]: 76: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,490 INFO L272 TraceCheckUtils]: 77: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,490 INFO L290 TraceCheckUtils]: 78: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,490 INFO L290 TraceCheckUtils]: 79: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,490 INFO L290 TraceCheckUtils]: 80: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,491 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,491 INFO L272 TraceCheckUtils]: 82: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,491 INFO L290 TraceCheckUtils]: 83: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,491 INFO L290 TraceCheckUtils]: 84: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,491 INFO L290 TraceCheckUtils]: 85: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,492 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,492 INFO L272 TraceCheckUtils]: 87: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,492 INFO L290 TraceCheckUtils]: 88: Hoare triple {26896#true} ~cond := #in~cond; {26896#true} is VALID [2022-04-28 12:40:16,492 INFO L290 TraceCheckUtils]: 89: Hoare triple {26896#true} assume !(0 == ~cond); {26896#true} is VALID [2022-04-28 12:40:16,492 INFO L290 TraceCheckUtils]: 90: Hoare triple {26896#true} assume true; {26896#true} is VALID [2022-04-28 12:40:16,493 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {26896#true} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,493 INFO L272 TraceCheckUtils]: 92: Hoare triple {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {26896#true} is VALID [2022-04-28 12:40:16,493 INFO L290 TraceCheckUtils]: 93: Hoare triple {26896#true} ~cond := #in~cond; {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:40:16,493 INFO L290 TraceCheckUtils]: 94: Hoare triple {27020#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:16,494 INFO L290 TraceCheckUtils]: 95: Hoare triple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:16,494 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {27024#(not (= |__VERIFIER_assert_#in~cond| 0))} {26989#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {27193#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,495 INFO L290 TraceCheckUtils]: 97: Hoare triple {27193#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {27197#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,498 INFO L290 TraceCheckUtils]: 98: Hoare triple {27197#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,498 INFO L290 TraceCheckUtils]: 99: Hoare triple {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} assume !false; {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,499 INFO L290 TraceCheckUtils]: 100: Hoare triple {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 12:40:16,501 INFO L290 TraceCheckUtils]: 101: Hoare triple {27201#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} is VALID [2022-04-28 12:40:16,502 INFO L290 TraceCheckUtils]: 102: Hoare triple {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} assume !false; {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} is VALID [2022-04-28 12:40:16,502 INFO L290 TraceCheckUtils]: 103: Hoare triple {27211#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} assume !(0 != ~b~0); {27218#(and (= main_~p~0 0) (= (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:40:16,505 INFO L272 TraceCheckUtils]: 104: Hoare triple {27218#(and (= main_~p~0 0) (= (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {27222#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:40:16,505 INFO L290 TraceCheckUtils]: 105: Hoare triple {27222#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27226#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:40:16,505 INFO L290 TraceCheckUtils]: 106: Hoare triple {27226#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26897#false} is VALID [2022-04-28 12:40:16,506 INFO L290 TraceCheckUtils]: 107: Hoare triple {26897#false} assume !false; {26897#false} is VALID [2022-04-28 12:40:16,506 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 57 proven. 33 refuted. 0 times theorem prover too weak. 244 trivial. 0 not checked. [2022-04-28 12:40:16,506 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:35,708 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:45:38,206 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~s~0_BEFORE_CALL_97 Int) (v_main_~x~0_BEFORE_CALL_119 Int) (v_main_~y~0_BEFORE_CALL_118 Int) (v_main_~k~0_BEFORE_CALL_78 Int) (v_main_~r~0_BEFORE_CALL_88 Int) (v_main_~b~0_BEFORE_CALL_125 Int) (v_main_~q~0_BEFORE_CALL_99 Int) (v_main_~p~0_BEFORE_CALL_88 Int) (v_main_~d~0_BEFORE_CALL_81 Int)) (let ((.cse0 (* v_main_~d~0_BEFORE_CALL_81 v_main_~b~0_BEFORE_CALL_125))) (or (<= .cse0 0) (= (+ (* v_main_~y~0_BEFORE_CALL_118 v_main_~k~0_BEFORE_CALL_78 v_main_~s~0_BEFORE_CALL_97) (* v_main_~q~0_BEFORE_CALL_99 v_main_~d~0_BEFORE_CALL_81 v_main_~x~0_BEFORE_CALL_119) (* v_main_~d~0_BEFORE_CALL_81 v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_97) (* v_main_~q~0_BEFORE_CALL_99 v_main_~x~0_BEFORE_CALL_119) (* v_main_~q~0_BEFORE_CALL_99 v_main_~x~0_BEFORE_CALL_119 v_main_~k~0_BEFORE_CALL_78) (* v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_97)) (+ (* v_main_~r~0_BEFORE_CALL_88 v_main_~y~0_BEFORE_CALL_118) (* v_main_~p~0_BEFORE_CALL_88 v_main_~x~0_BEFORE_CALL_119) v_main_~b~0_BEFORE_CALL_125)) (= 0 (mod .cse0 v_main_~b~0_BEFORE_CALL_125))))))) is different from true [2022-04-28 12:47:20,044 WARN L232 SmtUtils]: Spent 16.04s on a formula simplification that was a NOOP. DAG size: 38 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 12:47:48,914 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~s~0_BEFORE_CALL_97 Int) (v_main_~x~0_BEFORE_CALL_119 Int) (v_main_~y~0_BEFORE_CALL_118 Int) (v_main_~k~0_BEFORE_CALL_78 Int) (v_main_~r~0_BEFORE_CALL_88 Int) (v_main_~b~0_BEFORE_CALL_125 Int) (v_main_~q~0_BEFORE_CALL_99 Int) (v_main_~p~0_BEFORE_CALL_88 Int) (v_main_~d~0_BEFORE_CALL_81 Int)) (let ((.cse0 (* v_main_~d~0_BEFORE_CALL_81 v_main_~b~0_BEFORE_CALL_125))) (or (<= .cse0 0) (= (+ (* v_main_~y~0_BEFORE_CALL_118 v_main_~k~0_BEFORE_CALL_78 v_main_~s~0_BEFORE_CALL_97) (* v_main_~q~0_BEFORE_CALL_99 v_main_~d~0_BEFORE_CALL_81 v_main_~x~0_BEFORE_CALL_119) (* v_main_~d~0_BEFORE_CALL_81 v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_97) (* v_main_~q~0_BEFORE_CALL_99 v_main_~x~0_BEFORE_CALL_119) (* v_main_~q~0_BEFORE_CALL_99 v_main_~x~0_BEFORE_CALL_119 v_main_~k~0_BEFORE_CALL_78) (* v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_97)) (+ (* v_main_~r~0_BEFORE_CALL_88 v_main_~y~0_BEFORE_CALL_118) (* v_main_~p~0_BEFORE_CALL_88 v_main_~x~0_BEFORE_CALL_119) v_main_~b~0_BEFORE_CALL_125)) (= 0 (mod .cse0 v_main_~b~0_BEFORE_CALL_125)))))) is different from true