/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 05:52:05,938 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 05:52:05,944 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 05:52:05,981 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 05:52:05,981 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 05:52:05,982 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 05:52:05,985 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 05:52:05,987 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 05:52:05,988 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 05:52:05,991 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 05:52:05,992 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 05:52:05,993 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 05:52:05,993 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 05:52:05,994 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 05:52:05,995 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 05:52:05,997 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 05:52:05,997 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 05:52:05,998 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 05:52:05,999 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 05:52:06,003 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 05:52:06,004 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 05:52:06,005 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 05:52:06,005 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 05:52:06,006 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 05:52:06,007 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 05:52:06,011 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 05:52:06,012 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 05:52:06,012 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 05:52:06,012 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 05:52:06,012 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 05:52:06,013 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 05:52:06,013 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 05:52:06,014 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 05:52:06,015 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 05:52:06,015 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 05:52:06,016 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 05:52:06,016 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 05:52:06,016 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 05:52:06,016 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 05:52:06,016 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 05:52:06,017 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 05:52:06,018 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 05:52:06,018 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 05:52:06,027 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 05:52:06,027 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 05:52:06,028 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 05:52:06,028 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 05:52:06,028 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 05:52:06,028 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 05:52:06,028 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 05:52:06,028 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 05:52:06,028 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 05:52:06,029 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 05:52:06,029 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:52:06,030 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 05:52:06,030 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 05:52:06,030 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 05:52:06,030 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 05:52:06,030 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 05:52:06,030 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 05:52:06,030 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 05:52:06,193 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 05:52:06,208 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 05:52:06,210 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 05:52:06,211 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 05:52:06,211 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 05:52:06,212 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound2.c [2022-04-28 05:52:06,265 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/244822400/db2db748d34d45e6b42631b107e43ceb/FLAGab359f0fd [2022-04-28 05:52:06,598 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 05:52:06,598 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound2.c [2022-04-28 05:52:06,603 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/244822400/db2db748d34d45e6b42631b107e43ceb/FLAGab359f0fd [2022-04-28 05:52:07,049 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/244822400/db2db748d34d45e6b42631b107e43ceb [2022-04-28 05:52:07,051 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 05:52:07,051 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 05:52:07,053 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 05:52:07,053 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 05:52:07,056 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 05:52:07,056 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,057 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15a67687 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07, skipping insertion in model container [2022-04-28 05:52:07,057 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,061 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 05:52:07,073 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 05:52:07,183 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_valuebound2.c[490,503] [2022-04-28 05:52:07,201 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:52:07,206 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 05:52:07,228 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_valuebound2.c[490,503] [2022-04-28 05:52:07,239 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:52:07,247 INFO L208 MainTranslator]: Completed translation [2022-04-28 05:52:07,247 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07 WrapperNode [2022-04-28 05:52:07,248 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 05:52:07,248 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 05:52:07,248 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 05:52:07,248 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 05:52:07,254 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,254 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,258 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,258 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,262 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,269 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,270 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,271 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 05:52:07,272 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 05:52:07,272 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 05:52:07,272 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 05:52:07,273 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (1/1) ... [2022-04-28 05:52:07,283 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:52:07,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:07,297 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 05:52:07,298 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 05:52:07,324 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 05:52:07,324 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 05:52:07,325 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 05:52:07,325 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 05:52:07,325 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 05:52:07,325 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 05:52:07,326 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 05:52:07,326 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 05:52:07,326 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 05:52:07,326 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 05:52:07,326 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 05:52:07,327 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 05:52:07,328 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 05:52:07,328 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 05:52:07,328 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 05:52:07,329 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 05:52:07,329 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 05:52:07,329 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 05:52:07,329 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 05:52:07,329 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 05:52:07,381 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 05:52:07,382 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 05:52:07,597 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 05:52:07,602 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 05:52:07,602 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-28 05:52:07,603 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:52:07 BoogieIcfgContainer [2022-04-28 05:52:07,603 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 05:52:07,604 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 05:52:07,604 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 05:52:07,607 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 05:52:07,607 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 05:52:07" (1/3) ... [2022-04-28 05:52:07,607 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6608f528 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:52:07, skipping insertion in model container [2022-04-28 05:52:07,607 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:07" (2/3) ... [2022-04-28 05:52:07,608 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6608f528 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:52:07, skipping insertion in model container [2022-04-28 05:52:07,608 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:52:07" (3/3) ... [2022-04-28 05:52:07,608 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound2.c [2022-04-28 05:52:07,617 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 05:52:07,617 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 05:52:07,645 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 05:52:07,649 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@252f2435, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@d03ebf2 [2022-04-28 05:52:07,649 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 05:52:07,654 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 05:52:07,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 05:52:07,659 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:07,659 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 05:52:07,660 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:07,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:07,663 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-28 05:52:07,667 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:07,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [946722564] [2022-04-28 05:52:07,674 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:07,674 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-28 05:52:07,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:07,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1644154923] [2022-04-28 05:52:07,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:07,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:07,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:07,777 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:52:07,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:07,806 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 05:52:07,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:52:07,806 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 05:52:07,807 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:52:07,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:07,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 05:52:07,814 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 05:52:07,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:07,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,820 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 05:52:07,820 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 05:52:07,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:07,826 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 05:52:07,827 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 05:52:07,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:07,832 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,833 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 05:52:07,833 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 05:52:07,833 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 05:52:07,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:52:07,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 05:52:07,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 05:52:07,834 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 05:52:07,834 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-28 05:52:07,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,835 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,835 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,835 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 05:52:07,835 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 05:52:07,835 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-28 05:52:07,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,836 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 05:52:07,836 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 05:52:07,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,837 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,837 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,837 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 05:52:07,837 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 05:52:07,838 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:07,838 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:07,838 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:07,838 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 05:52:07,838 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 05:52:07,841 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-28 05:52:07,841 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 05:52:07,841 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 05:52:07,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 05:52:07,842 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 05:52:07,842 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 05:52:07,842 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:07,843 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1644154923] [2022-04-28 05:52:07,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1644154923] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:07,846 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:07,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:52:07,848 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:07,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [946722564] [2022-04-28 05:52:07,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [946722564] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:07,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:07,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:52:07,849 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [673044479] [2022-04-28 05:52:07,849 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:07,852 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 05:52:07,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:07,856 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 05:52:07,891 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 05:52:07,892 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 05:52:07,893 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:07,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 05:52:07,912 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:52:07,914 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 05:52:08,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:08,066 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-28 05:52:08,066 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 05:52:08,067 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 05:52:08,067 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:08,068 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 05:52:08,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 05:52:08,075 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 05:52:08,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 05:52:08,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-28 05:52:08,178 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 05:52:08,184 INFO L225 Difference]: With dead ends: 73 [2022-04-28 05:52:08,184 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 05:52:08,186 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 05:52:08,188 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 05:52:08,188 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 05:52:08,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 05:52:08,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 05:52:08,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:08,208 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 05:52:08,209 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 05:52:08,209 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 05:52:08,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:08,212 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 05:52:08,212 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:52:08,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:08,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:08,213 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 05:52:08,214 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 05:52:08,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:08,216 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 05:52:08,216 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:52:08,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:08,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:08,217 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:08,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:08,217 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 05:52:08,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-28 05:52:08,220 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-28 05:52:08,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:08,221 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-28 05:52:08,221 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 05:52:08,221 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-28 05:52:08,267 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 05:52:08,267 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:52:08,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 05:52:08,268 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:08,269 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 05:52:08,269 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 05:52:08,269 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:08,269 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:08,270 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-28 05:52:08,270 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:08,270 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1230623744] [2022-04-28 05:52:08,273 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:08,273 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-28 05:52:08,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:08,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1826676977] [2022-04-28 05:52:08,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:08,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:08,293 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:08,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1078780235] [2022-04-28 05:52:08,294 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:08,294 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:08,294 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:08,295 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 05:52:08,332 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 05:52:08,368 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:52:08,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:08,384 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 05:52:08,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:08,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:08,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-28 05:52:08,662 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 05:52:08,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:08,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-28 05:52:08,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-28 05:52:08,662 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 05:52:08,662 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {353#true} is VALID [2022-04-28 05:52:08,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:08,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:08,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:08,663 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-28 05:52:08,663 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 05:52:08,663 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {353#true} is VALID [2022-04-28 05:52:08,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:08,663 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:08,663 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:08,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-28 05:52:08,664 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 05:52:08,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:08,664 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:08,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:08,664 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-28 05:52:08,664 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 05:52:08,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:08,665 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:08,665 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:08,665 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-28 05:52:08,665 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 05:52:08,666 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 05:52:08,667 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 05:52:08,668 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 05:52:08,668 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 05:52:08,668 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-28 05:52:08,669 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-28 05:52:08,669 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 05:52:08,669 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:52:08,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:08,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1826676977] [2022-04-28 05:52:08,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:08,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1078780235] [2022-04-28 05:52:08,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1078780235] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:08,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:08,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:52:08,670 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:08,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1230623744] [2022-04-28 05:52:08,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1230623744] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:08,671 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:08,671 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:52:08,671 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [965829087] [2022-04-28 05:52:08,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:08,671 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 05:52:08,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:08,672 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 05:52:08,691 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 05:52:08,691 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:52:08,691 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:08,692 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:52:08,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:52:08,692 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 05:52:08,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:08,959 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-28 05:52:08,959 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:52:08,959 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 05:52:08,959 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:08,959 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 05:52:08,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:52:08,962 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 05:52:08,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:52:08,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 05:52:09,012 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 05:52:09,014 INFO L225 Difference]: With dead ends: 54 [2022-04-28 05:52:09,014 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 05:52:09,015 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:52:09,015 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 05:52:09,016 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 05:52:09,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 05:52:09,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 05:52:09,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:09,030 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 05:52:09,032 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 05:52:09,032 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 05:52:09,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:09,040 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 05:52:09,041 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 05:52:09,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:09,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:09,046 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 05:52:09,046 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 05:52:09,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:09,049 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 05:52:09,049 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 05:52:09,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:09,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:09,050 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:09,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:09,050 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 05:52:09,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-28 05:52:09,062 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-28 05:52:09,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:09,062 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-28 05:52:09,062 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 05:52:09,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-28 05:52:09,122 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 05:52:09,122 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 05:52:09,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 05:52:09,123 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:09,124 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 05:52:09,140 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 05:52:09,331 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 05:52:09,331 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:09,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:09,332 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-28 05:52:09,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:09,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1996335000] [2022-04-28 05:52:09,333 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:09,333 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-28 05:52:09,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:09,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [18068753] [2022-04-28 05:52:09,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:09,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:09,354 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:09,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [382953200] [2022-04-28 05:52:09,354 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:09,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:09,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:09,355 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 05:52:09,356 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 05:52:09,394 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:09,394 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:09,395 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:52:09,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:09,406 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:09,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 05:52:09,541 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 05:52:09,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 05:52:09,542 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 05:52:09,542 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 05:52:09,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:09,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:09,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:09,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 05:52:09,542 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 05:52:09,542 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:09,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:09,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:09,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,543 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 05:52:09,543 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 05:52:09,545 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 05:52:09,546 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 05:52:09,546 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 05:52:09,550 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 05:52:09,550 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 05:52:09,550 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:09,550 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:09,550 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,551 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 05:52:09,551 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 05:52:09,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:52:09,552 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 05:52:09,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:09,553 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 05:52:09,555 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 05:52:09,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:52:09,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 05:52:09,556 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 05:52:09,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 05:52:09,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 05:52:09,556 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 05:52:09,556 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 05:52:09,556 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:09,761 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 05:52:09,761 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 05:52:09,761 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 05:52:09,762 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 05:52:09,762 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 05:52:09,762 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:52:09,763 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 05:52:09,764 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 05:52:09,764 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:09,764 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 05:52:09,766 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:52:09,767 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 05:52:09,767 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 05:52:09,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,767 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:09,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:09,768 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 05:52:09,768 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 05:52:09,769 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 05:52:09,769 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 05:52:09,769 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 05:52:09,769 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 05:52:09,769 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 05:52:09,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:09,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:09,770 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:09,770 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 05:52:09,770 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 05:52:09,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,770 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:09,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:09,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:09,770 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 05:52:09,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 05:52:09,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 05:52:09,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:09,771 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 05:52:09,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 05:52:09,771 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 05:52:09,771 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:09,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [18068753] [2022-04-28 05:52:09,771 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:09,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [382953200] [2022-04-28 05:52:09,772 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [382953200] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:09,772 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:09,772 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:52:09,772 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:09,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1996335000] [2022-04-28 05:52:09,772 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1996335000] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:09,772 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:09,772 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:52:09,772 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1203349331] [2022-04-28 05:52:09,772 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:09,773 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 05:52:09,773 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:09,773 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 05:52:09,794 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 05:52:09,794 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:52:09,795 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:09,795 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:52:09,795 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:52:09,795 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 05:52:10,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:10,356 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-28 05:52:10,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:52:10,356 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 05:52:10,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:10,357 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 05:52:10,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 05:52:10,359 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 05:52:10,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 05:52:10,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 05:52:10,434 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 05:52:10,436 INFO L225 Difference]: With dead ends: 103 [2022-04-28 05:52:10,436 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 05:52:10,436 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 05:52:10,437 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 05:52:10,437 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 05:52:10,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 05:52:10,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-28 05:52:10,499 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:10,500 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 05:52:10,500 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 05:52:10,500 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 05:52:10,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:10,504 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 05:52:10,504 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 05:52:10,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:10,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:10,505 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 05:52:10,505 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 05:52:10,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:10,509 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 05:52:10,509 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 05:52:10,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:10,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:10,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:10,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:10,510 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 05:52:10,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-28 05:52:10,512 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-28 05:52:10,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:10,512 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-28 05:52:10,512 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 05:52:10,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-28 05:52:10,606 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 05:52:10,607 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-28 05:52:10,607 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 05:52:10,607 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:10,607 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 05:52:10,626 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 05:52:10,808 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 05:52:10,808 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:10,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:10,809 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-28 05:52:10,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:10,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1982165581] [2022-04-28 05:52:10,809 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:10,809 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-28 05:52:10,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:10,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1293611383] [2022-04-28 05:52:10,809 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:10,810 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:10,824 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:10,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1296781686] [2022-04-28 05:52:10,824 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:10,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:10,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:10,825 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 05:52:10,826 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 05:52:10,862 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:10,862 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:10,863 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 05:52:10,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:10,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:11,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 05:52:11,364 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 05:52:11,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 05:52:11,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 05:52:11,365 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 05:52:11,365 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:11,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:11,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:11,365 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,365 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 05:52:11,365 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 05:52:11,365 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:11,366 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 05:52:11,366 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 05:52:11,366 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 05:52:11,367 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 2))} is VALID [2022-04-28 05:52:11,367 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:11,367 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 05:52:11,368 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 05:52:11,368 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 05:52:11,371 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:11,371 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:11,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:11,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:11,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,372 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:11,372 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~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_~y~0 2) (= 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 05:52:11,373 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 05:52:11,373 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 05:52:11,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 05:52:11,374 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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); {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 05:52:11,374 INFO L290 TraceCheckUtils]: 32: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:52:11,375 INFO L290 TraceCheckUtils]: 33: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:52:11,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 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; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:52:11,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:52:11,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= 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; {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 05:52:11,379 INFO L290 TraceCheckUtils]: 37: Hoare triple {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0))} assume !false; {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 05:52:11,380 INFO L272 TraceCheckUtils]: 38: Hoare triple {1687#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~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 05:52:11,380 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 05:52:11,380 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 05:52:11,381 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:52:11,381 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 05:52:11,381 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:11,723 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:52:11,724 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 05:52:11,724 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 05:52:11,725 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 05:52:11,725 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 05:52:11,725 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 05:52:11,726 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 05:52:11,726 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 05:52:11,727 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 05:52:11,727 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 05:52:11,727 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 05:52:11,728 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 05:52:11,728 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 05:52:11,729 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 05:52:11,729 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 05:52:11,729 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-28 05:52:11,729 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,729 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:11,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:11,729 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 05:52:11,729 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:11,730 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 05:52:11,730 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:11,730 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 05:52:11,730 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 05:52:11,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:11,731 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:11,731 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:11,731 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 05:52:11,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 05:52:11,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 05:52:11,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:11,731 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 05:52:11,731 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 05:52:11,731 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 05:52:11,732 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:11,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1293611383] [2022-04-28 05:52:11,732 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:11,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1296781686] [2022-04-28 05:52:11,732 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1296781686] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:11,732 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:11,732 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-28 05:52:11,732 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:11,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1982165581] [2022-04-28 05:52:11,732 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1982165581] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:11,732 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:11,732 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:52:11,732 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1766660117] [2022-04-28 05:52:11,733 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:11,733 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 05:52:11,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:11,733 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 05:52:11,756 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 05:52:11,756 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:52:11,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:11,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:52:11,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 05:52:11,757 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 05:52:13,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:13,012 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-28 05:52:13,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 05:52:13,012 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 05:52:13,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:13,012 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 05:52:13,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 05:52:13,014 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 05:52:13,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 05:52:13,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-28 05:52:13,117 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 05:52:13,120 INFO L225 Difference]: With dead ends: 112 [2022-04-28 05:52:13,121 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 05:52:13,121 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:52:13,121 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 89 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:13,122 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.4s Time] [2022-04-28 05:52:13,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 05:52:13,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-28 05:52:13,256 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:13,256 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 05:52:13,257 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 05:52:13,257 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 05:52:13,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:13,260 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 05:52:13,260 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 05:52:13,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:13,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:13,261 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 05:52:13,261 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 05:52:13,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:13,265 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 05:52:13,265 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 05:52:13,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:13,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:13,265 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:13,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:13,265 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 05:52:13,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-28 05:52:13,268 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-28 05:52:13,268 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:13,268 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-28 05:52:13,268 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 05:52:13,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-28 05:52:13,377 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 05:52:13,378 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-28 05:52:13,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:52:13,378 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:13,378 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 05:52:13,396 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 05:52:13,591 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 05:52:13,591 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:13,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:13,592 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-28 05:52:13,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:13,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1978230574] [2022-04-28 05:52:13,592 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:13,592 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-28 05:52:13,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:13,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [60457517] [2022-04-28 05:52:13,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:13,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:13,605 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:13,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [417988056] [2022-04-28 05:52:13,606 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:13,606 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:13,606 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:13,606 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 05:52:13,607 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 05:52:13,641 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:13,641 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:13,642 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:52:13,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:13,654 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:13,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 05:52:13,883 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 05:52:13,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:13,883 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 05:52:13,883 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 05:52:13,883 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 05:52:13,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:13,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:13,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:13,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:13,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 05:52:13,884 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 05:52:13,884 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:13,885 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 05:52:13,885 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 05:52:13,886 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 05:52:13,886 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 2))} is VALID [2022-04-28 05:52:13,886 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:13,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:13,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:13,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:13,887 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:13,887 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:13,887 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:13,887 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:13,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:13,887 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:13,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~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 05:52:13,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-28 05:52:13,888 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 05:52:13,889 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 05:52:13,889 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 05:52:13,889 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 05:52:13,890 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 05:52:13,890 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:13,890 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:13,890 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:13,890 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 05:52:13,890 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 05:52:13,891 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:13,891 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:13,891 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:13,891 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 05:52:13,892 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 05:52:13,892 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 05:52:13,893 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 05:52:13,893 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 05:52:13,893 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 05:52:13,893 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:14,084 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 05:52:14,085 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 05:52:14,085 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 05:52:14,086 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 05:52:14,086 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 05:52:14,086 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:14,086 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:14,087 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:14,087 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 05:52:14,088 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 05:52:14,088 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:14,088 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:14,088 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:14,088 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 05:52:14,089 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 05:52:14,089 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 05:52:14,090 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 05:52:14,090 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 05:52:14,090 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-28 05:52:14,090 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 05:52:14,090 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-28 05:52:14,090 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:14,090 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:14,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:14,090 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 05:52:14,090 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:14,091 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 05:52:14,091 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:14,091 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 05:52:14,091 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:14,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:14,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:14,092 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 05:52:14,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 05:52:14,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 05:52:14,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:14,092 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 05:52:14,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 05:52:14,092 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 05:52:14,092 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:14,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [60457517] [2022-04-28 05:52:14,092 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:14,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [417988056] [2022-04-28 05:52:14,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [417988056] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:52:14,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:52:14,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 05:52:14,093 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:14,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1978230574] [2022-04-28 05:52:14,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1978230574] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:14,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:14,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:52:14,093 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1186561576] [2022-04-28 05:52:14,093 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:14,093 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 05:52:14,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:14,094 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 05:52:14,112 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 05:52:14,112 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:52:14,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:14,113 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:52:14,113 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:52:14,113 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 05:52:14,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:14,485 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-28 05:52:14,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:52:14,485 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 05:52:14,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:14,486 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 05:52:14,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:52:14,487 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 05:52:14,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:52:14,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:52:14,534 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 05:52:14,537 INFO L225 Difference]: With dead ends: 130 [2022-04-28 05:52:14,537 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 05:52:14,537 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 05:52:14,540 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 05:52:14,540 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 05:52:14,541 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 05:52:14,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-28 05:52:14,768 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:14,769 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 05:52:14,769 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 05:52:14,769 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 05:52:14,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:14,773 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 05:52:14,773 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 05:52:14,773 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:14,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:14,774 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 05:52:14,774 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 05:52:14,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:14,777 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 05:52:14,777 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 05:52:14,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:14,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:14,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:14,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:14,778 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 05:52:14,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-28 05:52:14,781 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-28 05:52:14,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:14,782 INFO L495 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-28 05:52:14,782 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 05:52:14,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-28 05:52:14,964 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 05:52:14,964 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-28 05:52:14,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:52:14,965 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:14,965 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 05:52:14,982 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 05:52:15,167 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 05:52:15,168 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:15,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:15,169 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-28 05:52:15,169 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:15,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1438557037] [2022-04-28 05:52:15,169 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:15,169 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-28 05:52:15,169 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:15,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1102042420] [2022-04-28 05:52:15,169 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:15,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:15,200 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:15,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1098019239] [2022-04-28 05:52:15,201 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:15,201 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:15,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:15,202 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 05:52:15,203 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 05:52:15,237 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:15,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:15,238 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 05:52:15,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:15,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:15,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 05:52:15,839 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 05:52:15,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:15,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 05:52:15,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 05:52:15,840 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 05:52:15,840 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:15,840 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:15,840 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:15,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:15,840 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 05:52:15,840 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 05:52:15,840 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:15,854 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:15,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:15,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:15,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3530#true} #96#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:15,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:15,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:15,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:15,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:15,856 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {3601#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:15,856 INFO L272 TraceCheckUtils]: 22: Hoare triple {3601#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:15,857 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:15,857 INFO L290 TraceCheckUtils]: 24: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:15,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:15,858 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3601#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #100#return; {3617#(and (<= 1 main_~x~0) (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:15,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {3617#(and (<= 1 main_~x~0) (<= main_~y~0 2) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:15,859 INFO L290 TraceCheckUtils]: 28: Hoare triple {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:15,859 INFO L290 TraceCheckUtils]: 29: Hoare triple {3621#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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; {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:15,860 INFO L290 TraceCheckUtils]: 30: Hoare triple {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:15,860 INFO L290 TraceCheckUtils]: 31: Hoare triple {3628#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3635#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:15,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {3635#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= 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; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:52:15,863 INFO L290 TraceCheckUtils]: 33: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:52:15,866 INFO L290 TraceCheckUtils]: 34: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~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; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:52:15,867 INFO L290 TraceCheckUtils]: 35: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:52:15,868 INFO L290 TraceCheckUtils]: 36: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~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; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:52:15,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:52:15,869 INFO L272 TraceCheckUtils]: 38: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~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 05:52:15,869 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:15,869 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:15,869 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:15,876 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #102#return; {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:52:15,877 INFO L272 TraceCheckUtils]: 43: Hoare triple {3639#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~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)); {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:15,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3677#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:15,877 INFO L290 TraceCheckUtils]: 45: Hoare triple {3677#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 05:52:15,877 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 05:52:15,878 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 11 proven. 4 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 05:52:15,878 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:16,229 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 05:52:16,230 INFO L290 TraceCheckUtils]: 45: Hoare triple {3677#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 05:52:16,230 INFO L290 TraceCheckUtils]: 44: Hoare triple {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3677#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:16,231 INFO L272 TraceCheckUtils]: 43: Hoare triple {3693#(= 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)); {3673#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:16,233 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:16,233 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:16,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:16,233 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:16,233 INFO L272 TraceCheckUtils]: 38: Hoare triple {3693#(= 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 05:52:16,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:16,234 INFO L290 TraceCheckUtils]: 36: Hoare triple {3693#(= 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; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:16,234 INFO L290 TraceCheckUtils]: 35: Hoare triple {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:16,235 INFO L290 TraceCheckUtils]: 34: Hoare triple {3693#(= 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; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:16,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:18,236 WARN L290 TraceCheckUtils]: 32: Hoare triple {3727#(= (+ (* (+ (* (* 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)} ~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; {3693#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 05:52:18,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {3731#(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) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {3727#(= (+ (* (+ (* (* 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)} is VALID [2022-04-28 05:52:18,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {3731#(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) (<= main_~b~0 main_~c~0))} assume !false; {3731#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:52:18,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3731#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:52:18,238 INFO L290 TraceCheckUtils]: 28: Hoare triple {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-28 05:52:18,238 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; {3738#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-28 05:52:18,239 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:18,239 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 05:52:18,239 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:18,239 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 05:52:18,239 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:18,239 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:18,240 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 05:52:18,240 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 05:52:18,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:18,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:18,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:18,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:18,240 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 05:52:18,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 05:52:18,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 05:52:18,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:18,240 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 05:52:18,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 05:52:18,240 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 05:52:18,241 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:18,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1102042420] [2022-04-28 05:52:18,241 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:18,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1098019239] [2022-04-28 05:52:18,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1098019239] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:18,241 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:18,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 17 [2022-04-28 05:52:18,241 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:18,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1438557037] [2022-04-28 05:52:18,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1438557037] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:18,241 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:18,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:52:18,241 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [694481229] [2022-04-28 05:52:18,241 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:18,242 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 47 [2022-04-28 05:52:18,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:18,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 05:52:18,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:18,282 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:52:18,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:18,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:52:18,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:52:18,283 INFO L87 Difference]: Start difference. First operand 123 states and 172 transitions. Second operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 05:52:19,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:19,515 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-28 05:52:19,515 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:52:19,515 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 47 [2022-04-28 05:52:19,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:19,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 05:52:19,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-28 05:52:19,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 05:52:19,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-28 05:52:19,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 101 transitions. [2022-04-28 05:52:19,609 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 05:52:19,611 INFO L225 Difference]: With dead ends: 137 [2022-04-28 05:52:19,611 INFO L226 Difference]: Without dead ends: 135 [2022-04-28 05:52:19,612 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=83, Invalid=337, Unknown=0, NotChecked=0, Total=420 [2022-04-28 05:52:19,612 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 50 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:19,612 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 259 Invalid, 379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:52:19,613 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-28 05:52:19,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-28 05:52:19,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:19,878 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 05:52:19,879 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 05:52:19,879 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 05:52:19,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:19,883 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 05:52:19,883 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 05:52:19,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:19,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:19,883 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 05:52:19,884 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 05:52:19,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:19,888 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 05:52:19,888 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 05:52:19,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:19,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:19,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:19,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:19,889 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 05:52:19,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-28 05:52:19,892 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-28 05:52:19,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:19,892 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-28 05:52:19,892 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 9 states have internal predecessors, (27), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 05:52:19,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-28 05:52:20,072 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 05:52:20,072 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-28 05:52:20,072 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:52:20,073 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:20,073 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 05:52:20,094 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 05:52:20,287 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 05:52:20,288 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:20,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:20,288 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-28 05:52:20,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:20,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1102126377] [2022-04-28 05:52:20,288 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:20,288 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-28 05:52:20,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:20,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1294890710] [2022-04-28 05:52:20,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:20,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:20,312 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:20,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1105404349] [2022-04-28 05:52:20,313 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:52:20,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:20,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:20,319 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 05:52:20,320 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 05:52:20,353 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:52:20,353 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:20,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 05:52:20,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:20,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:20,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {4642#true} call ULTIMATE.init(); {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {4642#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); {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4642#true} {4642#true} #112#return; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L272 TraceCheckUtils]: 4: Hoare triple {4642#true} call #t~ret6 := main(); {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 5: Hoare triple {4642#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; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L272 TraceCheckUtils]: 6: Hoare triple {4642#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 7: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 8: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 9: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4642#true} {4642#true} #94#return; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 11: Hoare triple {4642#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L272 TraceCheckUtils]: 12: Hoare triple {4642#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-28 05:52:20,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4642#true} {4642#true} #96#return; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L272 TraceCheckUtils]: 17: Hoare triple {4642#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 18: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 19: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4642#true} {4642#true} #98#return; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L272 TraceCheckUtils]: 22: Hoare triple {4642#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 23: Hoare triple {4642#true} ~cond := #in~cond; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 24: Hoare triple {4642#true} assume !(0 == ~cond); {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {4642#true} assume true; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4642#true} {4642#true} #100#return; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 27: Hoare triple {4642#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 28: Hoare triple {4642#true} assume !false; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 29: Hoare triple {4642#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4642#true} is VALID [2022-04-28 05:52:20,469 INFO L290 TraceCheckUtils]: 30: Hoare triple {4642#true} assume !false; {4642#true} is VALID [2022-04-28 05:52:20,480 INFO L290 TraceCheckUtils]: 31: Hoare triple {4642#true} assume !(~c~0 >= ~b~0); {4740#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:52:20,480 INFO L290 TraceCheckUtils]: 32: Hoare triple {4740#(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; {4744#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:52:20,481 INFO L290 TraceCheckUtils]: 33: Hoare triple {4744#(< main_~b~0 main_~a~0)} assume !false; {4744#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:52:20,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {4744#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4751#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:52:20,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {4751#(< main_~b~0 main_~c~0)} assume !false; {4751#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 36: Hoare triple {4751#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 37: Hoare triple {4643#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; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 38: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 39: Hoare triple {4643#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 40: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 41: Hoare triple {4643#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 42: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L272 TraceCheckUtils]: 43: Hoare triple {4643#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 44: Hoare triple {4643#false} ~cond := #in~cond; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 45: Hoare triple {4643#false} assume 0 == ~cond; {4643#false} is VALID [2022-04-28 05:52:20,482 INFO L290 TraceCheckUtils]: 46: Hoare triple {4643#false} assume !false; {4643#false} is VALID [2022-04-28 05:52:20,482 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 05:52:20,483 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:52:20,483 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:20,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1294890710] [2022-04-28 05:52:20,483 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:20,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1105404349] [2022-04-28 05:52:20,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1105404349] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:20,483 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:20,483 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:52:20,483 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:20,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1102126377] [2022-04-28 05:52:20,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1102126377] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:20,483 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:20,483 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:52:20,483 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1201944987] [2022-04-28 05:52:20,483 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:20,484 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 05:52:20,484 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:20,484 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 05:52:20,504 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 05:52:20,504 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:52:20,504 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:20,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:52:20,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:52:20,504 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 05:52:20,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:20,966 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-28 05:52:20,966 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:52:20,966 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 05:52:20,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:20,966 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 05:52:20,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 05:52:20,967 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 05:52:20,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 05:52:20,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-28 05:52:21,036 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 05:52:21,039 INFO L225 Difference]: With dead ends: 170 [2022-04-28 05:52:21,039 INFO L226 Difference]: Without dead ends: 114 [2022-04-28 05:52:21,041 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 05:52:21,042 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 05:52:21,042 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 05:52:21,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-28 05:52:21,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-28 05:52:21,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:21,238 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 05:52:21,238 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 05:52:21,239 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 05:52:21,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:21,241 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 05:52:21,241 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 05:52:21,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:21,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:21,242 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 05:52:21,242 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 05:52:21,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:21,244 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 05:52:21,244 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 05:52:21,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:21,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:21,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:21,245 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:21,245 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 05:52:21,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-28 05:52:21,248 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-28 05:52:21,248 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:21,248 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-28 05:52:21,248 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 05:52:21,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-28 05:52:21,430 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 05:52:21,430 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-28 05:52:21,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 05:52:21,430 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:21,430 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 05:52:21,446 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 05:52:21,630 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 05:52:21,631 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:21,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:21,631 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-28 05:52:21,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:21,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1496617487] [2022-04-28 05:52:21,632 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:21,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-28 05:52:21,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:21,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [99164022] [2022-04-28 05:52:21,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:21,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:21,646 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:21,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1456843452] [2022-04-28 05:52:21,646 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:21,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:21,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:21,647 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 05:52:21,648 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 05:52:21,686 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:21,686 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:21,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:52:21,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:21,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:21,822 INFO L272 TraceCheckUtils]: 0: Hoare triple {5572#true} call ULTIMATE.init(); {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L290 TraceCheckUtils]: 1: Hoare triple {5572#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); {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5572#true} {5572#true} #112#return; {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L272 TraceCheckUtils]: 4: Hoare triple {5572#true} call #t~ret6 := main(); {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {5572#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; {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L272 TraceCheckUtils]: 6: Hoare triple {5572#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L290 TraceCheckUtils]: 7: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-28 05:52:21,822 INFO L290 TraceCheckUtils]: 9: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5572#true} {5572#true} #94#return; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {5572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L272 TraceCheckUtils]: 12: Hoare triple {5572#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5572#true} {5572#true} #96#return; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L272 TraceCheckUtils]: 17: Hoare triple {5572#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5572#true} {5572#true} #98#return; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L272 TraceCheckUtils]: 22: Hoare triple {5572#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 24: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-28 05:52:21,823 INFO L290 TraceCheckUtils]: 25: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,824 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5572#true} {5572#true} #100#return; {5572#true} is VALID [2022-04-28 05:52:21,824 INFO L290 TraceCheckUtils]: 27: Hoare triple {5572#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5572#true} is VALID [2022-04-28 05:52:21,824 INFO L290 TraceCheckUtils]: 28: Hoare triple {5572#true} assume !false; {5572#true} is VALID [2022-04-28 05:52:21,824 INFO L290 TraceCheckUtils]: 29: Hoare triple {5572#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5572#true} is VALID [2022-04-28 05:52:21,824 INFO L290 TraceCheckUtils]: 30: Hoare triple {5572#true} assume !false; {5572#true} is VALID [2022-04-28 05:52:21,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {5572#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:52:21,828 INFO L290 TraceCheckUtils]: 32: Hoare triple {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:52:21,829 INFO L272 TraceCheckUtils]: 33: Hoare triple {5670#(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)); {5572#true} is VALID [2022-04-28 05:52:21,829 INFO L290 TraceCheckUtils]: 34: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-28 05:52:21,829 INFO L290 TraceCheckUtils]: 35: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-28 05:52:21,829 INFO L290 TraceCheckUtils]: 36: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,829 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5572#true} {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:52:21,829 INFO L272 TraceCheckUtils]: 38: Hoare triple {5670#(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)); {5572#true} is VALID [2022-04-28 05:52:21,829 INFO L290 TraceCheckUtils]: 39: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-28 05:52:21,830 INFO L290 TraceCheckUtils]: 40: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-28 05:52:21,830 INFO L290 TraceCheckUtils]: 41: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,830 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5572#true} {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:52:21,830 INFO L272 TraceCheckUtils]: 43: Hoare triple {5670#(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)); {5572#true} is VALID [2022-04-28 05:52:21,830 INFO L290 TraceCheckUtils]: 44: Hoare triple {5572#true} ~cond := #in~cond; {5572#true} is VALID [2022-04-28 05:52:21,830 INFO L290 TraceCheckUtils]: 45: Hoare triple {5572#true} assume !(0 == ~cond); {5572#true} is VALID [2022-04-28 05:52:21,830 INFO L290 TraceCheckUtils]: 46: Hoare triple {5572#true} assume true; {5572#true} is VALID [2022-04-28 05:52:21,831 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5572#true} {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {5670#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:52:21,831 INFO L272 TraceCheckUtils]: 48: Hoare triple {5670#(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)); {5722#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:21,832 INFO L290 TraceCheckUtils]: 49: Hoare triple {5722#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5726#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:21,832 INFO L290 TraceCheckUtils]: 50: Hoare triple {5726#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5573#false} is VALID [2022-04-28 05:52:21,832 INFO L290 TraceCheckUtils]: 51: Hoare triple {5573#false} assume !false; {5573#false} is VALID [2022-04-28 05:52:21,832 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 05:52:21,832 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:52:21,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:21,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [99164022] [2022-04-28 05:52:21,832 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:21,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1456843452] [2022-04-28 05:52:21,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1456843452] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:21,833 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:21,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:52:21,833 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:21,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1496617487] [2022-04-28 05:52:21,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1496617487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:21,833 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:21,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:52:21,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1903930558] [2022-04-28 05:52:21,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:21,833 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 05:52:21,834 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:21,834 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 05:52:21,859 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 05:52:21,859 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:52:21,859 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:21,860 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:52:21,860 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:52:21,860 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 05:52:22,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:22,329 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-28 05:52:22,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:52:22,330 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 05:52:22,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:22,330 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 05:52:22,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:52:22,331 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 05:52:22,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:52:22,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:52:22,384 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 05:52:22,386 INFO L225 Difference]: With dead ends: 158 [2022-04-28 05:52:22,386 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 05:52:22,386 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 05:52:22,387 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 05:52:22,387 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 05:52:22,387 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 05:52:22,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-28 05:52:22,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:22,695 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 05:52:22,695 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 05:52:22,696 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 05:52:22,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:22,699 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 05:52:22,699 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 05:52:22,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:22,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:22,700 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 05:52:22,700 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 05:52:22,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:22,704 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 05:52:22,704 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 05:52:22,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:22,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:22,705 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:22,705 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:22,705 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 05:52:22,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-28 05:52:22,716 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-28 05:52:22,716 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:22,716 INFO L495 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-28 05:52:22,717 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 05:52:22,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-28 05:52:22,952 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 05:52:22,952 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-28 05:52:22,953 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 05:52:22,953 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:22,953 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 05:52:22,969 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 05:52:23,153 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 05:52:23,154 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:23,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:23,154 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-28 05:52:23,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:23,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [70150714] [2022-04-28 05:52:23,154 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:23,155 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-28 05:52:23,155 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:23,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1869460130] [2022-04-28 05:52:23,155 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:23,155 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:23,169 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:23,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [395973494] [2022-04-28 05:52:23,169 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:23,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:23,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:23,170 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 05:52:23,171 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 05:52:23,215 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:23,215 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:23,216 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 57 conjunts are in the unsatisfiable core [2022-04-28 05:52:23,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:23,225 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:23,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {6642#true} call ULTIMATE.init(); {6642#true} is VALID [2022-04-28 05:52:23,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {6642#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); {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6642#true} {6642#true} #112#return; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {6642#true} call #t~ret6 := main(); {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 5: Hoare triple {6642#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; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L272 TraceCheckUtils]: 6: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 7: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6642#true} {6642#true} #94#return; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 11: Hoare triple {6642#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L272 TraceCheckUtils]: 12: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 14: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L290 TraceCheckUtils]: 15: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6642#true} {6642#true} #96#return; {6642#true} is VALID [2022-04-28 05:52:23,841 INFO L272 TraceCheckUtils]: 17: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6642#true} {6642#true} #98#return; {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L272 TraceCheckUtils]: 22: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L290 TraceCheckUtils]: 23: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L290 TraceCheckUtils]: 24: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L290 TraceCheckUtils]: 25: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6642#true} {6642#true} #100#return; {6642#true} is VALID [2022-04-28 05:52:23,842 INFO L290 TraceCheckUtils]: 27: Hoare triple {6642#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6728#(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 05:52:23,843 INFO L290 TraceCheckUtils]: 28: Hoare triple {6728#(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; {6728#(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 05:52:23,843 INFO L290 TraceCheckUtils]: 29: Hoare triple {6728#(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; {6735#(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 05:52:23,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {6735#(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; {6735#(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 05:52:23,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {6735#(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; {6742#(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 05:52:23,844 INFO L290 TraceCheckUtils]: 32: Hoare triple {6742#(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; {6742#(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 05:52:23,844 INFO L272 TraceCheckUtils]: 33: Hoare triple {6742#(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)); {6642#true} is VALID [2022-04-28 05:52:23,845 INFO L290 TraceCheckUtils]: 34: Hoare triple {6642#true} ~cond := #in~cond; {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:23,845 INFO L290 TraceCheckUtils]: 35: Hoare triple {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:23,845 INFO L290 TraceCheckUtils]: 36: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:23,846 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6742#(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; {6763#(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 05:52:23,846 INFO L272 TraceCheckUtils]: 38: Hoare triple {6763#(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)); {6642#true} is VALID [2022-04-28 05:52:23,847 INFO L290 TraceCheckUtils]: 39: Hoare triple {6642#true} ~cond := #in~cond; {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:23,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {6752#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:23,847 INFO L290 TraceCheckUtils]: 41: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:23,848 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6763#(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; {6763#(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 05:52:23,848 INFO L272 TraceCheckUtils]: 43: Hoare triple {6763#(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)); {6642#true} is VALID [2022-04-28 05:52:23,848 INFO L290 TraceCheckUtils]: 44: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:52:23,848 INFO L290 TraceCheckUtils]: 45: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:52:23,848 INFO L290 TraceCheckUtils]: 46: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:52:23,849 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6642#true} {6763#(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; {6763#(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 05:52:23,849 INFO L272 TraceCheckUtils]: 48: Hoare triple {6763#(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)); {6642#true} is VALID [2022-04-28 05:52:23,849 INFO L290 TraceCheckUtils]: 49: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:52:23,849 INFO L290 TraceCheckUtils]: 50: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:52:23,849 INFO L290 TraceCheckUtils]: 51: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:52:23,850 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6642#true} {6763#(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; {6763#(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 05:52:23,850 INFO L290 TraceCheckUtils]: 53: Hoare triple {6763#(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); {6763#(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 05:52:23,851 INFO L290 TraceCheckUtils]: 54: Hoare triple {6763#(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; {6815#(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 05:52:23,864 INFO L290 TraceCheckUtils]: 55: Hoare triple {6815#(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; {6815#(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 05:52:23,865 INFO L290 TraceCheckUtils]: 56: Hoare triple {6815#(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); {6815#(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 05:52:23,866 INFO L290 TraceCheckUtils]: 57: Hoare triple {6815#(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; {6825#(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 05:52:23,866 INFO L290 TraceCheckUtils]: 58: Hoare triple {6825#(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; {6825#(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 05:52:23,867 INFO L290 TraceCheckUtils]: 59: Hoare triple {6825#(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); {6832#(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 05:52:23,867 INFO L272 TraceCheckUtils]: 60: Hoare triple {6832#(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)); {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:23,868 INFO L290 TraceCheckUtils]: 61: Hoare triple {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6840#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:23,868 INFO L290 TraceCheckUtils]: 62: Hoare triple {6840#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6643#false} is VALID [2022-04-28 05:52:23,868 INFO L290 TraceCheckUtils]: 63: Hoare triple {6643#false} assume !false; {6643#false} is VALID [2022-04-28 05:52:23,868 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 05:52:23,868 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:53:15,493 INFO L290 TraceCheckUtils]: 63: Hoare triple {6643#false} assume !false; {6643#false} is VALID [2022-04-28 05:53:15,494 INFO L290 TraceCheckUtils]: 62: Hoare triple {6840#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6643#false} is VALID [2022-04-28 05:53:15,494 INFO L290 TraceCheckUtils]: 61: Hoare triple {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6840#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:53:15,495 INFO L272 TraceCheckUtils]: 60: Hoare triple {6856#(= (+ (* 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)); {6836#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:53:15,495 INFO L290 TraceCheckUtils]: 59: Hoare triple {6860#(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); {6856#(= (+ (* 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 05:53:15,496 INFO L290 TraceCheckUtils]: 58: Hoare triple {6860#(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; {6860#(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 05:53:15,813 INFO L290 TraceCheckUtils]: 57: Hoare triple {6867#(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; {6860#(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 05:53:15,814 INFO L290 TraceCheckUtils]: 56: Hoare triple {6867#(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); {6867#(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 05:53:15,815 INFO L290 TraceCheckUtils]: 55: Hoare triple {6867#(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; {6867#(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 05:53:15,899 INFO L290 TraceCheckUtils]: 54: Hoare triple {6877#(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; {6867#(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 05:53:15,900 INFO L290 TraceCheckUtils]: 53: Hoare triple {6877#(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); {6877#(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 05:53:15,901 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6642#true} {6877#(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; {6877#(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 05:53:15,901 INFO L290 TraceCheckUtils]: 51: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:53:15,901 INFO L290 TraceCheckUtils]: 50: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:53:15,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:53:15,901 INFO L272 TraceCheckUtils]: 48: Hoare triple {6877#(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)); {6642#true} is VALID [2022-04-28 05:53:15,902 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6642#true} {6877#(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; {6877#(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 05:53:15,902 INFO L290 TraceCheckUtils]: 46: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:53:15,902 INFO L290 TraceCheckUtils]: 45: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:53:15,902 INFO L290 TraceCheckUtils]: 44: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:53:15,902 INFO L272 TraceCheckUtils]: 43: Hoare triple {6877#(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)); {6642#true} is VALID [2022-04-28 05:53:15,903 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6914#(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; {6877#(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 05:53:15,903 INFO L290 TraceCheckUtils]: 41: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:15,903 INFO L290 TraceCheckUtils]: 40: Hoare triple {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:15,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {6642#true} ~cond := #in~cond; {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:53:15,904 INFO L272 TraceCheckUtils]: 38: Hoare triple {6914#(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)); {6642#true} is VALID [2022-04-28 05:53:15,905 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} {6931#(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; {6914#(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 05:53:15,905 INFO L290 TraceCheckUtils]: 36: Hoare triple {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:15,905 INFO L290 TraceCheckUtils]: 35: Hoare triple {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6756#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:15,906 INFO L290 TraceCheckUtils]: 34: Hoare triple {6642#true} ~cond := #in~cond; {6924#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:53:15,906 INFO L272 TraceCheckUtils]: 33: Hoare triple {6931#(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)); {6642#true} is VALID [2022-04-28 05:53:15,906 INFO L290 TraceCheckUtils]: 32: Hoare triple {6931#(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; {6931#(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 05:53:15,909 INFO L290 TraceCheckUtils]: 31: Hoare triple {6950#(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; {6931#(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 05:53:15,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {6950#(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; {6950#(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 05:53:15,910 INFO L290 TraceCheckUtils]: 29: Hoare triple {6642#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6950#(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 05:53:15,910 INFO L290 TraceCheckUtils]: 28: Hoare triple {6642#true} assume !false; {6642#true} is VALID [2022-04-28 05:53:15,910 INFO L290 TraceCheckUtils]: 27: Hoare triple {6642#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6642#true} is VALID [2022-04-28 05:53:15,910 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6642#true} {6642#true} #100#return; {6642#true} is VALID [2022-04-28 05:53:15,910 INFO L290 TraceCheckUtils]: 25: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L272 TraceCheckUtils]: 22: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6642#true} {6642#true} #98#return; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 19: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L272 TraceCheckUtils]: 17: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6642#true} {6642#true} #96#return; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L272 TraceCheckUtils]: 12: Hoare triple {6642#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 11: Hoare triple {6642#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6642#true} {6642#true} #94#return; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:53:15,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {6642#true} assume !(0 == ~cond); {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {6642#true} ~cond := #in~cond; {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L272 TraceCheckUtils]: 6: Hoare triple {6642#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {6642#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; {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {6642#true} call #t~ret6 := main(); {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6642#true} {6642#true} #112#return; {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {6642#true} assume true; {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {6642#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); {6642#true} is VALID [2022-04-28 05:53:15,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {6642#true} call ULTIMATE.init(); {6642#true} is VALID [2022-04-28 05:53:15,912 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 05:53:15,912 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:53:15,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1869460130] [2022-04-28 05:53:15,912 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:53:15,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [395973494] [2022-04-28 05:53:15,913 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [395973494] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:53:15,913 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:53:15,913 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-28 05:53:15,913 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:53:15,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [70150714] [2022-04-28 05:53:15,913 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [70150714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:53:15,913 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:53:15,913 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:53:15,913 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [409118709] [2022-04-28 05:53:15,913 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:53:15,913 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 05:53:15,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:53:15,914 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 05:53:15,952 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 05:53:15,952 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:53:15,952 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:15,953 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:53:15,953 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 05:53:15,953 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 05:53:17,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:17,959 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-28 05:53:17,959 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 05:53:17,959 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 05:53:17,959 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:53:17,959 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 05:53:17,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 05:53:17,961 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 05:53:17,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 05:53:17,963 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-28 05:53:18,084 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 05:53:18,087 INFO L225 Difference]: With dead ends: 200 [2022-04-28 05:53:18,087 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 05:53:18,088 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 05:53:18,089 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 48 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 613 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 645 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 613 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 05:53:18,089 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 306 Invalid, 645 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 613 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 05:53:18,089 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 05:53:18,518 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-28 05:53:18,518 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:53:18,518 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 05:53:18,519 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 05:53:18,519 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 05:53:18,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:18,528 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 05:53:18,528 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 05:53:18,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:18,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:18,529 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 05:53:18,529 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 05:53:18,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:18,535 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 05:53:18,535 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 05:53:18,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:18,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:18,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:53:18,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:53:18,536 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 05:53:18,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-28 05:53:18,541 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-28 05:53:18,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:53:18,542 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-28 05:53:18,542 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 05:53:18,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-28 05:53:18,916 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 05:53:18,917 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-28 05:53:18,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 05:53:18,917 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:53:18,917 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 05:53:18,936 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 05:53:19,118 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 05:53:19,118 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:53:19,118 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:53:19,118 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-28 05:53:19,118 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:19,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [578449379] [2022-04-28 05:53:19,119 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:53:19,119 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-28 05:53:19,119 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:53:19,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1985895631] [2022-04-28 05:53:19,119 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:53:19,119 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:53:19,130 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:53:19,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [735013811] [2022-04-28 05:53:19,130 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:53:19,130 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:53:19,130 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:53:19,131 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 05:53:19,144 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 05:53:19,184 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:53:19,184 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:53:19,185 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 05:53:19,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:53:19,193 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:53:19,383 INFO L272 TraceCheckUtils]: 0: Hoare triple {8234#true} call ULTIMATE.init(); {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {8234#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); {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8234#true} {8234#true} #112#return; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {8234#true} call #t~ret6 := main(); {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {8234#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; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L272 TraceCheckUtils]: 6: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8234#true} {8234#true} #94#return; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 11: Hoare triple {8234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L272 TraceCheckUtils]: 12: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8234#true} {8234#true} #96#return; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L272 TraceCheckUtils]: 17: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 20: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8234#true} {8234#true} #98#return; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L272 TraceCheckUtils]: 22: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 24: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8234#true} {8234#true} #100#return; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 27: Hoare triple {8234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 28: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 29: Hoare triple {8234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8234#true} is VALID [2022-04-28 05:53:19,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-28 05:53:19,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {8234#true} assume !(~c~0 >= ~b~0); {8332#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:19,399 INFO L290 TraceCheckUtils]: 32: Hoare triple {8332#(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; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:53:19,400 INFO L290 TraceCheckUtils]: 33: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !false; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:53:19,400 INFO L290 TraceCheckUtils]: 34: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:53:19,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !false; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:53:19,400 INFO L290 TraceCheckUtils]: 36: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,401 INFO L290 TraceCheckUtils]: 37: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !false; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,401 INFO L272 TraceCheckUtils]: 38: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,401 INFO L290 TraceCheckUtils]: 39: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,401 INFO L290 TraceCheckUtils]: 40: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,401 INFO L290 TraceCheckUtils]: 41: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,401 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #102#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,402 INFO L272 TraceCheckUtils]: 43: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,402 INFO L290 TraceCheckUtils]: 44: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,402 INFO L290 TraceCheckUtils]: 45: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,402 INFO L290 TraceCheckUtils]: 46: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,402 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #104#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,402 INFO L272 TraceCheckUtils]: 48: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,402 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,402 INFO L290 TraceCheckUtils]: 50: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,402 INFO L290 TraceCheckUtils]: 51: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,403 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #106#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,403 INFO L272 TraceCheckUtils]: 53: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,403 INFO L290 TraceCheckUtils]: 54: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,403 INFO L290 TraceCheckUtils]: 55: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,403 INFO L290 TraceCheckUtils]: 56: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,404 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #108#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,404 INFO L290 TraceCheckUtils]: 58: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,404 INFO L290 TraceCheckUtils]: 59: Hoare triple {8350#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8420#(< 0 main_~c~0)} is VALID [2022-04-28 05:53:19,405 INFO L290 TraceCheckUtils]: 60: Hoare triple {8420#(< 0 main_~c~0)} assume !false; {8420#(< 0 main_~c~0)} is VALID [2022-04-28 05:53:19,405 INFO L290 TraceCheckUtils]: 61: Hoare triple {8420#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8420#(< 0 main_~c~0)} is VALID [2022-04-28 05:53:19,405 INFO L290 TraceCheckUtils]: 62: Hoare triple {8420#(< 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; {8430#(< 0 main_~b~0)} is VALID [2022-04-28 05:53:19,405 INFO L290 TraceCheckUtils]: 63: Hoare triple {8430#(< 0 main_~b~0)} assume !false; {8430#(< 0 main_~b~0)} is VALID [2022-04-28 05:53:19,406 INFO L290 TraceCheckUtils]: 64: Hoare triple {8430#(< 0 main_~b~0)} assume !(0 != ~b~0); {8235#false} is VALID [2022-04-28 05:53:19,406 INFO L272 TraceCheckUtils]: 65: Hoare triple {8235#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)); {8235#false} is VALID [2022-04-28 05:53:19,406 INFO L290 TraceCheckUtils]: 66: Hoare triple {8235#false} ~cond := #in~cond; {8235#false} is VALID [2022-04-28 05:53:19,406 INFO L290 TraceCheckUtils]: 67: Hoare triple {8235#false} assume 0 == ~cond; {8235#false} is VALID [2022-04-28 05:53:19,406 INFO L290 TraceCheckUtils]: 68: Hoare triple {8235#false} assume !false; {8235#false} is VALID [2022-04-28 05:53:19,406 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 05:53:19,406 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:53:19,618 INFO L290 TraceCheckUtils]: 68: Hoare triple {8235#false} assume !false; {8235#false} is VALID [2022-04-28 05:53:19,618 INFO L290 TraceCheckUtils]: 67: Hoare triple {8235#false} assume 0 == ~cond; {8235#false} is VALID [2022-04-28 05:53:19,619 INFO L290 TraceCheckUtils]: 66: Hoare triple {8235#false} ~cond := #in~cond; {8235#false} is VALID [2022-04-28 05:53:19,619 INFO L272 TraceCheckUtils]: 65: Hoare triple {8235#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)); {8235#false} is VALID [2022-04-28 05:53:19,623 INFO L290 TraceCheckUtils]: 64: Hoare triple {8430#(< 0 main_~b~0)} assume !(0 != ~b~0); {8235#false} is VALID [2022-04-28 05:53:19,623 INFO L290 TraceCheckUtils]: 63: Hoare triple {8430#(< 0 main_~b~0)} assume !false; {8430#(< 0 main_~b~0)} is VALID [2022-04-28 05:53:19,623 INFO L290 TraceCheckUtils]: 62: Hoare triple {8420#(< 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; {8430#(< 0 main_~b~0)} is VALID [2022-04-28 05:53:19,623 INFO L290 TraceCheckUtils]: 61: Hoare triple {8420#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8420#(< 0 main_~c~0)} is VALID [2022-04-28 05:53:19,624 INFO L290 TraceCheckUtils]: 60: Hoare triple {8420#(< 0 main_~c~0)} assume !false; {8420#(< 0 main_~c~0)} is VALID [2022-04-28 05:53:19,624 INFO L290 TraceCheckUtils]: 59: Hoare triple {8350#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8420#(< 0 main_~c~0)} is VALID [2022-04-28 05:53:19,624 INFO L290 TraceCheckUtils]: 58: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,625 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #108#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,625 INFO L290 TraceCheckUtils]: 56: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,625 INFO L290 TraceCheckUtils]: 55: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,625 INFO L290 TraceCheckUtils]: 54: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,625 INFO L272 TraceCheckUtils]: 53: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,626 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #106#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,626 INFO L290 TraceCheckUtils]: 51: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,626 INFO L290 TraceCheckUtils]: 50: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,626 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,626 INFO L272 TraceCheckUtils]: 48: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,626 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #104#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,626 INFO L290 TraceCheckUtils]: 46: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,626 INFO L290 TraceCheckUtils]: 45: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,627 INFO L290 TraceCheckUtils]: 44: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,627 INFO L272 TraceCheckUtils]: 43: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,627 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8234#true} {8350#(< main_~v~0 main_~c~0)} #102#return; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,627 INFO L290 TraceCheckUtils]: 41: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,627 INFO L290 TraceCheckUtils]: 40: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,627 INFO L290 TraceCheckUtils]: 39: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,627 INFO L272 TraceCheckUtils]: 38: Hoare triple {8350#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,643 INFO L290 TraceCheckUtils]: 37: Hoare triple {8350#(< main_~v~0 main_~c~0)} assume !false; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,643 INFO L290 TraceCheckUtils]: 36: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8350#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:53:19,644 INFO L290 TraceCheckUtils]: 35: Hoare triple {8343#(< main_~b~0 main_~c~0)} assume !false; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:53:19,644 INFO L290 TraceCheckUtils]: 34: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8343#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:53:19,644 INFO L290 TraceCheckUtils]: 33: Hoare triple {8336#(< main_~b~0 main_~a~0)} assume !false; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:53:19,645 INFO L290 TraceCheckUtils]: 32: Hoare triple {8332#(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; {8336#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:53:19,645 INFO L290 TraceCheckUtils]: 31: Hoare triple {8234#true} assume !(~c~0 >= ~b~0); {8332#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:19,645 INFO L290 TraceCheckUtils]: 30: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-28 05:53:19,645 INFO L290 TraceCheckUtils]: 29: Hoare triple {8234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8234#true} is VALID [2022-04-28 05:53:19,645 INFO L290 TraceCheckUtils]: 28: Hoare triple {8234#true} assume !false; {8234#true} is VALID [2022-04-28 05:53:19,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {8234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8234#true} is VALID [2022-04-28 05:53:19,645 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8234#true} {8234#true} #100#return; {8234#true} is VALID [2022-04-28 05:53:19,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L272 TraceCheckUtils]: 22: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8234#true} {8234#true} #98#return; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 19: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L272 TraceCheckUtils]: 17: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8234#true} {8234#true} #96#return; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L272 TraceCheckUtils]: 12: Hoare triple {8234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 11: Hoare triple {8234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8234#true} {8234#true} #94#return; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {8234#true} assume !(0 == ~cond); {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {8234#true} ~cond := #in~cond; {8234#true} is VALID [2022-04-28 05:53:19,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {8234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8234#true} is VALID [2022-04-28 05:53:19,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {8234#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; {8234#true} is VALID [2022-04-28 05:53:19,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {8234#true} call #t~ret6 := main(); {8234#true} is VALID [2022-04-28 05:53:19,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8234#true} {8234#true} #112#return; {8234#true} is VALID [2022-04-28 05:53:19,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {8234#true} assume true; {8234#true} is VALID [2022-04-28 05:53:19,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {8234#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); {8234#true} is VALID [2022-04-28 05:53:19,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {8234#true} call ULTIMATE.init(); {8234#true} is VALID [2022-04-28 05:53:19,647 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 05:53:19,647 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:53:19,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1985895631] [2022-04-28 05:53:19,647 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:53:19,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [735013811] [2022-04-28 05:53:19,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [735013811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:53:19,647 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:53:19,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-28 05:53:19,648 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:53:19,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [578449379] [2022-04-28 05:53:19,648 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [578449379] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:53:19,648 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:53:19,648 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:53:19,648 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1249393996] [2022-04-28 05:53:19,648 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:53:19,648 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 05:53:19,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:53:19,648 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 05:53:19,679 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 05:53:19,679 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:53:19,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:19,680 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:53:19,680 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:53:19,680 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 05:53:21,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:21,341 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-28 05:53:21,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:53:21,342 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 05:53:21,342 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:53:21,342 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 05:53:21,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 05:53:21,344 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 05:53:21,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 05:53:21,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-28 05:53:21,462 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 05:53:21,467 INFO L225 Difference]: With dead ends: 288 [2022-04-28 05:53:21,467 INFO L226 Difference]: Without dead ends: 281 [2022-04-28 05:53:21,468 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 05:53:21,468 INFO L413 NwaCegarLoop]: 87 mSDtfsCounter, 48 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 84 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:53:21,468 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.4s Time] [2022-04-28 05:53:21,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-28 05:53:21,957 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-28 05:53:21,957 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:53:21,958 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 05:53:21,958 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 05:53:21,959 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 05:53:21,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:21,968 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 05:53:21,968 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 05:53:21,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:21,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:21,970 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 05:53:21,970 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 05:53:21,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:21,979 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 05:53:21,979 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 05:53:21,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:21,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:21,980 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:53:21,980 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:53:21,981 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 05:53:21,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-28 05:53:21,986 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-28 05:53:21,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:53:21,987 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-28 05:53:21,987 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 05:53:21,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-28 05:53:22,408 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 05:53:22,408 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-28 05:53:22,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 05:53:22,409 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:53:22,409 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 05:53:22,425 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 05:53:22,610 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 05:53:22,610 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:53:22,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:53:22,610 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-28 05:53:22,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:22,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [899222646] [2022-04-28 05:53:22,611 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:53:22,611 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-28 05:53:22,611 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:53:22,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1933859669] [2022-04-28 05:53:22,611 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:53:22,611 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:53:22,624 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:53:22,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1859162494] [2022-04-28 05:53:22,625 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:53:22,626 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:53:22,626 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:53:22,627 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 05:53:22,632 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 05:53:22,672 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:53:22,672 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:53:22,673 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 05:53:22,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:53:22,692 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:53:23,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {10236#true} call ULTIMATE.init(); {10236#true} is VALID [2022-04-28 05:53:23,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {10236#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); {10236#true} is VALID [2022-04-28 05:53:23,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10236#true} {10236#true} #112#return; {10236#true} is VALID [2022-04-28 05:53:23,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {10236#true} call #t~ret6 := main(); {10236#true} is VALID [2022-04-28 05:53:23,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {10236#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; {10236#true} is VALID [2022-04-28 05:53:23,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {10236#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:23,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {10236#true} ~cond := #in~cond; {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:53:23,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:23,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:23,738 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} {10236#true} #94#return; {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:23,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:23,739 INFO L272 TraceCheckUtils]: 12: Hoare triple {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:23,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {10236#true} ~cond := #in~cond; {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:53:23,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {10262#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:23,740 INFO L290 TraceCheckUtils]: 15: Hoare triple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10266#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:23,740 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10266#(not (= |assume_abort_if_not_#in~cond| 0))} {10273#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:23,740 INFO L272 TraceCheckUtils]: 17: Hoare triple {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:23,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,741 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10236#true} {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:23,741 INFO L272 TraceCheckUtils]: 22: Hoare triple {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:23,741 INFO L290 TraceCheckUtils]: 23: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,741 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10236#true} {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:23,742 INFO L290 TraceCheckUtils]: 27: Hoare triple {10292#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,742 INFO L290 TraceCheckUtils]: 28: Hoare triple {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} assume !false; {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,742 INFO L290 TraceCheckUtils]: 29: Hoare triple {10326#(and (<= main_~b~0 2) (<= main_~a~0 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,743 INFO L290 TraceCheckUtils]: 30: Hoare triple {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,743 INFO L290 TraceCheckUtils]: 31: Hoare triple {10333#(and (<= main_~b~0 2) (<= main_~c~0 2) (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; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,747 INFO L290 TraceCheckUtils]: 32: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,747 INFO L272 TraceCheckUtils]: 33: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= 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)); {10236#true} is VALID [2022-04-28 05:53:23,747 INFO L290 TraceCheckUtils]: 34: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,747 INFO L290 TraceCheckUtils]: 35: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,748 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,748 INFO L272 TraceCheckUtils]: 38: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= 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)); {10236#true} is VALID [2022-04-28 05:53:23,748 INFO L290 TraceCheckUtils]: 39: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,749 INFO L290 TraceCheckUtils]: 40: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,749 INFO L290 TraceCheckUtils]: 41: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,749 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,749 INFO L272 TraceCheckUtils]: 43: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= 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)); {10236#true} is VALID [2022-04-28 05:53:23,749 INFO L290 TraceCheckUtils]: 44: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,749 INFO L290 TraceCheckUtils]: 45: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,750 INFO L290 TraceCheckUtils]: 46: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,750 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,750 INFO L272 TraceCheckUtils]: 48: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= 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)); {10236#true} is VALID [2022-04-28 05:53:23,750 INFO L290 TraceCheckUtils]: 49: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,750 INFO L290 TraceCheckUtils]: 50: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,750 INFO L290 TraceCheckUtils]: 51: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,751 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10236#true} {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #108#return; {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,752 INFO L290 TraceCheckUtils]: 53: Hoare triple {10340#(and (= main_~b~0 main_~v~0) (<= main_~b~0 2) (<= main_~c~0 2) (= 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; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,752 INFO L290 TraceCheckUtils]: 54: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,752 INFO L272 TraceCheckUtils]: 55: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= 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)); {10236#true} is VALID [2022-04-28 05:53:23,752 INFO L290 TraceCheckUtils]: 56: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,752 INFO L290 TraceCheckUtils]: 57: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,752 INFO L290 TraceCheckUtils]: 58: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,753 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10236#true} {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,753 INFO L272 TraceCheckUtils]: 60: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= 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)); {10236#true} is VALID [2022-04-28 05:53:23,765 INFO L290 TraceCheckUtils]: 61: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,765 INFO L290 TraceCheckUtils]: 62: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,765 INFO L290 TraceCheckUtils]: 63: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,766 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10236#true} {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,766 INFO L272 TraceCheckUtils]: 65: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= 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)); {10236#true} is VALID [2022-04-28 05:53:23,766 INFO L290 TraceCheckUtils]: 66: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:23,766 INFO L290 TraceCheckUtils]: 67: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:23,766 INFO L290 TraceCheckUtils]: 68: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:23,767 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10236#true} {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:23,768 INFO L272 TraceCheckUtils]: 70: Hoare triple {10407#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= 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)); {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:53:23,768 INFO L290 TraceCheckUtils]: 71: Hoare triple {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:53:23,768 INFO L290 TraceCheckUtils]: 72: Hoare triple {10463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10237#false} is VALID [2022-04-28 05:53:23,769 INFO L290 TraceCheckUtils]: 73: Hoare triple {10237#false} assume !false; {10237#false} is VALID [2022-04-28 05:53:23,769 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 05:53:23,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:53:24,076 INFO L290 TraceCheckUtils]: 73: Hoare triple {10237#false} assume !false; {10237#false} is VALID [2022-04-28 05:53:24,077 INFO L290 TraceCheckUtils]: 72: Hoare triple {10463#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10237#false} is VALID [2022-04-28 05:53:24,077 INFO L290 TraceCheckUtils]: 71: Hoare triple {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10463#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:53:24,077 INFO L272 TraceCheckUtils]: 70: Hoare triple {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10459#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:53:24,078 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10236#true} {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:53:24,078 INFO L290 TraceCheckUtils]: 68: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,078 INFO L290 TraceCheckUtils]: 67: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,078 INFO L290 TraceCheckUtils]: 66: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,078 INFO L272 TraceCheckUtils]: 65: Hoare triple {10479#(= 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)); {10236#true} is VALID [2022-04-28 05:53:24,079 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10236#true} {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:53:24,079 INFO L290 TraceCheckUtils]: 63: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,079 INFO L290 TraceCheckUtils]: 62: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,079 INFO L290 TraceCheckUtils]: 61: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,079 INFO L272 TraceCheckUtils]: 60: Hoare triple {10479#(= 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)); {10236#true} is VALID [2022-04-28 05:53:24,081 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10236#true} {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:53:24,081 INFO L290 TraceCheckUtils]: 58: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,081 INFO L290 TraceCheckUtils]: 57: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,081 INFO L290 TraceCheckUtils]: 56: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,081 INFO L272 TraceCheckUtils]: 55: Hoare triple {10479#(= 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)); {10236#true} is VALID [2022-04-28 05:53:24,082 INFO L290 TraceCheckUtils]: 54: Hoare triple {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:53:24,084 INFO L290 TraceCheckUtils]: 53: Hoare triple {10531#(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; {10479#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:53:24,084 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {10531#(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 05:53:24,084 INFO L290 TraceCheckUtils]: 51: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,084 INFO L290 TraceCheckUtils]: 50: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,084 INFO L290 TraceCheckUtils]: 49: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,085 INFO L272 TraceCheckUtils]: 48: Hoare triple {10531#(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)); {10236#true} is VALID [2022-04-28 05:53:24,087 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {10531#(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 05:53:24,087 INFO L290 TraceCheckUtils]: 46: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,088 INFO L290 TraceCheckUtils]: 45: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,088 INFO L290 TraceCheckUtils]: 44: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,088 INFO L272 TraceCheckUtils]: 43: Hoare triple {10531#(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)); {10236#true} is VALID [2022-04-28 05:53:24,088 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {10531#(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 05:53:24,088 INFO L290 TraceCheckUtils]: 41: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,088 INFO L290 TraceCheckUtils]: 40: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,088 INFO L290 TraceCheckUtils]: 39: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,088 INFO L272 TraceCheckUtils]: 38: Hoare triple {10531#(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)); {10236#true} is VALID [2022-04-28 05:53:24,089 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10236#true} {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {10531#(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 05:53:24,089 INFO L290 TraceCheckUtils]: 36: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,089 INFO L290 TraceCheckUtils]: 35: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,089 INFO L290 TraceCheckUtils]: 34: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,089 INFO L272 TraceCheckUtils]: 33: Hoare triple {10531#(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)); {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L290 TraceCheckUtils]: 32: Hoare triple {10531#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {10531#(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 05:53:24,090 INFO L290 TraceCheckUtils]: 31: Hoare triple {10236#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10531#(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 05:53:24,090 INFO L290 TraceCheckUtils]: 30: Hoare triple {10236#true} assume !false; {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L290 TraceCheckUtils]: 29: Hoare triple {10236#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L290 TraceCheckUtils]: 28: Hoare triple {10236#true} assume !false; {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L290 TraceCheckUtils]: 27: Hoare triple {10236#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10236#true} {10236#true} #100#return; {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L290 TraceCheckUtils]: 25: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L290 TraceCheckUtils]: 24: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L272 TraceCheckUtils]: 22: Hoare triple {10236#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:24,090 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10236#true} {10236#true} #98#return; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 20: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 19: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 18: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L272 TraceCheckUtils]: 17: Hoare triple {10236#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10236#true} {10236#true} #96#return; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 15: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 14: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 13: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L272 TraceCheckUtils]: 12: Hoare triple {10236#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {10236#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10236#true} {10236#true} #94#return; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {10236#true} assume !(0 == ~cond); {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {10236#true} ~cond := #in~cond; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L272 TraceCheckUtils]: 6: Hoare triple {10236#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {10236#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; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {10236#true} call #t~ret6 := main(); {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10236#true} {10236#true} #112#return; {10236#true} is VALID [2022-04-28 05:53:24,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {10236#true} assume true; {10236#true} is VALID [2022-04-28 05:53:24,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {10236#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); {10236#true} is VALID [2022-04-28 05:53:24,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {10236#true} call ULTIMATE.init(); {10236#true} is VALID [2022-04-28 05:53:24,092 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 05:53:24,092 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:53:24,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1933859669] [2022-04-28 05:53:24,092 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:53:24,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1859162494] [2022-04-28 05:53:24,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1859162494] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:53:24,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:53:24,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 14 [2022-04-28 05:53:24,092 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:53:24,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [899222646] [2022-04-28 05:53:24,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [899222646] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:53:24,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:53:24,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:53:24,093 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1201234201] [2022-04-28 05:53:24,093 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:53:24,093 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 05:53:24,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:53:24,093 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 05:53:24,127 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 05:53:24,127 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:53:24,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:24,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:53:24,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:53:24,127 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 05:53:24,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:24,807 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-28 05:53:24,808 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:53:24,808 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 05:53:24,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:53:24,808 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 05:53:24,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 05:53:24,809 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 05:53:24,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 05:53:24,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 05:53:24,851 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 05:53:24,854 INFO L225 Difference]: With dead ends: 214 [2022-04-28 05:53:24,855 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 05:53:24,855 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 05:53:24,855 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 9 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:53:24,855 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 166 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:53:24,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 05:53:25,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 05:53:25,347 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:53:25,347 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 05:53:25,348 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 05:53:25,348 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 05:53:25,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:25,353 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 05:53:25,353 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 05:53:25,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:25,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:25,354 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 05:53:25,355 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 05:53:25,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:25,360 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 05:53:25,360 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 05:53:25,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:25,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:25,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:53:25,361 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:53:25,361 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 05:53:25,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-28 05:53:25,366 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-28 05:53:25,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:53:25,366 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-28 05:53:25,367 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 05:53:25,367 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-28 05:53:25,833 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 05:53:25,833 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 05:53:25,834 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-28 05:53:25,834 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:53:25,834 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 05:53:25,850 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 05:53:26,034 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 05:53:26,035 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:53:26,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:53:26,035 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-28 05:53:26,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:26,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1772014714] [2022-04-28 05:53:26,036 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:53:26,036 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-28 05:53:26,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:53:26,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1974154051] [2022-04-28 05:53:26,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:53:26,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:53:26,047 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:53:26,047 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1484196434] [2022-04-28 05:53:26,047 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:53:26,047 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:53:26,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:53:26,048 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 05:53:26,049 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 05:53:26,088 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:53:26,088 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:53:26,089 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 05:53:26,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:53:26,106 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:53:26,411 INFO L272 TraceCheckUtils]: 0: Hoare triple {11971#true} call ULTIMATE.init(); {11971#true} is VALID [2022-04-28 05:53:26,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {11971#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); {11971#true} is VALID [2022-04-28 05:53:26,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11971#true} {11971#true} #112#return; {11971#true} is VALID [2022-04-28 05:53:26,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {11971#true} call #t~ret6 := main(); {11971#true} is VALID [2022-04-28 05:53:26,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {11971#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; {11971#true} is VALID [2022-04-28 05:53:26,411 INFO L272 TraceCheckUtils]: 6: Hoare triple {11971#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:26,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:26,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11971#true} {11971#true} #94#return; {11971#true} is VALID [2022-04-28 05:53:26,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {11971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11971#true} is VALID [2022-04-28 05:53:26,412 INFO L272 TraceCheckUtils]: 12: Hoare triple {11971#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {11971#true} ~cond := #in~cond; {12015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:53:26,412 INFO L290 TraceCheckUtils]: 14: Hoare triple {12015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:26,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:26,413 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} {11971#true} #96#return; {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:53:26,413 INFO L272 TraceCheckUtils]: 17: Hoare triple {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,413 INFO L290 TraceCheckUtils]: 18: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:26,413 INFO L290 TraceCheckUtils]: 19: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:26,413 INFO L290 TraceCheckUtils]: 20: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,414 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11971#true} {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:53:26,414 INFO L272 TraceCheckUtils]: 22: Hoare triple {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,414 INFO L290 TraceCheckUtils]: 23: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:26,414 INFO L290 TraceCheckUtils]: 24: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:26,414 INFO L290 TraceCheckUtils]: 25: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,414 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11971#true} {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:53:26,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {12026#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:26,415 INFO L290 TraceCheckUtils]: 28: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:26,415 INFO L290 TraceCheckUtils]: 29: Hoare triple {12060#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:26,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:26,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {12060#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {12073#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:53:26,416 INFO L290 TraceCheckUtils]: 32: Hoare triple {12073#(and (<= main_~b~0 2) (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; {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 05:53:26,416 INFO L290 TraceCheckUtils]: 33: Hoare triple {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !false; {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 05:53:26,417 INFO L290 TraceCheckUtils]: 34: Hoare triple {12077#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:53:26,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !false; {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:53:26,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {12084#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-28 05:53:26,417 INFO L290 TraceCheckUtils]: 37: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} assume !false; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-28 05:53:26,418 INFO L272 TraceCheckUtils]: 38: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,418 INFO L290 TraceCheckUtils]: 39: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:26,418 INFO L290 TraceCheckUtils]: 40: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:26,418 INFO L290 TraceCheckUtils]: 41: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,418 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #102#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-28 05:53:26,418 INFO L272 TraceCheckUtils]: 43: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,418 INFO L290 TraceCheckUtils]: 44: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:26,418 INFO L290 TraceCheckUtils]: 45: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:26,418 INFO L290 TraceCheckUtils]: 46: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,419 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #104#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-28 05:53:26,419 INFO L272 TraceCheckUtils]: 48: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,419 INFO L290 TraceCheckUtils]: 49: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:26,419 INFO L290 TraceCheckUtils]: 50: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:26,419 INFO L290 TraceCheckUtils]: 51: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,436 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #106#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-28 05:53:26,436 INFO L272 TraceCheckUtils]: 53: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:26,436 INFO L290 TraceCheckUtils]: 54: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:26,436 INFO L290 TraceCheckUtils]: 55: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:26,436 INFO L290 TraceCheckUtils]: 56: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:26,437 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11971#true} {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #108#return; {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-28 05:53:26,437 INFO L290 TraceCheckUtils]: 58: Hoare triple {12091#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} assume !(~c~0 >= 2 * ~v~0); {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 59: Hoare triple {11972#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 60: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 61: Hoare triple {11972#false} assume !(~c~0 >= ~b~0); {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 62: Hoare triple {11972#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; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 63: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 64: Hoare triple {11972#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 65: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 66: Hoare triple {11972#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 67: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L272 TraceCheckUtils]: 68: Hoare triple {11972#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 69: Hoare triple {11972#false} ~cond := #in~cond; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 70: Hoare triple {11972#false} assume 0 == ~cond; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L290 TraceCheckUtils]: 71: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:26,438 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 30 proven. 6 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-28 05:53:26,438 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 71: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 70: Hoare triple {11972#false} assume 0 == ~cond; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 69: Hoare triple {11972#false} ~cond := #in~cond; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L272 TraceCheckUtils]: 68: Hoare triple {11972#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 67: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 66: Hoare triple {11972#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 65: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 64: Hoare triple {11972#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 63: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 62: Hoare triple {11972#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; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 61: Hoare triple {11972#false} assume !(~c~0 >= ~b~0); {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 60: Hoare triple {11972#false} assume !false; {11972#false} is VALID [2022-04-28 05:53:27,016 INFO L290 TraceCheckUtils]: 59: Hoare triple {11972#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11972#false} is VALID [2022-04-28 05:53:27,017 INFO L290 TraceCheckUtils]: 58: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {11972#false} is VALID [2022-04-28 05:53:27,017 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #108#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-28 05:53:27,017 INFO L290 TraceCheckUtils]: 56: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,017 INFO L290 TraceCheckUtils]: 55: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:27,017 INFO L290 TraceCheckUtils]: 54: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:27,017 INFO L272 TraceCheckUtils]: 53: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:27,018 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #106#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-28 05:53:27,018 INFO L290 TraceCheckUtils]: 51: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,018 INFO L290 TraceCheckUtils]: 50: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:27,018 INFO L290 TraceCheckUtils]: 49: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:27,018 INFO L272 TraceCheckUtils]: 48: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:27,019 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #104#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-28 05:53:27,019 INFO L290 TraceCheckUtils]: 46: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,019 INFO L290 TraceCheckUtils]: 45: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:27,019 INFO L290 TraceCheckUtils]: 44: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:27,019 INFO L272 TraceCheckUtils]: 43: Hoare triple {12236#(<= (* 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)); {11971#true} is VALID [2022-04-28 05:53:27,020 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11971#true} {12236#(<= (* main_~v~0 2) main_~c~0)} #102#return; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-28 05:53:27,020 INFO L290 TraceCheckUtils]: 41: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,020 INFO L290 TraceCheckUtils]: 40: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:27,020 INFO L290 TraceCheckUtils]: 39: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:27,020 INFO L272 TraceCheckUtils]: 38: Hoare triple {12236#(<= (* 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)); {11971#true} is VALID [2022-04-28 05:53:27,020 INFO L290 TraceCheckUtils]: 37: Hoare triple {12236#(<= (* main_~v~0 2) main_~c~0)} assume !false; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-28 05:53:27,021 INFO L290 TraceCheckUtils]: 36: Hoare triple {12303#(<= main_~b~0 (div main_~c~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12236#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-28 05:53:27,021 INFO L290 TraceCheckUtils]: 35: Hoare triple {12303#(<= main_~b~0 (div main_~c~0 2))} assume !false; {12303#(<= main_~b~0 (div main_~c~0 2))} is VALID [2022-04-28 05:53:27,022 INFO L290 TraceCheckUtils]: 34: Hoare triple {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12303#(<= main_~b~0 (div main_~c~0 2))} is VALID [2022-04-28 05:53:27,022 INFO L290 TraceCheckUtils]: 33: Hoare triple {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} assume !false; {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} is VALID [2022-04-28 05:53:27,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {12317#(<= main_~c~0 (+ (div (+ main_~b~0 (- 4)) 2) 2))} ~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; {12310#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} is VALID [2022-04-28 05:53:27,023 INFO L290 TraceCheckUtils]: 31: Hoare triple {12060#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {12317#(<= main_~c~0 (+ (div (+ main_~b~0 (- 4)) 2) 2))} is VALID [2022-04-28 05:53:27,023 INFO L290 TraceCheckUtils]: 30: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:27,024 INFO L290 TraceCheckUtils]: 29: Hoare triple {12060#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:27,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {12060#(<= main_~b~0 2)} assume !false; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:27,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {12333#(<= main_~y~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12060#(<= main_~b~0 2)} is VALID [2022-04-28 05:53:27,024 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11971#true} {12333#(<= main_~y~0 2)} #100#return; {12333#(<= main_~y~0 2)} is VALID [2022-04-28 05:53:27,025 INFO L290 TraceCheckUtils]: 25: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,025 INFO L290 TraceCheckUtils]: 24: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:27,025 INFO L290 TraceCheckUtils]: 23: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:27,025 INFO L272 TraceCheckUtils]: 22: Hoare triple {12333#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:27,025 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11971#true} {12333#(<= main_~y~0 2)} #98#return; {12333#(<= main_~y~0 2)} is VALID [2022-04-28 05:53:27,025 INFO L290 TraceCheckUtils]: 20: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,025 INFO L290 TraceCheckUtils]: 19: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:27,025 INFO L290 TraceCheckUtils]: 18: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:27,025 INFO L272 TraceCheckUtils]: 17: Hoare triple {12333#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:27,026 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} {11971#true} #96#return; {12333#(<= main_~y~0 2)} is VALID [2022-04-28 05:53:27,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {12019#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:27,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {12376#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {12019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:27,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {11971#true} ~cond := #in~cond; {12376#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:53:27,026 INFO L272 TraceCheckUtils]: 12: Hoare triple {11971#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {11971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11971#true} {11971#true} #94#return; {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L290 TraceCheckUtils]: 9: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {11971#true} assume !(0 == ~cond); {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L290 TraceCheckUtils]: 7: Hoare triple {11971#true} ~cond := #in~cond; {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L272 TraceCheckUtils]: 6: Hoare triple {11971#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {11971#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; {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {11971#true} call #t~ret6 := main(); {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11971#true} {11971#true} #112#return; {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {11971#true} assume true; {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {11971#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); {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {11971#true} call ULTIMATE.init(); {11971#true} is VALID [2022-04-28 05:53:27,027 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-28 05:53:27,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:53:27,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1974154051] [2022-04-28 05:53:27,027 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:53:27,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1484196434] [2022-04-28 05:53:27,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1484196434] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:53:27,028 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:53:27,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 05:53:27,028 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:53:27,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1772014714] [2022-04-28 05:53:27,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1772014714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:53:27,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:53:27,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:53:27,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [669537822] [2022-04-28 05:53:27,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:53:27,028 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 72 [2022-04-28 05:53:27,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:53:27,029 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:53:27,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:27,062 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:53:27,062 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:27,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:53:27,063 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:53:27,063 INFO L87 Difference]: Start difference. First operand 212 states and 299 transitions. Second operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:53:28,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:28,361 INFO L93 Difference]: Finished difference Result 306 states and 427 transitions. [2022-04-28 05:53:28,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:53:28,361 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 72 [2022-04-28 05:53:28,362 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:53:28,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:53:28,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 05:53:28,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:53:28,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 05:53:28,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2022-04-28 05:53:28,462 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:28,465 INFO L225 Difference]: With dead ends: 306 [2022-04-28 05:53:28,465 INFO L226 Difference]: Without dead ends: 204 [2022-04-28 05:53:28,466 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=102, Invalid=404, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:53:28,466 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 39 mSDsluCounter, 201 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:53:28,466 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 253 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:53:28,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2022-04-28 05:53:28,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 200. [2022-04-28 05:53:28,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:53:28,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 05:53:28,995 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 05:53:28,995 INFO L87 Difference]: Start difference. First operand 204 states. Second operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 05:53:28,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:28,999 INFO L93 Difference]: Finished difference Result 204 states and 285 transitions. [2022-04-28 05:53:28,999 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 285 transitions. [2022-04-28 05:53:29,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:29,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:29,000 INFO L74 IsIncluded]: Start isIncluded. First operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 204 states. [2022-04-28 05:53:29,000 INFO L87 Difference]: Start difference. First operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 204 states. [2022-04-28 05:53:29,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:29,004 INFO L93 Difference]: Finished difference Result 204 states and 285 transitions. [2022-04-28 05:53:29,004 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 285 transitions. [2022-04-28 05:53:29,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:29,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:29,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:53:29,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:53:29,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 200 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 113 states have internal predecessors, (125), 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 05:53:29,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 281 transitions. [2022-04-28 05:53:29,009 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 281 transitions. Word has length 72 [2022-04-28 05:53:29,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:53:29,010 INFO L495 AbstractCegarLoop]: Abstraction has 200 states and 281 transitions. [2022-04-28 05:53:29,010 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:53:29,010 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 200 states and 281 transitions. [2022-04-28 05:53:29,466 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 281 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:29,466 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 281 transitions. [2022-04-28 05:53:29,467 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 05:53:29,467 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:53:29,467 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 05:53:29,484 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 05:53:29,667 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 05:53:29,667 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:53:29,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:53:29,668 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-28 05:53:29,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:29,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1219880807] [2022-04-28 05:53:29,668 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:53:29,668 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-28 05:53:29,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:53:29,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1446590331] [2022-04-28 05:53:29,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:53:29,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:53:29,678 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:53:29,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1637224884] [2022-04-28 05:53:29,678 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:53:29,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:53:29,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:53:29,679 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 05:53:29,680 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 05:53:29,722 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:53:29,722 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:53:29,723 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-28 05:53:29,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:53:29,739 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:53:30,956 INFO L272 TraceCheckUtils]: 0: Hoare triple {13852#true} call ULTIMATE.init(); {13852#true} is VALID [2022-04-28 05:53:30,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {13852#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); {13852#true} is VALID [2022-04-28 05:53:30,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13852#true} {13852#true} #112#return; {13852#true} is VALID [2022-04-28 05:53:30,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {13852#true} call #t~ret6 := main(); {13852#true} is VALID [2022-04-28 05:53:30,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {13852#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; {13852#true} is VALID [2022-04-28 05:53:30,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {13852#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {13852#true} ~cond := #in~cond; {13878#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:53:30,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {13878#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13882#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:30,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {13882#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13882#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:30,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13882#(not (= |assume_abort_if_not_#in~cond| 0))} {13852#true} #94#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:30,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:30,958 INFO L272 TraceCheckUtils]: 12: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13852#true} {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:30,959 INFO L272 TraceCheckUtils]: 17: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13852#true} {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:30,959 INFO L272 TraceCheckUtils]: 22: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L290 TraceCheckUtils]: 23: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L290 TraceCheckUtils]: 24: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,960 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13852#true} {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:53:30,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {13889#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,960 INFO L290 TraceCheckUtils]: 28: Hoare triple {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {13941#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,962 INFO L290 TraceCheckUtils]: 31: Hoare triple {13948#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,962 INFO L290 TraceCheckUtils]: 32: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,962 INFO L272 TraceCheckUtils]: 33: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,962 INFO L290 TraceCheckUtils]: 35: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,962 INFO L290 TraceCheckUtils]: 36: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,963 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,963 INFO L272 TraceCheckUtils]: 38: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,963 INFO L290 TraceCheckUtils]: 39: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,963 INFO L290 TraceCheckUtils]: 40: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,963 INFO L290 TraceCheckUtils]: 41: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,964 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,964 INFO L272 TraceCheckUtils]: 43: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,964 INFO L290 TraceCheckUtils]: 44: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,964 INFO L290 TraceCheckUtils]: 45: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,964 INFO L290 TraceCheckUtils]: 46: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,965 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,965 INFO L272 TraceCheckUtils]: 48: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,965 INFO L290 TraceCheckUtils]: 49: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,965 INFO L290 TraceCheckUtils]: 50: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,965 INFO L290 TraceCheckUtils]: 51: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,966 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13852#true} {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,966 INFO L290 TraceCheckUtils]: 53: Hoare triple {13955#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,966 INFO L290 TraceCheckUtils]: 54: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,967 INFO L272 TraceCheckUtils]: 55: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,967 INFO L290 TraceCheckUtils]: 56: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,967 INFO L290 TraceCheckUtils]: 57: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,967 INFO L290 TraceCheckUtils]: 58: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,967 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13852#true} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,967 INFO L272 TraceCheckUtils]: 60: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,968 INFO L290 TraceCheckUtils]: 61: Hoare triple {13852#true} ~cond := #in~cond; {14047#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:53:30,968 INFO L290 TraceCheckUtils]: 62: Hoare triple {14047#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:30,968 INFO L290 TraceCheckUtils]: 63: Hoare triple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:30,969 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,969 INFO L272 TraceCheckUtils]: 65: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,969 INFO L290 TraceCheckUtils]: 66: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,969 INFO L290 TraceCheckUtils]: 67: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,969 INFO L290 TraceCheckUtils]: 68: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,970 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13852#true} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,970 INFO L272 TraceCheckUtils]: 70: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:30,970 INFO L290 TraceCheckUtils]: 71: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:30,970 INFO L290 TraceCheckUtils]: 72: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:30,970 INFO L290 TraceCheckUtils]: 73: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:30,971 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13852#true} {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,971 INFO L290 TraceCheckUtils]: 75: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,972 INFO L290 TraceCheckUtils]: 76: Hoare triple {14022#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) main_~c~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,973 INFO L290 TraceCheckUtils]: 77: Hoare triple {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,973 INFO L290 TraceCheckUtils]: 78: Hoare triple {14094#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {14101#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (< main_~c~0 main_~b~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:53:30,974 INFO L290 TraceCheckUtils]: 79: Hoare triple {14101#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (< main_~c~0 main_~b~0) (<= main_~x~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; {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:53:30,974 INFO L290 TraceCheckUtils]: 80: Hoare triple {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:53:30,975 INFO L290 TraceCheckUtils]: 81: Hoare triple {14105#(and (<= (* main_~y~0 2) main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (< main_~x~0 (* main_~y~0 3)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(0 != ~b~0); {14112#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~x~0 (* main_~y~0 2)) (< main_~x~0 (* main_~y~0 3)) (<= main_~x~0 2) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:53:30,975 INFO L272 TraceCheckUtils]: 82: Hoare triple {14112#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~x~0 (* main_~y~0 2)) (< main_~x~0 (* main_~y~0 3)) (<= main_~x~0 2) (= (+ 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)); {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:53:30,976 INFO L290 TraceCheckUtils]: 83: Hoare triple {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:53:30,976 INFO L290 TraceCheckUtils]: 84: Hoare triple {14120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13853#false} is VALID [2022-04-28 05:53:30,976 INFO L290 TraceCheckUtils]: 85: Hoare triple {13853#false} assume !false; {13853#false} is VALID [2022-04-28 05:53:30,976 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 26 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-28 05:53:30,976 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:53:55,387 INFO L290 TraceCheckUtils]: 85: Hoare triple {13853#false} assume !false; {13853#false} is VALID [2022-04-28 05:53:55,388 INFO L290 TraceCheckUtils]: 84: Hoare triple {14120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13853#false} is VALID [2022-04-28 05:53:55,388 INFO L290 TraceCheckUtils]: 83: Hoare triple {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:53:55,389 INFO L272 TraceCheckUtils]: 82: Hoare triple {14136#(= (+ (* 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)); {14116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:53:55,389 INFO L290 TraceCheckUtils]: 81: Hoare triple {14140#(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); {14136#(= (+ (* 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 05:53:55,389 INFO L290 TraceCheckUtils]: 80: Hoare triple {14140#(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; {14140#(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 05:53:55,502 INFO L290 TraceCheckUtils]: 79: Hoare triple {14147#(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; {14140#(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 05:53:55,503 INFO L290 TraceCheckUtils]: 78: Hoare triple {14151#(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); {14147#(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 05:53:55,503 INFO L290 TraceCheckUtils]: 77: Hoare triple {14151#(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; {14151#(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 05:53:55,691 INFO L290 TraceCheckUtils]: 76: Hoare triple {14158#(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; {14151#(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 05:53:55,692 INFO L290 TraceCheckUtils]: 75: Hoare triple {14158#(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); {14158#(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 05:53:55,693 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13852#true} {14158#(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))))} #108#return; {14158#(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 05:53:55,693 INFO L290 TraceCheckUtils]: 73: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,693 INFO L290 TraceCheckUtils]: 72: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,693 INFO L290 TraceCheckUtils]: 71: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,693 INFO L272 TraceCheckUtils]: 70: Hoare triple {14158#(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))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,694 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13852#true} {14158#(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))))} #106#return; {14158#(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 05:53:55,694 INFO L290 TraceCheckUtils]: 68: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,694 INFO L290 TraceCheckUtils]: 67: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,694 INFO L290 TraceCheckUtils]: 66: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,694 INFO L272 TraceCheckUtils]: 65: Hoare triple {14158#(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))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,695 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} {14195#(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) (= (+ 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; {14158#(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 05:53:55,695 INFO L290 TraceCheckUtils]: 63: Hoare triple {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:55,695 INFO L290 TraceCheckUtils]: 62: Hoare triple {14205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14051#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:53:55,696 INFO L290 TraceCheckUtils]: 61: Hoare triple {13852#true} ~cond := #in~cond; {14205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:53:55,696 INFO L272 TraceCheckUtils]: 60: Hoare triple {14195#(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) (= (+ 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)); {13852#true} is VALID [2022-04-28 05:53:55,696 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13852#true} {14195#(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) (= (+ 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; {14195#(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) (= (+ 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 05:53:55,696 INFO L290 TraceCheckUtils]: 58: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,696 INFO L290 TraceCheckUtils]: 57: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,697 INFO L290 TraceCheckUtils]: 56: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,697 INFO L272 TraceCheckUtils]: 55: Hoare triple {14195#(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) (= (+ 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)); {13852#true} is VALID [2022-04-28 05:53:55,697 INFO L290 TraceCheckUtils]: 54: Hoare triple {14195#(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) (= (+ 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; {14195#(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) (= (+ 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 05:53:55,702 INFO L290 TraceCheckUtils]: 53: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {14195#(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) (= (+ 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 05:53:55,702 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #108#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,702 INFO L290 TraceCheckUtils]: 51: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,702 INFO L290 TraceCheckUtils]: 50: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,703 INFO L290 TraceCheckUtils]: 49: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,703 INFO L272 TraceCheckUtils]: 48: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,703 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #106#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,703 INFO L290 TraceCheckUtils]: 46: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,703 INFO L290 TraceCheckUtils]: 45: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,703 INFO L290 TraceCheckUtils]: 44: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,703 INFO L272 TraceCheckUtils]: 43: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,704 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #104#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,704 INFO L290 TraceCheckUtils]: 41: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,704 INFO L290 TraceCheckUtils]: 40: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,704 INFO L290 TraceCheckUtils]: 39: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,704 INFO L272 TraceCheckUtils]: 38: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,705 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {13852#true} {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} #102#return; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,705 INFO L290 TraceCheckUtils]: 36: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,705 INFO L290 TraceCheckUtils]: 35: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,705 INFO L290 TraceCheckUtils]: 34: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,705 INFO L272 TraceCheckUtils]: 33: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,706 INFO L290 TraceCheckUtils]: 32: Hoare triple {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} assume !false; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {14230#(or (not (= (* main_~v~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* (* main_~d~0 main_~y~0 main_~s~0) 2) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0) (* 2 (* main_~d~0 main_~q~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,707 INFO L290 TraceCheckUtils]: 30: Hoare triple {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} assume !false; {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,707 INFO L290 TraceCheckUtils]: 29: Hoare triple {14304#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {14297#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0))) (not (= main_~c~0 (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-28 05:53:55,708 INFO L290 TraceCheckUtils]: 28: Hoare triple {14304#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} assume !false; {14304#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:53:55,708 INFO L290 TraceCheckUtils]: 27: Hoare triple {13852#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14304#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* 2 (* main_~y~0 main_~s~0 1)) (* 2 (* main_~q~0 main_~x~0 1)) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:53:55,708 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13852#true} {13852#true} #100#return; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 24: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 23: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L272 TraceCheckUtils]: 22: Hoare triple {13852#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13852#true} {13852#true} #98#return; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 18: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L272 TraceCheckUtils]: 17: Hoare triple {13852#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13852#true} {13852#true} #96#return; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L272 TraceCheckUtils]: 12: Hoare triple {13852#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 11: Hoare triple {13852#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13852#true} {13852#true} #94#return; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 9: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {13852#true} assume !(0 == ~cond); {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L290 TraceCheckUtils]: 7: Hoare triple {13852#true} ~cond := #in~cond; {13852#true} is VALID [2022-04-28 05:53:55,709 INFO L272 TraceCheckUtils]: 6: Hoare triple {13852#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {13852#true} is VALID [2022-04-28 05:53:55,710 INFO L290 TraceCheckUtils]: 5: Hoare triple {13852#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; {13852#true} is VALID [2022-04-28 05:53:55,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {13852#true} call #t~ret6 := main(); {13852#true} is VALID [2022-04-28 05:53:55,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13852#true} {13852#true} #112#return; {13852#true} is VALID [2022-04-28 05:53:55,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {13852#true} assume true; {13852#true} is VALID [2022-04-28 05:53:55,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {13852#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); {13852#true} is VALID [2022-04-28 05:53:55,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {13852#true} call ULTIMATE.init(); {13852#true} is VALID [2022-04-28 05:53:55,710 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 17 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-28 05:53:55,710 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:53:55,710 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1446590331] [2022-04-28 05:53:55,711 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:53:55,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1637224884] [2022-04-28 05:53:55,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1637224884] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:53:55,711 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:53:55,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15] total 27 [2022-04-28 05:53:55,711 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:53:55,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1219880807] [2022-04-28 05:53:55,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1219880807] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:53:55,711 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:53:55,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 05:53:55,711 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2101646356] [2022-04-28 05:53:55,711 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:53:55,712 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 05:53:55,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:53:55,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:53:55,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:55,764 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 05:53:55,764 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:55,764 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 05:53:55,764 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=591, Unknown=0, NotChecked=0, Total=702 [2022-04-28 05:53:55,765 INFO L87 Difference]: Start difference. First operand 200 states and 281 transitions. Second operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:53:58,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:58,755 INFO L93 Difference]: Finished difference Result 285 states and 397 transitions. [2022-04-28 05:53:58,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 05:53:58,756 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 05:53:58,756 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:53:58,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:53:58,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 151 transitions. [2022-04-28 05:53:58,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:53:58,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 151 transitions. [2022-04-28 05:53:58,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 151 transitions. [2022-04-28 05:53:58,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:58,926 INFO L225 Difference]: With dead ends: 285 [2022-04-28 05:53:58,926 INFO L226 Difference]: Without dead ends: 231 [2022-04-28 05:53:58,927 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 246 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=190, Invalid=1000, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 05:53:58,927 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 59 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 683 mSolverCounterSat, 65 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 748 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 65 IncrementalHoareTripleChecker+Valid, 683 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 05:53:58,927 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [67 Valid, 196 Invalid, 748 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [65 Valid, 683 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 05:53:58,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 231 states. [2022-04-28 05:53:59,657 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 231 to 228. [2022-04-28 05:53:59,657 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:53:59,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 231 states. Second operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-28 05:53:59,658 INFO L74 IsIncluded]: Start isIncluded. First operand 231 states. Second operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-28 05:53:59,658 INFO L87 Difference]: Start difference. First operand 231 states. Second operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-28 05:53:59,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:59,663 INFO L93 Difference]: Finished difference Result 231 states and 324 transitions. [2022-04-28 05:53:59,663 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 324 transitions. [2022-04-28 05:53:59,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:59,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:59,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) Second operand 231 states. [2022-04-28 05:53:59,665 INFO L87 Difference]: Start difference. First operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) Second operand 231 states. [2022-04-28 05:53:59,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:59,670 INFO L93 Difference]: Finished difference Result 231 states and 324 transitions. [2022-04-28 05:53:59,670 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 324 transitions. [2022-04-28 05:53:59,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:59,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:59,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:53:59,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:53:59,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 228 states, 121 states have (on average 1.165289256198347) internal successors, (141), 128 states have internal predecessors, (141), 91 states have call successors, (91), 16 states have call predecessors, (91), 15 states have return successors, (89), 83 states have call predecessors, (89), 89 states have call successors, (89) [2022-04-28 05:53:59,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 228 states to 228 states and 321 transitions. [2022-04-28 05:53:59,676 INFO L78 Accepts]: Start accepts. Automaton has 228 states and 321 transitions. Word has length 86 [2022-04-28 05:53:59,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:53:59,677 INFO L495 AbstractCegarLoop]: Abstraction has 228 states and 321 transitions. [2022-04-28 05:53:59,677 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 16 states have internal predecessors, (34), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:53:59,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 228 states and 321 transitions. [2022-04-28 05:54:00,267 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 321 edges. 321 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:00,267 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 321 transitions. [2022-04-28 05:54:00,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 05:54:00,268 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:00,268 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 2, 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] [2022-04-28 05:54:00,283 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 05:54:00,468 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 05:54:00,468 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:00,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:00,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1654964248, now seen corresponding path program 5 times [2022-04-28 05:54:00,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:00,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [257328700] [2022-04-28 05:54:00,469 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:00,469 INFO L85 PathProgramCache]: Analyzing trace with hash -1654964248, now seen corresponding path program 6 times [2022-04-28 05:54:00,469 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:00,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1082642356] [2022-04-28 05:54:00,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:00,469 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:00,478 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:00,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1911413528] [2022-04-28 05:54:00,479 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:54:00,484 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:00,484 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:00,484 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 05:54:00,485 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 05:54:00,545 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 05:54:00,545 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:00,546 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:54:00,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:00,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:00,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {15898#true} call ULTIMATE.init(); {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {15898#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); {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15898#true} {15898#true} #112#return; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {15898#true} call #t~ret6 := main(); {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {15898#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; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15898#true} {15898#true} #94#return; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {15898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L272 TraceCheckUtils]: 12: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 13: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 14: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L290 TraceCheckUtils]: 15: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,817 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15898#true} {15898#true} #96#return; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L272 TraceCheckUtils]: 17: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 19: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15898#true} {15898#true} #98#return; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L272 TraceCheckUtils]: 22: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 23: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 24: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 25: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15898#true} {15898#true} #100#return; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 27: Hoare triple {15898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 28: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 29: Hoare triple {15898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 30: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-28 05:54:00,818 INFO L290 TraceCheckUtils]: 31: Hoare triple {15898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:00,819 INFO L290 TraceCheckUtils]: 32: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !false; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:00,819 INFO L272 TraceCheckUtils]: 33: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,819 INFO L290 TraceCheckUtils]: 34: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,819 INFO L290 TraceCheckUtils]: 35: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,819 INFO L290 TraceCheckUtils]: 36: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,819 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #102#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:00,820 INFO L272 TraceCheckUtils]: 38: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,820 INFO L290 TraceCheckUtils]: 39: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,820 INFO L290 TraceCheckUtils]: 40: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,820 INFO L290 TraceCheckUtils]: 41: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,820 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #104#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:00,820 INFO L272 TraceCheckUtils]: 43: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,820 INFO L290 TraceCheckUtils]: 44: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,820 INFO L290 TraceCheckUtils]: 45: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,820 INFO L290 TraceCheckUtils]: 46: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,821 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #106#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:00,821 INFO L272 TraceCheckUtils]: 48: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,821 INFO L290 TraceCheckUtils]: 49: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,821 INFO L290 TraceCheckUtils]: 50: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,821 INFO L290 TraceCheckUtils]: 51: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,821 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #108#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:00,822 INFO L290 TraceCheckUtils]: 53: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {16063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:54:00,822 INFO L290 TraceCheckUtils]: 54: Hoare triple {16063#(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; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:54:00,823 INFO L290 TraceCheckUtils]: 55: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !false; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:54:00,823 INFO L290 TraceCheckUtils]: 56: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:00,823 INFO L290 TraceCheckUtils]: 57: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !false; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:00,823 INFO L272 TraceCheckUtils]: 58: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,823 INFO L290 TraceCheckUtils]: 59: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,823 INFO L290 TraceCheckUtils]: 60: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,823 INFO L290 TraceCheckUtils]: 61: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,824 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #102#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:00,824 INFO L272 TraceCheckUtils]: 63: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,824 INFO L290 TraceCheckUtils]: 64: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,824 INFO L290 TraceCheckUtils]: 65: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,824 INFO L290 TraceCheckUtils]: 66: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,827 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #104#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:00,827 INFO L272 TraceCheckUtils]: 68: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,827 INFO L290 TraceCheckUtils]: 69: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,827 INFO L290 TraceCheckUtils]: 70: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,827 INFO L290 TraceCheckUtils]: 71: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,828 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #106#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:00,828 INFO L272 TraceCheckUtils]: 73: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:00,828 INFO L290 TraceCheckUtils]: 74: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:00,828 INFO L290 TraceCheckUtils]: 75: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:00,828 INFO L290 TraceCheckUtils]: 76: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:00,828 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #108#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:00,829 INFO L290 TraceCheckUtils]: 78: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !(~c~0 >= 2 * ~v~0); {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:00,829 INFO L290 TraceCheckUtils]: 79: Hoare triple {16074#(< main_~c~0 main_~v~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16144#(< main_~c~0 0)} is VALID [2022-04-28 05:54:00,829 INFO L290 TraceCheckUtils]: 80: Hoare triple {16144#(< main_~c~0 0)} assume !false; {16144#(< main_~c~0 0)} is VALID [2022-04-28 05:54:00,829 INFO L290 TraceCheckUtils]: 81: Hoare triple {16144#(< main_~c~0 0)} assume !(~c~0 >= ~b~0); {16144#(< main_~c~0 0)} is VALID [2022-04-28 05:54:00,830 INFO L290 TraceCheckUtils]: 82: Hoare triple {16144#(< main_~c~0 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; {16154#(< main_~b~0 0)} is VALID [2022-04-28 05:54:00,830 INFO L290 TraceCheckUtils]: 83: Hoare triple {16154#(< main_~b~0 0)} assume !false; {16154#(< main_~b~0 0)} is VALID [2022-04-28 05:54:00,830 INFO L290 TraceCheckUtils]: 84: Hoare triple {16154#(< main_~b~0 0)} assume !(0 != ~b~0); {15899#false} is VALID [2022-04-28 05:54:00,830 INFO L272 TraceCheckUtils]: 85: Hoare triple {15899#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)); {15899#false} is VALID [2022-04-28 05:54:00,830 INFO L290 TraceCheckUtils]: 86: Hoare triple {15899#false} ~cond := #in~cond; {15899#false} is VALID [2022-04-28 05:54:00,831 INFO L290 TraceCheckUtils]: 87: Hoare triple {15899#false} assume 0 == ~cond; {15899#false} is VALID [2022-04-28 05:54:00,831 INFO L290 TraceCheckUtils]: 88: Hoare triple {15899#false} assume !false; {15899#false} is VALID [2022-04-28 05:54:00,831 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 05:54:00,831 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:54:01,078 INFO L290 TraceCheckUtils]: 88: Hoare triple {15899#false} assume !false; {15899#false} is VALID [2022-04-28 05:54:01,078 INFO L290 TraceCheckUtils]: 87: Hoare triple {15899#false} assume 0 == ~cond; {15899#false} is VALID [2022-04-28 05:54:01,078 INFO L290 TraceCheckUtils]: 86: Hoare triple {15899#false} ~cond := #in~cond; {15899#false} is VALID [2022-04-28 05:54:01,078 INFO L272 TraceCheckUtils]: 85: Hoare triple {15899#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)); {15899#false} is VALID [2022-04-28 05:54:01,078 INFO L290 TraceCheckUtils]: 84: Hoare triple {16154#(< main_~b~0 0)} assume !(0 != ~b~0); {15899#false} is VALID [2022-04-28 05:54:01,079 INFO L290 TraceCheckUtils]: 83: Hoare triple {16154#(< main_~b~0 0)} assume !false; {16154#(< main_~b~0 0)} is VALID [2022-04-28 05:54:01,079 INFO L290 TraceCheckUtils]: 82: Hoare triple {16144#(< main_~c~0 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; {16154#(< main_~b~0 0)} is VALID [2022-04-28 05:54:01,087 INFO L290 TraceCheckUtils]: 81: Hoare triple {16144#(< main_~c~0 0)} assume !(~c~0 >= ~b~0); {16144#(< main_~c~0 0)} is VALID [2022-04-28 05:54:01,087 INFO L290 TraceCheckUtils]: 80: Hoare triple {16144#(< main_~c~0 0)} assume !false; {16144#(< main_~c~0 0)} is VALID [2022-04-28 05:54:01,088 INFO L290 TraceCheckUtils]: 79: Hoare triple {16074#(< main_~c~0 main_~v~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16144#(< main_~c~0 0)} is VALID [2022-04-28 05:54:01,088 INFO L290 TraceCheckUtils]: 78: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !(~c~0 >= 2 * ~v~0); {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:01,088 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #108#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:01,088 INFO L290 TraceCheckUtils]: 76: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,088 INFO L290 TraceCheckUtils]: 75: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,088 INFO L290 TraceCheckUtils]: 74: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,089 INFO L272 TraceCheckUtils]: 73: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,089 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #106#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:01,089 INFO L290 TraceCheckUtils]: 71: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,089 INFO L290 TraceCheckUtils]: 70: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,089 INFO L290 TraceCheckUtils]: 69: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,089 INFO L272 TraceCheckUtils]: 68: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,090 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #104#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:01,090 INFO L290 TraceCheckUtils]: 66: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,091 INFO L290 TraceCheckUtils]: 65: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,091 INFO L290 TraceCheckUtils]: 64: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,091 INFO L272 TraceCheckUtils]: 63: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,091 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15898#true} {16074#(< main_~c~0 main_~v~0)} #102#return; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:01,091 INFO L290 TraceCheckUtils]: 61: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,091 INFO L290 TraceCheckUtils]: 60: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,091 INFO L290 TraceCheckUtils]: 59: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,091 INFO L272 TraceCheckUtils]: 58: Hoare triple {16074#(< main_~c~0 main_~v~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,092 INFO L290 TraceCheckUtils]: 57: Hoare triple {16074#(< main_~c~0 main_~v~0)} assume !false; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:01,092 INFO L290 TraceCheckUtils]: 56: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16074#(< main_~c~0 main_~v~0)} is VALID [2022-04-28 05:54:01,092 INFO L290 TraceCheckUtils]: 55: Hoare triple {16067#(< main_~c~0 main_~b~0)} assume !false; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:54:01,093 INFO L290 TraceCheckUtils]: 54: Hoare triple {16275#(< main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16067#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:54:01,093 INFO L290 TraceCheckUtils]: 53: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {16275#(< main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-28 05:54:01,094 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #108#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:01,094 INFO L290 TraceCheckUtils]: 51: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,094 INFO L290 TraceCheckUtils]: 50: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,094 INFO L290 TraceCheckUtils]: 49: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,094 INFO L272 TraceCheckUtils]: 48: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,094 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #106#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:01,095 INFO L290 TraceCheckUtils]: 46: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,095 INFO L290 TraceCheckUtils]: 45: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,095 INFO L290 TraceCheckUtils]: 44: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,095 INFO L272 TraceCheckUtils]: 43: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,095 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #104#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:01,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,095 INFO L290 TraceCheckUtils]: 40: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,095 INFO L290 TraceCheckUtils]: 39: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,095 INFO L272 TraceCheckUtils]: 38: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,096 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15898#true} {15996#(<= main_~v~0 main_~b~0)} #102#return; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:01,096 INFO L290 TraceCheckUtils]: 36: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,096 INFO L290 TraceCheckUtils]: 34: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,096 INFO L272 TraceCheckUtils]: 33: Hoare triple {15996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,096 INFO L290 TraceCheckUtils]: 32: Hoare triple {15996#(<= main_~v~0 main_~b~0)} assume !false; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {15898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 29: Hoare triple {15898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 28: Hoare triple {15898#true} assume !false; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {15898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15898#true} {15898#true} #100#return; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 25: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 24: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 23: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L272 TraceCheckUtils]: 22: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15898#true} {15898#true} #98#return; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 20: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L272 TraceCheckUtils]: 17: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15898#true} {15898#true} #96#return; {15898#true} is VALID [2022-04-28 05:54:01,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L272 TraceCheckUtils]: 12: Hoare triple {15898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 11: Hoare triple {15898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15898#true} {15898#true} #94#return; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {15898#true} assume !(0 == ~cond); {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {15898#true} ~cond := #in~cond; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L272 TraceCheckUtils]: 6: Hoare triple {15898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {15898#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; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L272 TraceCheckUtils]: 4: Hoare triple {15898#true} call #t~ret6 := main(); {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15898#true} {15898#true} #112#return; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {15898#true} assume true; {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {15898#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); {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L272 TraceCheckUtils]: 0: Hoare triple {15898#true} call ULTIMATE.init(); {15898#true} is VALID [2022-04-28 05:54:01,098 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 05:54:01,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:01,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1082642356] [2022-04-28 05:54:01,099 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:01,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1911413528] [2022-04-28 05:54:01,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1911413528] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:54:01,099 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:54:01,099 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:54:01,101 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:01,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [257328700] [2022-04-28 05:54:01,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [257328700] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:01,101 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:01,101 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:54:01,101 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1223395761] [2022-04-28 05:54:01,101 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:01,105 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 89 [2022-04-28 05:54:01,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:01,106 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:54:01,156 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 05:54:01,157 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:54:01,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:01,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:54:01,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:54:01,157 INFO L87 Difference]: Start difference. First operand 228 states and 321 transitions. Second operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:54:02,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:02,333 INFO L93 Difference]: Finished difference Result 361 states and 505 transitions. [2022-04-28 05:54:02,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 05:54:02,334 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 89 [2022-04-28 05:54:02,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:02,334 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:54:02,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 89 transitions. [2022-04-28 05:54:02,335 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:54:02,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 89 transitions. [2022-04-28 05:54:02,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 89 transitions. [2022-04-28 05:54:02,397 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:02,402 INFO L225 Difference]: With dead ends: 361 [2022-04-28 05:54:02,402 INFO L226 Difference]: Without dead ends: 238 [2022-04-28 05:54:02,402 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 170 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:54:02,403 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 7 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:02,404 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 260 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:54:02,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 238 states. [2022-04-28 05:54:03,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 238 to 225. [2022-04-28 05:54:03,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:03,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 238 states. Second operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 05:54:03,156 INFO L74 IsIncluded]: Start isIncluded. First operand 238 states. Second operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 05:54:03,156 INFO L87 Difference]: Start difference. First operand 238 states. Second operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 05:54:03,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:03,161 INFO L93 Difference]: Finished difference Result 238 states and 327 transitions. [2022-04-28 05:54:03,161 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 327 transitions. [2022-04-28 05:54:03,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:03,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:03,162 INFO L74 IsIncluded]: Start isIncluded. First operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) Second operand 238 states. [2022-04-28 05:54:03,162 INFO L87 Difference]: Start difference. First operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) Second operand 238 states. [2022-04-28 05:54:03,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:03,167 INFO L93 Difference]: Finished difference Result 238 states and 327 transitions. [2022-04-28 05:54:03,167 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 327 transitions. [2022-04-28 05:54:03,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:03,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:03,168 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:03,168 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:03,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 225 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 83 states have call successors, (83), 16 states have call predecessors, (83), 15 states have return successors, (81), 81 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 05:54:03,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 225 states to 225 states and 313 transitions. [2022-04-28 05:54:03,173 INFO L78 Accepts]: Start accepts. Automaton has 225 states and 313 transitions. Word has length 89 [2022-04-28 05:54:03,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:03,173 INFO L495 AbstractCegarLoop]: Abstraction has 225 states and 313 transitions. [2022-04-28 05:54:03,173 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), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:54:03,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 225 states and 313 transitions. [2022-04-28 05:54:03,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:03,799 INFO L276 IsEmpty]: Start isEmpty. Operand 225 states and 313 transitions. [2022-04-28 05:54:03,799 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 05:54:03,800 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:03,800 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 05:54:03,819 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 05:54:04,017 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 05:54:04,018 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:04,018 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:04,018 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-28 05:54:04,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:04,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1478124305] [2022-04-28 05:54:04,019 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:04,019 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-28 05:54:04,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:04,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1670960025] [2022-04-28 05:54:04,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:04,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:04,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:04,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1441636067] [2022-04-28 05:54:04,029 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:54:04,029 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:04,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:04,030 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 05:54:04,031 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 05:54:04,075 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:54:04,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:04,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 88 conjunts are in the unsatisfiable core [2022-04-28 05:54:04,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:04,096 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:12,487 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:54:18,962 INFO L272 TraceCheckUtils]: 0: Hoare triple {18091#true} call ULTIMATE.init(); {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {18091#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); {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18091#true} {18091#true} #112#return; {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {18091#true} call #t~ret6 := main(); {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {18091#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; {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L272 TraceCheckUtils]: 6: Hoare triple {18091#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 8: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18091#true} {18091#true} #94#return; {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {18091#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18091#true} is VALID [2022-04-28 05:54:18,963 INFO L272 TraceCheckUtils]: 12: Hoare triple {18091#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {18091#true} ~cond := #in~cond; {18135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:54:18,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {18135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:54:18,964 INFO L290 TraceCheckUtils]: 15: Hoare triple {18139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:54:18,965 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18139#(not (= |assume_abort_if_not_#in~cond| 0))} {18091#true} #96#return; {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:54:18,965 INFO L272 TraceCheckUtils]: 17: Hoare triple {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,965 INFO L290 TraceCheckUtils]: 18: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:54:18,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:54:18,965 INFO L290 TraceCheckUtils]: 20: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,965 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18091#true} {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:54:18,965 INFO L272 TraceCheckUtils]: 22: Hoare triple {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,965 INFO L290 TraceCheckUtils]: 23: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:54:18,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:54:18,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,966 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18091#true} {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:54:18,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {18146#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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 05:54:18,967 INFO L290 TraceCheckUtils]: 28: Hoare triple {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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 05:54:18,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {18180#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= 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; {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 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 05:54:18,967 INFO L290 TraceCheckUtils]: 30: Hoare triple {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 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 05:54:18,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {18187#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 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); {18194#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:54:18,968 INFO L290 TraceCheckUtils]: 32: Hoare triple {18194#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~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; {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,969 INFO L290 TraceCheckUtils]: 33: Hoare triple {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,969 INFO L290 TraceCheckUtils]: 34: Hoare triple {18198#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~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; {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,970 INFO L290 TraceCheckUtils]: 35: Hoare triple {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {18205#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= 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; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,970 INFO L290 TraceCheckUtils]: 37: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,971 INFO L272 TraceCheckUtils]: 38: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,971 INFO L290 TraceCheckUtils]: 39: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:54:18,971 INFO L290 TraceCheckUtils]: 40: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:54:18,971 INFO L290 TraceCheckUtils]: 41: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,971 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #102#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,971 INFO L272 TraceCheckUtils]: 43: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,971 INFO L290 TraceCheckUtils]: 44: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:54:18,971 INFO L290 TraceCheckUtils]: 45: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:54:18,972 INFO L290 TraceCheckUtils]: 46: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,972 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #104#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,972 INFO L272 TraceCheckUtils]: 48: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,972 INFO L290 TraceCheckUtils]: 49: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:54:18,972 INFO L290 TraceCheckUtils]: 50: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:54:18,972 INFO L290 TraceCheckUtils]: 51: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,973 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #106#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,973 INFO L272 TraceCheckUtils]: 53: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,973 INFO L290 TraceCheckUtils]: 54: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:54:18,973 INFO L290 TraceCheckUtils]: 55: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:54:18,973 INFO L290 TraceCheckUtils]: 56: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:54:18,974 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {18091#true} {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #108#return; {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:18,975 INFO L290 TraceCheckUtils]: 58: Hoare triple {18212#(and (= main_~b~0 main_~v~0) (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:54:18,976 INFO L290 TraceCheckUtils]: 59: Hoare triple {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} assume !false; {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:54:18,976 INFO L272 TraceCheckUtils]: 60: Hoare triple {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,976 INFO L290 TraceCheckUtils]: 61: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:18,976 INFO L290 TraceCheckUtils]: 62: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,977 INFO L290 TraceCheckUtils]: 63: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,977 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #102#return; {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:54:18,978 INFO L272 TraceCheckUtils]: 65: Hoare triple {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,978 INFO L290 TraceCheckUtils]: 66: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:18,978 INFO L290 TraceCheckUtils]: 67: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,978 INFO L290 TraceCheckUtils]: 68: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,979 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18279#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #104#return; {18315#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:54:18,980 INFO L272 TraceCheckUtils]: 70: Hoare triple {18315#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,980 INFO L290 TraceCheckUtils]: 71: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:18,980 INFO L290 TraceCheckUtils]: 72: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,980 INFO L290 TraceCheckUtils]: 73: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,981 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18315#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #106#return; {18331#(and (<= 0 main_~y~0) (< 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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:54:18,981 INFO L272 TraceCheckUtils]: 75: Hoare triple {18331#(and (<= 0 main_~y~0) (< 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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:54:18,982 INFO L290 TraceCheckUtils]: 76: Hoare triple {18091#true} ~cond := #in~cond; {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:18,982 INFO L290 TraceCheckUtils]: 77: Hoare triple {18289#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,982 INFO L290 TraceCheckUtils]: 78: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:18,983 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18331#(and (<= 0 main_~y~0) (< 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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #108#return; {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< 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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:54:18,984 INFO L290 TraceCheckUtils]: 80: Hoare triple {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< 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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} assume !(~c~0 >= 2 * ~v~0); {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< 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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:54:18,986 INFO L290 TraceCheckUtils]: 81: Hoare triple {18347#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (<= 0 main_~y~0) (< 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_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:54:18,987 INFO L290 TraceCheckUtils]: 82: Hoare triple {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !false; {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:54:18,988 INFO L290 TraceCheckUtils]: 83: Hoare triple {18354#(and (<= 0 main_~y~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {18361#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (< main_~c~0 main_~b~0))} is VALID [2022-04-28 05:54:18,990 INFO L290 TraceCheckUtils]: 84: Hoare triple {18361#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~c~0 (* main_~b~0 2)) main_~y~0) (= main_~r~0 1) (< main_~x~0 (+ main_~c~0 (* main_~b~0 2))) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (< 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; {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-28 05:54:18,991 INFO L290 TraceCheckUtils]: 85: Hoare triple {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} assume !false; {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-28 05:54:18,991 INFO L290 TraceCheckUtils]: 86: Hoare triple {18365#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} assume !(0 != ~b~0); {18372#(and (= main_~r~0 0) (= (* main_~x~0 2) main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-28 05:54:18,994 INFO L272 TraceCheckUtils]: 87: Hoare triple {18372#(and (= main_~r~0 0) (= (* main_~x~0 2) main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~x~0 (* main_~p~0 main_~x~0)) (= (+ main_~q~0 (* main_~p~0 (div (* main_~x~0 2) main_~x~0))) 0) (= main_~a~0 main_~x~0) (< main_~y~0 (* main_~x~0 3)))} 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)); {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:18,994 INFO L290 TraceCheckUtils]: 88: Hoare triple {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18380#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:18,994 INFO L290 TraceCheckUtils]: 89: Hoare triple {18380#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18092#false} is VALID [2022-04-28 05:54:18,994 INFO L290 TraceCheckUtils]: 90: Hoare triple {18092#false} assume !false; {18092#false} is VALID [2022-04-28 05:54:18,995 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 63 proven. 29 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2022-04-28 05:54:18,995 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:55:14,628 INFO L290 TraceCheckUtils]: 90: Hoare triple {18092#false} assume !false; {18092#false} is VALID [2022-04-28 05:55:14,629 INFO L290 TraceCheckUtils]: 89: Hoare triple {18380#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18092#false} is VALID [2022-04-28 05:55:14,629 INFO L290 TraceCheckUtils]: 88: Hoare triple {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18380#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:14,630 INFO L272 TraceCheckUtils]: 87: Hoare triple {18396#(= (+ (* 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)); {18376#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:55:14,630 INFO L290 TraceCheckUtils]: 86: Hoare triple {18400#(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); {18396#(= (+ (* 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 05:55:14,631 INFO L290 TraceCheckUtils]: 85: Hoare triple {18400#(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; {18400#(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 05:55:15,115 INFO L290 TraceCheckUtils]: 84: Hoare triple {18407#(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; {18400#(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 05:55:15,116 INFO L290 TraceCheckUtils]: 83: Hoare triple {18411#(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); {18407#(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 05:55:15,116 INFO L290 TraceCheckUtils]: 82: Hoare triple {18411#(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; {18411#(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 05:55:15,580 INFO L290 TraceCheckUtils]: 81: Hoare triple {18418#(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; {18411#(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 05:55:15,581 INFO L290 TraceCheckUtils]: 80: Hoare triple {18418#(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); {18418#(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 05:55:15,581 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18425#(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; {18418#(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 05:55:15,582 INFO L290 TraceCheckUtils]: 78: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:15,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:15,582 INFO L290 TraceCheckUtils]: 76: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:55:15,582 INFO L272 TraceCheckUtils]: 75: Hoare triple {18425#(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)); {18091#true} is VALID [2022-04-28 05:55:15,583 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18442#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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; {18425#(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 05:55:15,584 INFO L290 TraceCheckUtils]: 73: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:15,584 INFO L290 TraceCheckUtils]: 72: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:15,584 INFO L290 TraceCheckUtils]: 71: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:55:15,584 INFO L272 TraceCheckUtils]: 70: Hoare triple {18442#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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)); {18091#true} is VALID [2022-04-28 05:55:15,585 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18458#(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_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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; {18442#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (<= main_~b~0 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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 05:55:15,585 INFO L290 TraceCheckUtils]: 68: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:15,586 INFO L290 TraceCheckUtils]: 67: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:15,586 INFO L290 TraceCheckUtils]: 66: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:55:15,586 INFO L272 TraceCheckUtils]: 65: Hoare triple {18458#(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_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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)); {18091#true} is VALID [2022-04-28 05:55:16,245 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} {18091#true} #102#return; {18458#(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_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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 05:55:16,245 INFO L290 TraceCheckUtils]: 63: Hoare triple {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 62: Hoare triple {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 61: Hoare triple {18091#true} ~cond := #in~cond; {18435#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:55:16,246 INFO L272 TraceCheckUtils]: 60: Hoare triple {18091#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 59: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {18091#true} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {18091#true} {18091#true} #108#return; {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 56: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 55: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 54: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L272 TraceCheckUtils]: 53: Hoare triple {18091#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18091#true} {18091#true} #106#return; {18091#true} is VALID [2022-04-28 05:55:16,246 INFO L290 TraceCheckUtils]: 51: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 50: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 49: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L272 TraceCheckUtils]: 48: Hoare triple {18091#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18091#true} {18091#true} #104#return; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 46: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 45: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 44: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L272 TraceCheckUtils]: 43: Hoare triple {18091#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18091#true} {18091#true} #102#return; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 41: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 40: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 39: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L272 TraceCheckUtils]: 38: Hoare triple {18091#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 37: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 36: Hoare triple {18091#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {18091#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {18091#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; {18091#true} is VALID [2022-04-28 05:55:16,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {18091#true} assume !(~c~0 >= ~b~0); {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 29: Hoare triple {18091#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 28: Hoare triple {18091#true} assume !false; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {18091#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18091#true} {18091#true} #100#return; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 24: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L272 TraceCheckUtils]: 22: Hoare triple {18091#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18091#true} {18091#true} #98#return; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L272 TraceCheckUtils]: 17: Hoare triple {18091#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18091#true} {18091#true} #96#return; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,248 INFO L272 TraceCheckUtils]: 12: Hoare triple {18091#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {18091#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18091#true} {18091#true} #94#return; {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {18091#true} assume !(0 == ~cond); {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {18091#true} ~cond := #in~cond; {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {18091#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {18091#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; {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L272 TraceCheckUtils]: 4: Hoare triple {18091#true} call #t~ret6 := main(); {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18091#true} {18091#true} #112#return; {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {18091#true} assume true; {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {18091#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); {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {18091#true} call ULTIMATE.init(); {18091#true} is VALID [2022-04-28 05:55:16,249 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 73 proven. 4 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-28 05:55:16,250 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:55:16,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1670960025] [2022-04-28 05:55:16,250 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:55:16,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1441636067] [2022-04-28 05:55:16,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1441636067] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:55:16,250 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:55:16,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 14] total 32 [2022-04-28 05:55:16,250 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:55:16,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1478124305] [2022-04-28 05:55:16,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1478124305] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:55:16,250 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:55:16,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 05:55:16,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [609787438] [2022-04-28 05:55:16,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:55:16,251 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 91 [2022-04-28 05:55:16,251 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:55:16,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 05:55:16,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:55:16,317 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 05:55:16,317 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:55:16,317 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 05:55:16,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=156, Invalid=835, Unknown=1, NotChecked=0, Total=992 [2022-04-28 05:55:16,318 INFO L87 Difference]: Start difference. First operand 225 states and 313 transitions. Second operand has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 05:55:21,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:55:21,382 INFO L93 Difference]: Finished difference Result 328 states and 448 transitions. [2022-04-28 05:55:21,382 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 05:55:21,382 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 91 [2022-04-28 05:55:21,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:55:21,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 05:55:21,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 181 transitions. [2022-04-28 05:55:21,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 05:55:21,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 181 transitions. [2022-04-28 05:55:21,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 181 transitions. [2022-04-28 05:55:21,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:55:21,591 INFO L225 Difference]: With dead ends: 328 [2022-04-28 05:55:21,591 INFO L226 Difference]: Without dead ends: 270 [2022-04-28 05:55:21,592 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 149 SyntacticMatches, 2 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 398 ImplicationChecksByTransitivity, 4.6s TimeCoverageRelationStatistics Valid=229, Invalid=1330, Unknown=1, NotChecked=0, Total=1560 [2022-04-28 05:55:21,592 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 101 mSDsluCounter, 239 mSDsCounter, 0 mSdLazyCounter, 1055 mSolverCounterSat, 103 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 120 SdHoareTripleChecker+Valid, 283 SdHoareTripleChecker+Invalid, 1158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 103 IncrementalHoareTripleChecker+Valid, 1055 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-28 05:55:21,592 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [120 Valid, 283 Invalid, 1158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [103 Valid, 1055 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-28 05:55:21,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 270 states. [2022-04-28 05:55:22,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 270 to 258. [2022-04-28 05:55:22,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:55:22,534 INFO L82 GeneralOperation]: Start isEquivalent. First operand 270 states. Second operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-28 05:55:22,534 INFO L74 IsIncluded]: Start isIncluded. First operand 270 states. Second operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-28 05:55:22,534 INFO L87 Difference]: Start difference. First operand 270 states. Second operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-28 05:55:22,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:55:22,540 INFO L93 Difference]: Finished difference Result 270 states and 370 transitions. [2022-04-28 05:55:22,540 INFO L276 IsEmpty]: Start isEmpty. Operand 270 states and 370 transitions. [2022-04-28 05:55:22,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:55:22,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:55:22,541 INFO L74 IsIncluded]: Start isIncluded. First operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) Second operand 270 states. [2022-04-28 05:55:22,541 INFO L87 Difference]: Start difference. First operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) Second operand 270 states. [2022-04-28 05:55:22,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:55:22,546 INFO L93 Difference]: Finished difference Result 270 states and 370 transitions. [2022-04-28 05:55:22,546 INFO L276 IsEmpty]: Start isEmpty. Operand 270 states and 370 transitions. [2022-04-28 05:55:22,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:55:22,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:55:22,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:55:22,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:55:22,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 258 states, 144 states have (on average 1.1805555555555556) internal successors, (170), 145 states have internal predecessors, (170), 95 states have call successors, (95), 19 states have call predecessors, (95), 18 states have return successors, (93), 93 states have call predecessors, (93), 93 states have call successors, (93) [2022-04-28 05:55:22,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 358 transitions. [2022-04-28 05:55:22,553 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 358 transitions. Word has length 91 [2022-04-28 05:55:22,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:55:22,553 INFO L495 AbstractCegarLoop]: Abstraction has 258 states and 358 transitions. [2022-04-28 05:55:22,553 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 05:55:22,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 258 states and 358 transitions. [2022-04-28 05:55:23,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 358 edges. 358 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:55:23,233 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 358 transitions. [2022-04-28 05:55:23,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-28 05:55:23,234 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:55:23,234 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 05:55:23,250 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 05:55:23,443 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 05:55:23,443 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:55:23,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:55:23,444 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-28 05:55:23,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:55:23,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2011031461] [2022-04-28 05:55:23,444 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:55:23,444 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-28 05:55:23,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:55:23,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [156685644] [2022-04-28 05:55:23,444 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:55:23,444 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:55:23,456 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:55:23,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1632160233] [2022-04-28 05:55:23,456 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:55:23,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:55:23,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:55:23,457 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 05:55:23,458 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 05:55:23,510 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 05:55:23,510 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:55:23,512 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-28 05:55:23,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:55:23,542 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:55:25,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {20396#true} call ULTIMATE.init(); {20396#true} is VALID [2022-04-28 05:55:25,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {20396#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); {20396#true} is VALID [2022-04-28 05:55:25,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,300 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20396#true} {20396#true} #112#return; {20396#true} is VALID [2022-04-28 05:55:25,300 INFO L272 TraceCheckUtils]: 4: Hoare triple {20396#true} call #t~ret6 := main(); {20396#true} is VALID [2022-04-28 05:55:25,300 INFO L290 TraceCheckUtils]: 5: Hoare triple {20396#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; {20396#true} is VALID [2022-04-28 05:55:25,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {20396#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {20396#true} ~cond := #in~cond; {20422#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:55:25,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {20422#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {20426#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:55:25,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {20426#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20426#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:55:25,302 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20426#(not (= |assume_abort_if_not_#in~cond| 0))} {20396#true} #94#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,302 INFO L290 TraceCheckUtils]: 11: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,302 INFO L272 TraceCheckUtils]: 12: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,302 INFO L290 TraceCheckUtils]: 13: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,302 INFO L290 TraceCheckUtils]: 15: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20396#true} {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,303 INFO L272 TraceCheckUtils]: 17: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L290 TraceCheckUtils]: 18: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L290 TraceCheckUtils]: 19: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L290 TraceCheckUtils]: 20: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20396#true} {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,303 INFO L272 TraceCheckUtils]: 22: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L290 TraceCheckUtils]: 23: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L290 TraceCheckUtils]: 24: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,304 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20396#true} {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,304 INFO L290 TraceCheckUtils]: 27: Hoare triple {20433#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,305 INFO L290 TraceCheckUtils]: 28: Hoare triple {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {20485#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,305 INFO L290 TraceCheckUtils]: 30: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,306 INFO L290 TraceCheckUtils]: 32: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,306 INFO L272 TraceCheckUtils]: 33: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,306 INFO L290 TraceCheckUtils]: 34: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,306 INFO L290 TraceCheckUtils]: 35: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,306 INFO L290 TraceCheckUtils]: 36: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,307 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20396#true} {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,307 INFO L272 TraceCheckUtils]: 38: Hoare triple {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,307 INFO L290 TraceCheckUtils]: 39: Hoare triple {20396#true} ~cond := #in~cond; {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:25,307 INFO L290 TraceCheckUtils]: 40: Hoare triple {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:25,308 INFO L290 TraceCheckUtils]: 41: Hoare triple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:25,309 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} {20492#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,309 INFO L272 TraceCheckUtils]: 43: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,309 INFO L290 TraceCheckUtils]: 44: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,309 INFO L290 TraceCheckUtils]: 45: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,309 INFO L290 TraceCheckUtils]: 46: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,309 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,309 INFO L272 TraceCheckUtils]: 48: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,310 INFO L290 TraceCheckUtils]: 50: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,310 INFO L290 TraceCheckUtils]: 51: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,310 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,311 INFO L290 TraceCheckUtils]: 53: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,311 INFO L290 TraceCheckUtils]: 54: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,311 INFO L272 TraceCheckUtils]: 55: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,311 INFO L290 TraceCheckUtils]: 56: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,311 INFO L290 TraceCheckUtils]: 57: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,311 INFO L290 TraceCheckUtils]: 58: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,312 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,312 INFO L272 TraceCheckUtils]: 60: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,312 INFO L290 TraceCheckUtils]: 61: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,312 INFO L290 TraceCheckUtils]: 62: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,312 INFO L290 TraceCheckUtils]: 63: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,313 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,313 INFO L272 TraceCheckUtils]: 65: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,313 INFO L290 TraceCheckUtils]: 66: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,313 INFO L290 TraceCheckUtils]: 67: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,313 INFO L290 TraceCheckUtils]: 68: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,314 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,314 INFO L272 TraceCheckUtils]: 70: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,314 INFO L290 TraceCheckUtils]: 71: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,314 INFO L290 TraceCheckUtils]: 72: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,314 INFO L290 TraceCheckUtils]: 73: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,314 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,315 INFO L290 TraceCheckUtils]: 75: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,315 INFO L290 TraceCheckUtils]: 76: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,315 INFO L272 TraceCheckUtils]: 77: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,315 INFO L290 TraceCheckUtils]: 78: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,315 INFO L290 TraceCheckUtils]: 79: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,316 INFO L290 TraceCheckUtils]: 80: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,328 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #102#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,328 INFO L272 TraceCheckUtils]: 82: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,328 INFO L290 TraceCheckUtils]: 83: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,328 INFO L290 TraceCheckUtils]: 84: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,328 INFO L290 TraceCheckUtils]: 85: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,329 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #104#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,329 INFO L272 TraceCheckUtils]: 87: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,329 INFO L290 TraceCheckUtils]: 88: Hoare triple {20396#true} ~cond := #in~cond; {20396#true} is VALID [2022-04-28 05:55:25,329 INFO L290 TraceCheckUtils]: 89: Hoare triple {20396#true} assume !(0 == ~cond); {20396#true} is VALID [2022-04-28 05:55:25,329 INFO L290 TraceCheckUtils]: 90: Hoare triple {20396#true} assume true; {20396#true} is VALID [2022-04-28 05:55:25,330 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {20396#true} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #106#return; {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,330 INFO L272 TraceCheckUtils]: 92: Hoare triple {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20396#true} is VALID [2022-04-28 05:55:25,330 INFO L290 TraceCheckUtils]: 93: Hoare triple {20396#true} ~cond := #in~cond; {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:25,331 INFO L290 TraceCheckUtils]: 94: Hoare triple {20523#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:25,331 INFO L290 TraceCheckUtils]: 95: Hoare triple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:25,332 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {20527#(not (= |__VERIFIER_assert_#in~cond| 0))} {20534#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #108#return; {20697#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,333 INFO L290 TraceCheckUtils]: 97: Hoare triple {20697#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {20701#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,334 INFO L290 TraceCheckUtils]: 98: Hoare triple {20701#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,335 INFO L290 TraceCheckUtils]: 99: Hoare triple {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,335 INFO L290 TraceCheckUtils]: 100: Hoare triple {20705#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {20712#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:55:25,338 INFO L290 TraceCheckUtils]: 101: Hoare triple {20712#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= (* main_~b~0 main_~k~0) main_~c~0)) (= main_~s~0 1) (<= 0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (<= main_~x~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; {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,338 INFO L290 TraceCheckUtils]: 102: Hoare triple {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} assume !false; {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,339 INFO L290 TraceCheckUtils]: 103: Hoare triple {20716#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (not (<= 0 (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))))) (not (<= main_~a~0 (+ main_~x~0 (* main_~a~0 main_~s~0)))) (<= main_~x~0 2))} assume !(0 != ~b~0); {20723#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= (+ main_~x~0 (* main_~a~0 main_~s~0)) 0) (< (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))) 0) (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 05:55:25,341 INFO L272 TraceCheckUtils]: 104: Hoare triple {20723#(and (= (+ main_~y~0 (* main_~p~0 main_~x~0)) main_~a~0) (= (+ main_~x~0 (* main_~a~0 main_~s~0)) 0) (< (+ main_~x~0 (* 2 (* main_~a~0 main_~s~0))) 0) (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (<= main_~x~0 2))} 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)); {20727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:55:25,341 INFO L290 TraceCheckUtils]: 105: Hoare triple {20727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:25,341 INFO L290 TraceCheckUtils]: 106: Hoare triple {20731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20397#false} is VALID [2022-04-28 05:55:25,341 INFO L290 TraceCheckUtils]: 107: Hoare triple {20397#false} assume !false; {20397#false} is VALID [2022-04-28 05:55:25,342 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 63 proven. 42 refuted. 0 times theorem prover too weak. 229 trivial. 0 not checked. [2022-04-28 05:55:25,342 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:55:45,320 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:06:37,008 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_86 Int) (v_main_~d~0_BEFORE_CALL_54 Int) (v_main_~p~0_BEFORE_CALL_57 Int) (v_main_~k~0_BEFORE_CALL_55 Int) (v_main_~s~0_BEFORE_CALL_60 Int) (v_main_~b~0_BEFORE_CALL_90 Int) (v_main_~y~0_BEFORE_CALL_91 Int) (v_main_~q~0_BEFORE_CALL_54 Int) (v_main_~r~0_BEFORE_CALL_57 Int)) (let ((.cse0 (* v_main_~d~0_BEFORE_CALL_54 v_main_~b~0_BEFORE_CALL_90))) (or (= (mod .cse0 v_main_~b~0_BEFORE_CALL_90) 0) (<= .cse0 0) (= (+ (* v_main_~p~0_BEFORE_CALL_57 v_main_~x~0_BEFORE_CALL_86) (* v_main_~r~0_BEFORE_CALL_57 v_main_~y~0_BEFORE_CALL_91) v_main_~b~0_BEFORE_CALL_90) (+ (* v_main_~q~0_BEFORE_CALL_54 v_main_~x~0_BEFORE_CALL_86 v_main_~k~0_BEFORE_CALL_55) (* v_main_~q~0_BEFORE_CALL_54 v_main_~d~0_BEFORE_CALL_54 v_main_~x~0_BEFORE_CALL_86) (* v_main_~d~0_BEFORE_CALL_54 v_main_~y~0_BEFORE_CALL_91 v_main_~s~0_BEFORE_CALL_60) (* v_main_~y~0_BEFORE_CALL_91 v_main_~s~0_BEFORE_CALL_60) (* v_main_~q~0_BEFORE_CALL_54 v_main_~x~0_BEFORE_CALL_86) (* v_main_~y~0_BEFORE_CALL_91 v_main_~k~0_BEFORE_CALL_55 v_main_~s~0_BEFORE_CALL_60))) (<= v_main_~b~0_BEFORE_CALL_90 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) is different from true