/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench/egcd3-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 11:51:07,046 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 11:51:07,048 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 11:51:07,068 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 11:51:07,068 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 11:51:07,069 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 11:51:07,069 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 11:51:07,071 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 11:51:07,072 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 11:51:07,075 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 11:51:07,076 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 11:51:07,078 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 11:51:07,078 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 11:51:07,080 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 11:51:07,080 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 11:51:07,081 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 11:51:07,081 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 11:51:07,082 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 11:51:07,085 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 11:51:07,086 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 11:51:07,087 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 11:51:07,090 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 11:51:07,090 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 11:51:07,091 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 11:51:07,091 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 11:51:07,093 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 11:51:07,093 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 11:51:07,093 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 11:51:07,103 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 11:51:07,103 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 11:51:07,104 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 11:51:07,104 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 11:51:07,104 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 11:51:07,105 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 11:51:07,105 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 11:51:07,106 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 11:51:07,106 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 11:51:07,106 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 11:51:07,106 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 11:51:07,107 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 11:51:07,107 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 11:51:07,107 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 11:51:07,108 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 11:51:07,121 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 11:51:07,121 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 11:51:07,121 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 11:51:07,121 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 11:51:07,122 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 11:51:07,122 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 11:51:07,122 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 11:51:07,122 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 11:51:07,122 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 11:51:07,123 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 11:51:07,123 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 11:51:07,124 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:51:07,124 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 11:51:07,124 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 11:51:07,125 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 11:51:07,125 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 11:51:07,125 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 11:51:07,125 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 11:51:07,125 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 11:51:07,125 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-27 11:51:07,281 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 11:51:07,299 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 11:51:07,301 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 11:51:07,301 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 11:51:07,304 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 11:51:07,305 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd3-ll.c [2022-04-27 11:51:07,354 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08b866b28/a2a6f02eaa1a475dbcca0a1111dfff67/FLAG3405fc29a [2022-04-27 11:51:07,696 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 11:51:07,696 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd3-ll.c [2022-04-27 11:51:07,703 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08b866b28/a2a6f02eaa1a475dbcca0a1111dfff67/FLAG3405fc29a [2022-04-27 11:51:07,714 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08b866b28/a2a6f02eaa1a475dbcca0a1111dfff67 [2022-04-27 11:51:07,716 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 11:51:07,717 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 11:51:07,719 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 11:51:07,719 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 11:51:07,721 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 11:51:07,724 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,725 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@a95ebfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07, skipping insertion in model container [2022-04-27 11:51:07,725 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,729 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 11:51:07,739 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 11:51:07,857 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/egcd3-ll.c[490,503] [2022-04-27 11:51:07,880 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:51:07,885 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 11:51:07,894 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/egcd3-ll.c[490,503] [2022-04-27 11:51:07,907 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:51:07,918 INFO L208 MainTranslator]: Completed translation [2022-04-27 11:51:07,919 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07 WrapperNode [2022-04-27 11:51:07,919 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 11:51:07,919 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 11:51:07,920 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 11:51:07,920 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 11:51:07,926 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,926 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,931 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,931 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,939 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,942 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,943 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,944 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 11:51:07,944 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 11:51:07,944 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 11:51:07,944 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 11:51:07,945 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (1/1) ... [2022-04-27 11:51:07,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:51:07,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:07,966 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-27 11:51:07,971 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-27 11:51:07,989 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 11:51:07,989 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 11:51:07,989 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 11:51:07,990 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 11:51:07,990 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 11:51:07,990 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 11:51:07,990 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 11:51:07,991 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 11:51:08,028 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 11:51:08,029 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 11:51:08,159 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 11:51:08,164 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 11:51:08,164 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 11:51:08,165 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:51:08 BoogieIcfgContainer [2022-04-27 11:51:08,165 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 11:51:08,166 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 11:51:08,166 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 11:51:08,177 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 11:51:08,177 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 11:51:07" (1/3) ... [2022-04-27 11:51:08,178 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3000b89b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:51:08, skipping insertion in model container [2022-04-27 11:51:08,178 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:51:07" (2/3) ... [2022-04-27 11:51:08,178 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3000b89b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:51:08, skipping insertion in model container [2022-04-27 11:51:08,178 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:51:08" (3/3) ... [2022-04-27 11:51:08,179 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll.c [2022-04-27 11:51:08,188 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 11:51:08,188 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 11:51:08,231 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 11:51:08,235 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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@32c56b51, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7318307b [2022-04-27 11:51:08,235 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 11:51:08,240 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 23 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 11:51:08,244 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 11:51:08,244 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:08,244 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:51:08,245 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:08,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:08,248 INFO L85 PathProgramCache]: Analyzing trace with hash 642197559, now seen corresponding path program 1 times [2022-04-27 11:51:08,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:08,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1954926596] [2022-04-27 11:51:08,254 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:08,254 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:08,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:08,375 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:51:08,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:08,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {53#(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); {40#true} is VALID [2022-04-27 11:51:08,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 11:51:08,405 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #105#return; {40#true} is VALID [2022-04-27 11:51:08,405 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 11:51:08,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:08,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:51:08,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:51:08,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:51:08,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #91#return; {41#false} is VALID [2022-04-27 11:51:08,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 11:51:08,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:08,435 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:51:08,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:51:08,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:51:08,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #93#return; {41#false} is VALID [2022-04-27 11:51:08,441 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {53#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:51:08,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {53#(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); {40#true} is VALID [2022-04-27 11:51:08,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 11:51:08,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #105#return; {40#true} is VALID [2022-04-27 11:51:08,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-27 11:51:08,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-27 11:51:08,442 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-27 11:51:08,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:51:08,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:51:08,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:51:08,443 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #91#return; {41#false} is VALID [2022-04-27 11:51:08,443 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-27 11:51:08,443 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:51:08,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:51:08,445 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:51:08,445 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #93#return; {41#false} is VALID [2022-04-27 11:51:08,445 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-27 11:51:08,445 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-27 11:51:08,445 INFO L272 TraceCheckUtils]: 18: Hoare triple {41#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)); {41#false} is VALID [2022-04-27 11:51:08,445 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-27 11:51:08,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-27 11:51:08,445 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-27 11:51:08,446 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:51:08,446 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:08,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1954926596] [2022-04-27 11:51:08,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1954926596] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:51:08,447 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:51:08,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 11:51:08,448 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [114397778] [2022-04-27 11:51:08,448 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:51:08,451 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 11:51:08,453 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:08,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:08,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:08,482 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 11:51:08,482 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:08,502 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 11:51:08,502 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 11:51:08,504 INFO L87 Difference]: Start difference. First operand has 37 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 23 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:08,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:08,632 INFO L93 Difference]: Finished difference Result 67 states and 103 transitions. [2022-04-27 11:51:08,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 11:51:08,632 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 11:51:08,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:08,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:08,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 103 transitions. [2022-04-27 11:51:08,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:08,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 103 transitions. [2022-04-27 11:51:08,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 103 transitions. [2022-04-27 11:51:08,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:08,778 INFO L225 Difference]: With dead ends: 67 [2022-04-27 11:51:08,778 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 11:51:08,780 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 11:51:08,782 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 23 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:08,783 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 40 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:51:08,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 11:51:08,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 11:51:08,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:08,827 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:08,828 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:08,830 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:08,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:08,842 INFO L93 Difference]: Finished difference Result 32 states and 39 transitions. [2022-04-27 11:51:08,843 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2022-04-27 11:51:08,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:08,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:08,843 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-27 11:51:08,844 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-27 11:51:08,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:08,846 INFO L93 Difference]: Finished difference Result 32 states and 39 transitions. [2022-04-27 11:51:08,846 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2022-04-27 11:51:08,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:08,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:08,847 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:08,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:08,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:08,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 39 transitions. [2022-04-27 11:51:08,855 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 39 transitions. Word has length 22 [2022-04-27 11:51:08,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:08,855 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 39 transitions. [2022-04-27 11:51:08,856 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:08,856 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2022-04-27 11:51:08,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 11:51:08,856 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:08,856 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:51:08,857 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 11:51:08,857 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:08,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:08,857 INFO L85 PathProgramCache]: Analyzing trace with hash 1042193974, now seen corresponding path program 1 times [2022-04-27 11:51:08,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:08,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [447667624] [2022-04-27 11:51:08,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:08,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:08,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:08,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1052877157] [2022-04-27 11:51:08,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:08,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:08,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:08,883 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-27 11:51:08,884 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-27 11:51:08,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:08,929 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:51:08,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:08,938 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:09,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {262#true} call ULTIMATE.init(); {262#true} is VALID [2022-04-27 11:51:09,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {262#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); {262#true} is VALID [2022-04-27 11:51:09,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-27 11:51:09,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {262#true} {262#true} #105#return; {262#true} is VALID [2022-04-27 11:51:09,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {262#true} call #t~ret6 := main(); {262#true} is VALID [2022-04-27 11:51:09,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {262#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {262#true} is VALID [2022-04-27 11:51:09,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {262#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {262#true} is VALID [2022-04-27 11:51:09,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {262#true} ~cond := #in~cond; {262#true} is VALID [2022-04-27 11:51:09,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {262#true} assume !(0 == ~cond); {262#true} is VALID [2022-04-27 11:51:09,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-27 11:51:09,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {262#true} {262#true} #91#return; {262#true} is VALID [2022-04-27 11:51:09,044 INFO L272 TraceCheckUtils]: 11: Hoare triple {262#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {262#true} is VALID [2022-04-27 11:51:09,045 INFO L290 TraceCheckUtils]: 12: Hoare triple {262#true} ~cond := #in~cond; {303#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:51:09,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {303#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {307#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:09,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {307#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {307#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:09,049 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {307#(not (= |assume_abort_if_not_#in~cond| 0))} {262#true} #93#return; {314#(<= 1 main_~y~0)} is VALID [2022-04-27 11:51:09,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {314#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {318#(<= 1 main_~b~0)} is VALID [2022-04-27 11:51:09,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {318#(<= 1 main_~b~0)} assume !false; {318#(<= 1 main_~b~0)} is VALID [2022-04-27 11:51:09,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(<= 1 main_~b~0)} assume !(0 != ~b~0); {263#false} is VALID [2022-04-27 11:51:09,050 INFO L272 TraceCheckUtils]: 19: Hoare triple {263#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)); {263#false} is VALID [2022-04-27 11:51:09,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {263#false} ~cond := #in~cond; {263#false} is VALID [2022-04-27 11:51:09,051 INFO L290 TraceCheckUtils]: 21: Hoare triple {263#false} assume 0 == ~cond; {263#false} is VALID [2022-04-27 11:51:09,052 INFO L290 TraceCheckUtils]: 22: Hoare triple {263#false} assume !false; {263#false} is VALID [2022-04-27 11:51:09,053 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 11:51:09,054 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:51:09,054 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:09,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [447667624] [2022-04-27 11:51:09,055 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:09,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1052877157] [2022-04-27 11:51:09,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1052877157] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:51:09,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:51:09,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:51:09,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1632355961] [2022-04-27 11:51:09,059 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:51:09,059 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-27 11:51:09,060 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:09,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:09,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:09,075 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:51:09,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:09,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:51:09,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:51:09,077 INFO L87 Difference]: Start difference. First operand 32 states and 39 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:09,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:09,304 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-04-27 11:51:09,304 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:51:09,304 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-27 11:51:09,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:09,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:09,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-27 11:51:09,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:09,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-27 11:51:09,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-27 11:51:09,364 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-27 11:51:09,367 INFO L225 Difference]: With dead ends: 51 [2022-04-27 11:51:09,367 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 11:51:09,367 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 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-27 11:51:09,369 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 31 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:09,369 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 124 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:51:09,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 11:51:09,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 34. [2022-04-27 11:51:09,385 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:09,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:09,387 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:09,388 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:09,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:09,397 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-04-27 11:51:09,397 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-04-27 11:51:09,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:09,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:09,402 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-27 11:51:09,403 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-27 11:51:09,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:09,405 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-04-27 11:51:09,405 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-04-27 11:51:09,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:09,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:09,405 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:09,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:09,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 11:51:09,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-27 11:51:09,407 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 23 [2022-04-27 11:51:09,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:09,407 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-27 11:51:09,407 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:09,407 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 11:51:09,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-27 11:51:09,408 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:09,408 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:51:09,428 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 11:51:09,611 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-27 11:51:09,612 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:09,612 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:09,612 INFO L85 PathProgramCache]: Analyzing trace with hash -690034733, now seen corresponding path program 1 times [2022-04-27 11:51:09,612 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:09,612 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [523427419] [2022-04-27 11:51:09,612 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:09,613 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:09,626 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:09,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1411597863] [2022-04-27 11:51:09,626 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:09,626 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:09,627 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:09,627 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-27 11:51:09,628 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-27 11:51:09,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:09,661 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:51:09,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:09,675 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:09,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {555#true} call ULTIMATE.init(); {555#true} is VALID [2022-04-27 11:51:09,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {555#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); {555#true} is VALID [2022-04-27 11:51:09,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {555#true} assume true; {555#true} is VALID [2022-04-27 11:51:09,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {555#true} {555#true} #105#return; {555#true} is VALID [2022-04-27 11:51:09,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {555#true} call #t~ret6 := main(); {555#true} is VALID [2022-04-27 11:51:09,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {555#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {555#true} is VALID [2022-04-27 11:51:09,874 INFO L272 TraceCheckUtils]: 6: Hoare triple {555#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {555#true} is VALID [2022-04-27 11:51:09,874 INFO L290 TraceCheckUtils]: 7: Hoare triple {555#true} ~cond := #in~cond; {555#true} is VALID [2022-04-27 11:51:09,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {555#true} assume !(0 == ~cond); {555#true} is VALID [2022-04-27 11:51:09,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {555#true} assume true; {555#true} is VALID [2022-04-27 11:51:09,875 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {555#true} {555#true} #91#return; {555#true} is VALID [2022-04-27 11:51:09,875 INFO L272 TraceCheckUtils]: 11: Hoare triple {555#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {555#true} is VALID [2022-04-27 11:51:09,875 INFO L290 TraceCheckUtils]: 12: Hoare triple {555#true} ~cond := #in~cond; {596#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:51:09,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {596#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {600#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:09,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {600#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {600#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:09,877 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {600#(not (= |assume_abort_if_not_#in~cond| 0))} {555#true} #93#return; {607#(<= 1 main_~y~0)} is VALID [2022-04-27 11:51:09,877 INFO L290 TraceCheckUtils]: 16: Hoare triple {607#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:09,878 INFO L290 TraceCheckUtils]: 17: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:09,878 INFO L290 TraceCheckUtils]: 18: Hoare triple {611#(and (= main_~r~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; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:09,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:09,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~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; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:09,880 INFO L290 TraceCheckUtils]: 21: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:09,881 INFO L272 TraceCheckUtils]: 22: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~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)); {630#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:09,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {630#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {634#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:09,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {634#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {556#false} is VALID [2022-04-27 11:51:09,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {556#false} assume !false; {556#false} is VALID [2022-04-27 11:51:09,882 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 11:51:09,882 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:51:09,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:09,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [523427419] [2022-04-27 11:51:09,882 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:09,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1411597863] [2022-04-27 11:51:09,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1411597863] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:51:09,882 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:51:09,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-27 11:51:09,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1474345464] [2022-04-27 11:51:09,883 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:51:09,883 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 26 [2022-04-27 11:51:09,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:09,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:09,900 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:09,901 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 11:51:09,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:09,901 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 11:51:09,901 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-27 11:51:09,901 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:10,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:10,171 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2022-04-27 11:51:10,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 11:51:10,171 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 26 [2022-04-27 11:51:10,171 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:10,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:10,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 11:51:10,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:10,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 11:51:10,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 11:51:10,227 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-27 11:51:10,243 INFO L225 Difference]: With dead ends: 50 [2022-04-27 11:51:10,244 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 11:51:10,244 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:51:10,244 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 28 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:10,245 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 177 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:51:10,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 11:51:10,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2022-04-27 11:51:10,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:10,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 11:51:10,261 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 11:51:10,262 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 11:51:10,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:10,264 INFO L93 Difference]: Finished difference Result 48 states and 60 transitions. [2022-04-27 11:51:10,264 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 60 transitions. [2022-04-27 11:51:10,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:10,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:10,264 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 48 states. [2022-04-27 11:51:10,265 INFO L87 Difference]: Start difference. First operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 48 states. [2022-04-27 11:51:10,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:10,266 INFO L93 Difference]: Finished difference Result 48 states and 60 transitions. [2022-04-27 11:51:10,266 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 60 transitions. [2022-04-27 11:51:10,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:10,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:10,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:10,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:10,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 11:51:10,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 59 transitions. [2022-04-27 11:51:10,269 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 59 transitions. Word has length 26 [2022-04-27 11:51:10,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:10,269 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 59 transitions. [2022-04-27 11:51:10,269 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:51:10,269 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2022-04-27 11:51:10,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 11:51:10,269 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:10,269 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:51:10,285 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-27 11:51:10,476 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-27 11:51:10,476 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:10,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:10,477 INFO L85 PathProgramCache]: Analyzing trace with hash -796982879, now seen corresponding path program 1 times [2022-04-27 11:51:10,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:10,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372461567] [2022-04-27 11:51:10,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:10,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:10,488 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:10,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2096910141] [2022-04-27 11:51:10,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:10,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:10,488 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:10,493 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-27 11:51:10,494 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-27 11:51:10,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:10,526 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 11:51:10,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:10,534 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:10,636 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-27 11:51:10,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#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); {885#true} is VALID [2022-04-27 11:51:10,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-27 11:51:10,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #105#return; {885#true} is VALID [2022-04-27 11:51:10,636 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret6 := main(); {885#true} is VALID [2022-04-27 11:51:10,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-27 11:51:10,637 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-27 11:51:10,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {911#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:51:10,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {911#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:10,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {915#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:10,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {915#(not (= |assume_abort_if_not_#in~cond| 0))} {885#true} #91#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:10,638 INFO L272 TraceCheckUtils]: 11: Hoare triple {922#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-27 11:51:10,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-27 11:51:10,639 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-27 11:51:10,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-27 11:51:10,639 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {885#true} {922#(<= 1 main_~x~0)} #93#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:10,640 INFO L290 TraceCheckUtils]: 16: Hoare triple {922#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {941#(<= 1 main_~a~0)} is VALID [2022-04-27 11:51:10,640 INFO L290 TraceCheckUtils]: 17: Hoare triple {941#(<= 1 main_~a~0)} assume !false; {941#(<= 1 main_~a~0)} is VALID [2022-04-27 11:51:10,640 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {948#(<= 1 main_~c~0)} is VALID [2022-04-27 11:51:10,640 INFO L290 TraceCheckUtils]: 19: Hoare triple {948#(<= 1 main_~c~0)} assume !false; {948#(<= 1 main_~c~0)} is VALID [2022-04-27 11:51:10,641 INFO L290 TraceCheckUtils]: 20: Hoare triple {948#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {948#(<= 1 main_~c~0)} is VALID [2022-04-27 11:51:10,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {948#(<= 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; {958#(<= 1 main_~b~0)} is VALID [2022-04-27 11:51:10,644 INFO L290 TraceCheckUtils]: 22: Hoare triple {958#(<= 1 main_~b~0)} assume !false; {958#(<= 1 main_~b~0)} is VALID [2022-04-27 11:51:10,645 INFO L290 TraceCheckUtils]: 23: Hoare triple {958#(<= 1 main_~b~0)} assume !(0 != ~b~0); {886#false} is VALID [2022-04-27 11:51:10,645 INFO L272 TraceCheckUtils]: 24: Hoare triple {886#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)); {886#false} is VALID [2022-04-27 11:51:10,646 INFO L290 TraceCheckUtils]: 25: Hoare triple {886#false} ~cond := #in~cond; {886#false} is VALID [2022-04-27 11:51:10,646 INFO L290 TraceCheckUtils]: 26: Hoare triple {886#false} assume 0 == ~cond; {886#false} is VALID [2022-04-27 11:51:10,646 INFO L290 TraceCheckUtils]: 27: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-27 11:51:10,646 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 11:51:10,646 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:51:10,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-27 11:51:10,822 INFO L290 TraceCheckUtils]: 26: Hoare triple {886#false} assume 0 == ~cond; {886#false} is VALID [2022-04-27 11:51:10,822 INFO L290 TraceCheckUtils]: 25: Hoare triple {886#false} ~cond := #in~cond; {886#false} is VALID [2022-04-27 11:51:10,822 INFO L272 TraceCheckUtils]: 24: Hoare triple {886#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)); {886#false} is VALID [2022-04-27 11:51:10,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {958#(<= 1 main_~b~0)} assume !(0 != ~b~0); {886#false} is VALID [2022-04-27 11:51:10,823 INFO L290 TraceCheckUtils]: 22: Hoare triple {958#(<= 1 main_~b~0)} assume !false; {958#(<= 1 main_~b~0)} is VALID [2022-04-27 11:51:10,824 INFO L290 TraceCheckUtils]: 21: Hoare triple {948#(<= 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; {958#(<= 1 main_~b~0)} is VALID [2022-04-27 11:51:10,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {948#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {948#(<= 1 main_~c~0)} is VALID [2022-04-27 11:51:10,825 INFO L290 TraceCheckUtils]: 19: Hoare triple {948#(<= 1 main_~c~0)} assume !false; {948#(<= 1 main_~c~0)} is VALID [2022-04-27 11:51:10,825 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {948#(<= 1 main_~c~0)} is VALID [2022-04-27 11:51:10,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {941#(<= 1 main_~a~0)} assume !false; {941#(<= 1 main_~a~0)} is VALID [2022-04-27 11:51:10,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {922#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {941#(<= 1 main_~a~0)} is VALID [2022-04-27 11:51:10,832 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {885#true} {922#(<= 1 main_~x~0)} #93#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:10,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-27 11:51:10,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-27 11:51:10,833 INFO L290 TraceCheckUtils]: 12: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-27 11:51:10,833 INFO L272 TraceCheckUtils]: 11: Hoare triple {922#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-27 11:51:10,833 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {915#(not (= |assume_abort_if_not_#in~cond| 0))} {885#true} #91#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:10,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {915#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:10,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {1037#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:10,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {1037#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 11:51:10,834 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-27 11:51:10,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-27 11:51:10,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret6 := main(); {885#true} is VALID [2022-04-27 11:51:10,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #105#return; {885#true} is VALID [2022-04-27 11:51:10,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-27 11:51:10,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#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); {885#true} is VALID [2022-04-27 11:51:10,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-27 11:51:10,835 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 11:51:10,835 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:10,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [372461567] [2022-04-27 11:51:10,835 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:10,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2096910141] [2022-04-27 11:51:10,835 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2096910141] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:51:10,835 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:51:10,835 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 11:51:10,836 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1468820984] [2022-04-27 11:51:10,836 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:51:10,836 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-27 11:51:10,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:10,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:10,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:10,852 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 11:51:10,852 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:10,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 11:51:10,852 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:51:10,858 INFO L87 Difference]: Start difference. First operand 47 states and 59 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:11,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:11,335 INFO L93 Difference]: Finished difference Result 100 states and 138 transitions. [2022-04-27 11:51:11,335 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 11:51:11,335 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-27 11:51:11,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:11,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:11,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 103 transitions. [2022-04-27 11:51:11,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:11,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 103 transitions. [2022-04-27 11:51:11,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 103 transitions. [2022-04-27 11:51:11,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:11,407 INFO L225 Difference]: With dead ends: 100 [2022-04-27 11:51:11,407 INFO L226 Difference]: Without dead ends: 93 [2022-04-27 11:51:11,408 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 47 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-27 11:51:11,408 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 57 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 168 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:11,409 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 186 Invalid, 168 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:51:11,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-27 11:51:11,459 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 68. [2022-04-27 11:51:11,459 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:11,459 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:11,460 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:11,460 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:11,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:11,464 INFO L93 Difference]: Finished difference Result 93 states and 131 transitions. [2022-04-27 11:51:11,464 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 131 transitions. [2022-04-27 11:51:11,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:11,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:11,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 93 states. [2022-04-27 11:51:11,465 INFO L87 Difference]: Start difference. First operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 93 states. [2022-04-27 11:51:11,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:11,468 INFO L93 Difference]: Finished difference Result 93 states and 131 transitions. [2022-04-27 11:51:11,468 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 131 transitions. [2022-04-27 11:51:11,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:11,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:11,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:11,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:11,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:11,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 90 transitions. [2022-04-27 11:51:11,471 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 90 transitions. Word has length 28 [2022-04-27 11:51:11,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:11,471 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 90 transitions. [2022-04-27 11:51:11,471 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:51:11,472 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 90 transitions. [2022-04-27 11:51:11,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-27 11:51:11,472 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:11,472 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:51:11,488 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 11:51:11,687 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-27 11:51:11,688 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:11,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:11,688 INFO L85 PathProgramCache]: Analyzing trace with hash 1909913277, now seen corresponding path program 1 times [2022-04-27 11:51:11,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:11,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1718335550] [2022-04-27 11:51:11,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:11,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:11,705 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:11,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1785349814] [2022-04-27 11:51:11,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:11,706 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:11,706 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:11,707 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-27 11:51:11,709 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-27 11:51:11,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:11,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:51:11,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:11,754 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:11,940 INFO L272 TraceCheckUtils]: 0: Hoare triple {1514#true} call ULTIMATE.init(); {1514#true} is VALID [2022-04-27 11:51:11,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {1514#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); {1514#true} is VALID [2022-04-27 11:51:11,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-27 11:51:11,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1514#true} {1514#true} #105#return; {1514#true} is VALID [2022-04-27 11:51:11,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {1514#true} call #t~ret6 := main(); {1514#true} is VALID [2022-04-27 11:51:11,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {1514#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1514#true} is VALID [2022-04-27 11:51:11,940 INFO L272 TraceCheckUtils]: 6: Hoare triple {1514#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-27 11:51:11,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {1514#true} ~cond := #in~cond; {1540#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:51:11,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {1540#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1544#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:11,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {1544#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1544#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:11,942 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1544#(not (= |assume_abort_if_not_#in~cond| 0))} {1514#true} #91#return; {1551#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:11,942 INFO L272 TraceCheckUtils]: 11: Hoare triple {1551#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-27 11:51:11,942 INFO L290 TraceCheckUtils]: 12: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-27 11:51:11,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-27 11:51:11,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-27 11:51:11,943 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1514#true} {1551#(<= 1 main_~x~0)} #93#return; {1551#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:11,943 INFO L290 TraceCheckUtils]: 16: Hoare triple {1551#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:11,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:11,944 INFO L290 TraceCheckUtils]: 18: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:11,944 INFO L290 TraceCheckUtils]: 19: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:11,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:11,945 INFO L290 TraceCheckUtils]: 21: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:11,945 INFO L272 TraceCheckUtils]: 22: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1514#true} is VALID [2022-04-27 11:51:11,945 INFO L290 TraceCheckUtils]: 23: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-27 11:51:11,945 INFO L290 TraceCheckUtils]: 24: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-27 11:51:11,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-27 11:51:11,946 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1514#true} {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #95#return; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:11,946 INFO L272 TraceCheckUtils]: 27: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:11,947 INFO L290 TraceCheckUtils]: 28: Hoare triple {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1608#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:11,947 INFO L290 TraceCheckUtils]: 29: Hoare triple {1608#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1515#false} is VALID [2022-04-27 11:51:11,947 INFO L290 TraceCheckUtils]: 30: Hoare triple {1515#false} assume !false; {1515#false} is VALID [2022-04-27 11:51:11,947 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 11:51:11,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:51:12,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {1515#false} assume !false; {1515#false} is VALID [2022-04-27 11:51:12,093 INFO L290 TraceCheckUtils]: 29: Hoare triple {1608#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1515#false} is VALID [2022-04-27 11:51:12,094 INFO L290 TraceCheckUtils]: 28: Hoare triple {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1608#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:12,095 INFO L272 TraceCheckUtils]: 27: Hoare triple {1624#(= 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)); {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:12,095 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1514#true} {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #95#return; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:12,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-27 11:51:12,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-27 11:51:12,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-27 11:51:12,096 INFO L272 TraceCheckUtils]: 22: Hoare triple {1624#(= 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)); {1514#true} is VALID [2022-04-27 11:51:12,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:12,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {1624#(= 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; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:12,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:12,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {1624#(= 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; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:12,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {1514#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:12,098 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1514#true} {1514#true} #93#return; {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 12: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L272 TraceCheckUtils]: 11: Hoare triple {1514#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1514#true} {1514#true} #91#return; {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L272 TraceCheckUtils]: 6: Hoare triple {1514#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {1514#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1514#true} is VALID [2022-04-27 11:51:12,098 INFO L272 TraceCheckUtils]: 4: Hoare triple {1514#true} call #t~ret6 := main(); {1514#true} is VALID [2022-04-27 11:51:12,099 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1514#true} {1514#true} #105#return; {1514#true} is VALID [2022-04-27 11:51:12,099 INFO L290 TraceCheckUtils]: 2: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-27 11:51:12,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {1514#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); {1514#true} is VALID [2022-04-27 11:51:12,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {1514#true} call ULTIMATE.init(); {1514#true} is VALID [2022-04-27 11:51:12,099 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:51:12,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:12,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1718335550] [2022-04-27 11:51:12,099 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:12,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1785349814] [2022-04-27 11:51:12,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1785349814] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 11:51:12,099 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:51:12,100 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-27 11:51:12,100 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [319073608] [2022-04-27 11:51:12,100 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:51:12,100 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 31 [2022-04-27 11:51:12,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:12,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:51:12,118 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:12,118 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:51:12,118 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:12,119 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:51:12,119 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:51:12,119 INFO L87 Difference]: Start difference. First operand 68 states and 90 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:51:12,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:12,298 INFO L93 Difference]: Finished difference Result 76 states and 97 transitions. [2022-04-27 11:51:12,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:51:12,298 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 31 [2022-04-27 11:51:12,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:12,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:51:12,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-27 11:51:12,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:51:12,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-27 11:51:12,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-27 11:51:12,335 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-27 11:51:12,336 INFO L225 Difference]: With dead ends: 76 [2022-04-27 11:51:12,336 INFO L226 Difference]: Without dead ends: 74 [2022-04-27 11:51:12,336 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:51:12,337 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 9 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:12,337 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:51:12,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-27 11:51:12,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 72. [2022-04-27 11:51:12,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:12,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:12,416 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:12,416 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:12,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:12,418 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-27 11:51:12,418 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-27 11:51:12,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:12,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:12,419 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 74 states. [2022-04-27 11:51:12,419 INFO L87 Difference]: Start difference. First operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 74 states. [2022-04-27 11:51:12,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:12,421 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-27 11:51:12,421 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-27 11:51:12,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:12,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:12,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:12,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:12,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 11:51:12,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 93 transitions. [2022-04-27 11:51:12,423 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 93 transitions. Word has length 31 [2022-04-27 11:51:12,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:12,424 INFO L495 AbstractCegarLoop]: Abstraction has 72 states and 93 transitions. [2022-04-27 11:51:12,424 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:51:12,424 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 93 transitions. [2022-04-27 11:51:12,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-27 11:51:12,424 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:12,424 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:51:12,451 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 11:51:12,639 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-27 11:51:12,639 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:12,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:12,640 INFO L85 PathProgramCache]: Analyzing trace with hash -709867384, now seen corresponding path program 1 times [2022-04-27 11:51:12,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:12,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [53888811] [2022-04-27 11:51:12,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:12,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:12,657 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:12,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2091612724] [2022-04-27 11:51:12,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:12,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:12,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:12,658 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-27 11:51:12,666 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-27 11:51:12,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:12,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 11:51:12,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:12,722 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:12,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {2078#true} call ULTIMATE.init(); {2078#true} is VALID [2022-04-27 11:51:12,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {2078#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); {2078#true} is VALID [2022-04-27 11:51:12,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-27 11:51:12,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2078#true} {2078#true} #105#return; {2078#true} is VALID [2022-04-27 11:51:12,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {2078#true} call #t~ret6 := main(); {2078#true} is VALID [2022-04-27 11:51:12,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {2078#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2078#true} is VALID [2022-04-27 11:51:12,917 INFO L272 TraceCheckUtils]: 6: Hoare triple {2078#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-27 11:51:12,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {2078#true} ~cond := #in~cond; {2104#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:51:12,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {2104#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2108#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:12,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {2108#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2108#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:12,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2108#(not (= |assume_abort_if_not_#in~cond| 0))} {2078#true} #91#return; {2115#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:12,918 INFO L272 TraceCheckUtils]: 11: Hoare triple {2115#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-27 11:51:12,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {2078#true} ~cond := #in~cond; {2078#true} is VALID [2022-04-27 11:51:12,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {2078#true} assume !(0 == ~cond); {2078#true} is VALID [2022-04-27 11:51:12,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-27 11:51:12,919 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2078#true} {2115#(<= 1 main_~x~0)} #93#return; {2115#(<= 1 main_~x~0)} is VALID [2022-04-27 11:51:12,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {2115#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:12,919 INFO L290 TraceCheckUtils]: 17: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:12,920 INFO L290 TraceCheckUtils]: 18: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:12,920 INFO L290 TraceCheckUtils]: 19: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:12,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:51:12,921 INFO L290 TraceCheckUtils]: 21: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~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; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:51:12,921 INFO L290 TraceCheckUtils]: 22: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:51:12,921 INFO L290 TraceCheckUtils]: 23: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:51:12,922 INFO L290 TraceCheckUtils]: 24: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:51:12,922 INFO L290 TraceCheckUtils]: 25: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:51:12,922 INFO L290 TraceCheckUtils]: 26: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:51:12,923 INFO L272 TraceCheckUtils]: 27: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:12,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2173#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:12,924 INFO L290 TraceCheckUtils]: 29: Hoare triple {2173#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2079#false} is VALID [2022-04-27 11:51:12,924 INFO L290 TraceCheckUtils]: 30: Hoare triple {2079#false} assume !false; {2079#false} is VALID [2022-04-27 11:51:12,924 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 11:51:12,924 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:51:13,119 INFO L290 TraceCheckUtils]: 30: Hoare triple {2079#false} assume !false; {2079#false} is VALID [2022-04-27 11:51:13,120 INFO L290 TraceCheckUtils]: 29: Hoare triple {2173#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2079#false} is VALID [2022-04-27 11:51:13,120 INFO L290 TraceCheckUtils]: 28: Hoare triple {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2173#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:13,121 INFO L272 TraceCheckUtils]: 27: Hoare triple {2189#(= 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)); {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:13,121 INFO L290 TraceCheckUtils]: 26: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:13,122 INFO L290 TraceCheckUtils]: 25: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:13,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:13,122 INFO L290 TraceCheckUtils]: 23: Hoare triple {2189#(= 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; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:13,123 INFO L290 TraceCheckUtils]: 22: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:13,123 INFO L290 TraceCheckUtils]: 21: Hoare triple {2208#(= 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; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:13,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:13,128 INFO L290 TraceCheckUtils]: 19: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:13,128 INFO L290 TraceCheckUtils]: 18: Hoare triple {2208#(= 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; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:13,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:13,129 INFO L290 TraceCheckUtils]: 16: Hoare triple {2078#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:13,131 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2078#true} {2078#true} #93#return; {2078#true} is VALID [2022-04-27 11:51:13,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-27 11:51:13,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {2078#true} assume !(0 == ~cond); {2078#true} is VALID [2022-04-27 11:51:13,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {2078#true} ~cond := #in~cond; {2078#true} is VALID [2022-04-27 11:51:13,133 INFO L272 TraceCheckUtils]: 11: Hoare triple {2078#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-27 11:51:13,133 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2078#true} {2078#true} #91#return; {2078#true} is VALID [2022-04-27 11:51:13,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-27 11:51:13,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {2078#true} assume !(0 == ~cond); {2078#true} is VALID [2022-04-27 11:51:13,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {2078#true} ~cond := #in~cond; {2078#true} is VALID [2022-04-27 11:51:13,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {2078#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-27 11:51:13,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {2078#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2078#true} is VALID [2022-04-27 11:51:13,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {2078#true} call #t~ret6 := main(); {2078#true} is VALID [2022-04-27 11:51:13,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2078#true} {2078#true} #105#return; {2078#true} is VALID [2022-04-27 11:51:13,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-27 11:51:13,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {2078#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); {2078#true} is VALID [2022-04-27 11:51:13,137 INFO L272 TraceCheckUtils]: 0: Hoare triple {2078#true} call ULTIMATE.init(); {2078#true} is VALID [2022-04-27 11:51:13,137 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:51:13,137 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:13,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [53888811] [2022-04-27 11:51:13,137 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:13,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2091612724] [2022-04-27 11:51:13,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2091612724] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:51:13,137 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:51:13,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-27 11:51:13,137 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [497462667] [2022-04-27 11:51:13,137 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:51:13,138 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 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 31 [2022-04-27 11:51:13,138 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:13,138 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 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-27 11:51:13,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:13,169 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 11:51:13,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:13,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 11:51:13,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 11:51:13,171 INFO L87 Difference]: Start difference. First operand 72 states and 93 transitions. Second operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 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-27 11:51:13,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:13,828 INFO L93 Difference]: Finished difference Result 108 states and 142 transitions. [2022-04-27 11:51:13,828 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 11:51:13,829 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 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 31 [2022-04-27 11:51:13,829 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:13,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 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-27 11:51:13,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 11:51:13,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 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-27 11:51:13,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 11:51:13,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 82 transitions. [2022-04-27 11:51:13,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:13,891 INFO L225 Difference]: With dead ends: 108 [2022-04-27 11:51:13,891 INFO L226 Difference]: Without dead ends: 106 [2022-04-27 11:51:13,891 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 51 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-27 11:51:13,892 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 42 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 235 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 235 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:13,892 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 271 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 235 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:51:13,892 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-27 11:51:13,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 102. [2022-04-27 11:51:13,970 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:13,970 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:51:13,970 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:51:13,970 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:51:13,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:13,973 INFO L93 Difference]: Finished difference Result 106 states and 140 transitions. [2022-04-27 11:51:13,973 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 140 transitions. [2022-04-27 11:51:13,974 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:13,974 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:13,974 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 106 states. [2022-04-27 11:51:13,974 INFO L87 Difference]: Start difference. First operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 106 states. [2022-04-27 11:51:13,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:13,977 INFO L93 Difference]: Finished difference Result 106 states and 140 transitions. [2022-04-27 11:51:13,977 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 140 transitions. [2022-04-27 11:51:13,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:13,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:13,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:13,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:13,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 11:51:13,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 136 transitions. [2022-04-27 11:51:13,980 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 136 transitions. Word has length 31 [2022-04-27 11:51:13,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:13,980 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 136 transitions. [2022-04-27 11:51:13,980 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 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-27 11:51:13,980 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 136 transitions. [2022-04-27 11:51:13,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 11:51:13,981 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:13,981 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-27 11:51:14,005 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-27 11:51:14,195 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-27 11:51:14,195 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:14,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:14,196 INFO L85 PathProgramCache]: Analyzing trace with hash 1696776659, now seen corresponding path program 1 times [2022-04-27 11:51:14,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:14,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1202957172] [2022-04-27 11:51:14,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:14,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:14,209 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:14,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1172289069] [2022-04-27 11:51:14,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:14,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:14,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:14,212 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-27 11:51:14,213 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-27 11:51:14,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:14,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:51:14,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:14,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:16,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {2807#true} call ULTIMATE.init(); {2807#true} is VALID [2022-04-27 11:51:16,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {2807#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); {2807#true} is VALID [2022-04-27 11:51:16,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-27 11:51:16,279 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2807#true} {2807#true} #105#return; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {2807#true} call #t~ret6 := main(); {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {2807#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L272 TraceCheckUtils]: 6: Hoare triple {2807#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2807#true} {2807#true} #91#return; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L272 TraceCheckUtils]: 11: Hoare triple {2807#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 13: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 14: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2807#true} {2807#true} #93#return; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 16: Hoare triple {2807#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2807#true} is VALID [2022-04-27 11:51:16,280 INFO L290 TraceCheckUtils]: 17: Hoare triple {2807#true} assume !false; {2807#true} is VALID [2022-04-27 11:51:16,282 INFO L290 TraceCheckUtils]: 18: Hoare triple {2807#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 11:51:16,282 INFO L290 TraceCheckUtils]: 19: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 11:51:16,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 11:51:16,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 11:51:16,283 INFO L272 TraceCheckUtils]: 22: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2807#true} is VALID [2022-04-27 11:51:16,283 INFO L290 TraceCheckUtils]: 23: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-27 11:51:16,283 INFO L290 TraceCheckUtils]: 24: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-27 11:51:16,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-27 11:51:16,283 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2807#true} {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #95#return; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 11:51:16,284 INFO L272 TraceCheckUtils]: 27: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2807#true} is VALID [2022-04-27 11:51:16,284 INFO L290 TraceCheckUtils]: 28: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-27 11:51:16,284 INFO L290 TraceCheckUtils]: 29: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-27 11:51:16,284 INFO L290 TraceCheckUtils]: 30: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-27 11:51:16,285 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2807#true} {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #97#return; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 11:51:16,286 INFO L272 TraceCheckUtils]: 32: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:16,286 INFO L290 TraceCheckUtils]: 33: Hoare triple {2909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:16,286 INFO L290 TraceCheckUtils]: 34: Hoare triple {2913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2808#false} is VALID [2022-04-27 11:51:16,286 INFO L290 TraceCheckUtils]: 35: Hoare triple {2808#false} assume !false; {2808#false} is VALID [2022-04-27 11:51:16,286 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-27 11:51:16,286 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:51:16,286 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:16,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1202957172] [2022-04-27 11:51:16,287 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:16,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1172289069] [2022-04-27 11:51:16,287 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1172289069] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:51:16,287 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:51:16,287 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:51:16,287 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1567857676] [2022-04-27 11:51:16,287 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:51:16,287 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-27 11:51:16,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:16,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:51:16,309 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:16,309 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:51:16,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:16,309 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:51:16,309 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:51:16,310 INFO L87 Difference]: Start difference. First operand 102 states and 136 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:51:16,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:16,555 INFO L93 Difference]: Finished difference Result 148 states and 208 transitions. [2022-04-27 11:51:16,555 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:51:16,555 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-27 11:51:16,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:16,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:51:16,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 11:51:16,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:51:16,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 11:51:16,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 11:51:16,592 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:16,594 INFO L225 Difference]: With dead ends: 148 [2022-04-27 11:51:16,594 INFO L226 Difference]: Without dead ends: 146 [2022-04-27 11:51:16,594 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 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-27 11:51:16,595 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 8 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:16,595 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 126 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:51:16,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-27 11:51:16,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 140. [2022-04-27 11:51:16,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:16,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-27 11:51:16,736 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-27 11:51:16,736 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-27 11:51:16,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:16,741 INFO L93 Difference]: Finished difference Result 146 states and 206 transitions. [2022-04-27 11:51:16,741 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 206 transitions. [2022-04-27 11:51:16,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:16,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:16,742 INFO L74 IsIncluded]: Start isIncluded. First operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) Second operand 146 states. [2022-04-27 11:51:16,742 INFO L87 Difference]: Start difference. First operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) Second operand 146 states. [2022-04-27 11:51:16,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:16,746 INFO L93 Difference]: Finished difference Result 146 states and 206 transitions. [2022-04-27 11:51:16,746 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 206 transitions. [2022-04-27 11:51:16,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:16,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:16,746 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:16,747 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:16,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-27 11:51:16,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 200 transitions. [2022-04-27 11:51:16,751 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 200 transitions. Word has length 36 [2022-04-27 11:51:16,751 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:16,751 INFO L495 AbstractCegarLoop]: Abstraction has 140 states and 200 transitions. [2022-04-27 11:51:16,751 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:51:16,751 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 200 transitions. [2022-04-27 11:51:16,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 11:51:16,751 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:16,752 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-27 11:51:16,769 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-27 11:51:16,967 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-27 11:51:16,967 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:16,967 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:16,968 INFO L85 PathProgramCache]: Analyzing trace with hash 331267880, now seen corresponding path program 1 times [2022-04-27 11:51:16,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:16,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1801018649] [2022-04-27 11:51:16,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:16,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:16,976 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:16,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [895854913] [2022-04-27 11:51:16,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:16,976 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:16,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:16,977 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-27 11:51:16,978 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-27 11:51:17,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:17,010 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-27 11:51:17,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:17,022 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:17,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {3661#true} call ULTIMATE.init(); {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {3661#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); {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3661#true} {3661#true} #105#return; {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {3661#true} call #t~ret6 := main(); {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {3661#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {3661#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3661#true} {3661#true} #91#return; {3661#true} is VALID [2022-04-27 11:51:17,276 INFO L272 TraceCheckUtils]: 11: Hoare triple {3661#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-27 11:51:17,277 INFO L290 TraceCheckUtils]: 12: Hoare triple {3661#true} ~cond := #in~cond; {3702#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:51:17,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {3702#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3706#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:17,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {3706#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3706#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:17,278 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3706#(not (= |assume_abort_if_not_#in~cond| 0))} {3661#true} #93#return; {3713#(<= 1 main_~y~0)} is VALID [2022-04-27 11:51:17,278 INFO L290 TraceCheckUtils]: 16: Hoare triple {3713#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:17,279 INFO L290 TraceCheckUtils]: 17: Hoare triple {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:17,279 INFO L290 TraceCheckUtils]: 18: Hoare triple {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= 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; {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:17,279 INFO L290 TraceCheckUtils]: 19: Hoare triple {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:17,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:17,280 INFO L290 TraceCheckUtils]: 21: Hoare triple {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~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; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:17,281 INFO L290 TraceCheckUtils]: 22: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !false; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:17,281 INFO L290 TraceCheckUtils]: 23: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:17,281 INFO L290 TraceCheckUtils]: 24: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !false; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:17,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:17,282 INFO L290 TraceCheckUtils]: 26: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !false; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:17,282 INFO L272 TraceCheckUtils]: 27: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3661#true} is VALID [2022-04-27 11:51:17,282 INFO L290 TraceCheckUtils]: 28: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-27 11:51:17,282 INFO L290 TraceCheckUtils]: 29: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-27 11:51:17,282 INFO L290 TraceCheckUtils]: 30: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-27 11:51:17,283 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3661#true} {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} #95#return; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:17,283 INFO L272 TraceCheckUtils]: 32: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:17,283 INFO L290 TraceCheckUtils]: 33: Hoare triple {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:17,284 INFO L290 TraceCheckUtils]: 34: Hoare triple {3772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3662#false} is VALID [2022-04-27 11:51:17,284 INFO L290 TraceCheckUtils]: 35: Hoare triple {3662#false} assume !false; {3662#false} is VALID [2022-04-27 11:51:17,284 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 11:51:17,284 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:51:17,469 INFO L290 TraceCheckUtils]: 35: Hoare triple {3662#false} assume !false; {3662#false} is VALID [2022-04-27 11:51:17,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {3772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3662#false} is VALID [2022-04-27 11:51:17,470 INFO L290 TraceCheckUtils]: 33: Hoare triple {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:17,471 INFO L272 TraceCheckUtils]: 32: Hoare triple {3788#(= 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)); {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:17,472 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3661#true} {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #95#return; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:17,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-27 11:51:17,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-27 11:51:17,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-27 11:51:17,472 INFO L272 TraceCheckUtils]: 27: Hoare triple {3788#(= 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)); {3661#true} is VALID [2022-04-27 11:51:17,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:17,472 INFO L290 TraceCheckUtils]: 25: Hoare triple {3788#(= 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; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:17,473 INFO L290 TraceCheckUtils]: 24: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:17,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {3788#(= 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; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:17,473 INFO L290 TraceCheckUtils]: 22: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:18,363 INFO L290 TraceCheckUtils]: 21: Hoare triple {3822#(= (+ (* (+ (* (* 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; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:51:18,364 INFO L290 TraceCheckUtils]: 20: Hoare triple {3822#(= (+ (* (+ (* (* 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)} assume !(~c~0 >= ~b~0); {3822#(= (+ (* (+ (* (* 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-27 11:51:18,364 INFO L290 TraceCheckUtils]: 19: Hoare triple {3822#(= (+ (* (+ (* (* 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)} assume !false; {3822#(= (+ (* (+ (* (* 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-27 11:51:18,364 INFO L290 TraceCheckUtils]: 18: Hoare triple {3832#(= 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; {3822#(= (+ (* (+ (* (* 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-27 11:51:18,365 INFO L290 TraceCheckUtils]: 17: Hoare triple {3832#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3832#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:18,365 INFO L290 TraceCheckUtils]: 16: Hoare triple {3661#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3832#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:51:18,365 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3661#true} {3661#true} #93#return; {3661#true} is VALID [2022-04-27 11:51:18,365 INFO L290 TraceCheckUtils]: 14: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-27 11:51:18,365 INFO L290 TraceCheckUtils]: 13: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-27 11:51:18,365 INFO L290 TraceCheckUtils]: 12: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-27 11:51:18,365 INFO L272 TraceCheckUtils]: 11: Hoare triple {3661#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-27 11:51:18,365 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3661#true} {3661#true} #91#return; {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L272 TraceCheckUtils]: 6: Hoare triple {3661#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {3661#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L272 TraceCheckUtils]: 4: Hoare triple {3661#true} call #t~ret6 := main(); {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3661#true} {3661#true} #105#return; {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {3661#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); {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {3661#true} call ULTIMATE.init(); {3661#true} is VALID [2022-04-27 11:51:18,366 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:51:18,366 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:18,366 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1801018649] [2022-04-27 11:51:18,367 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:18,367 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [895854913] [2022-04-27 11:51:18,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [895854913] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:51:18,367 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:51:18,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-27 11:51:18,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [189102960] [2022-04-27 11:51:18,367 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:51:18,367 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 36 [2022-04-27 11:51:18,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:18,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 11:51:18,449 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-27 11:51:18,450 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 11:51:18,450 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:18,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 11:51:18,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-27 11:51:18,450 INFO L87 Difference]: Start difference. First operand 140 states and 200 transitions. Second operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 11:51:21,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:21,817 INFO L93 Difference]: Finished difference Result 268 states and 390 transitions. [2022-04-27 11:51:21,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-27 11:51:21,817 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 36 [2022-04-27 11:51:21,817 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:21,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 11:51:21,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 202 transitions. [2022-04-27 11:51:21,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 11:51:21,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 202 transitions. [2022-04-27 11:51:21,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 202 transitions. [2022-04-27 11:51:22,149 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:22,154 INFO L225 Difference]: With dead ends: 268 [2022-04-27 11:51:22,154 INFO L226 Difference]: Without dead ends: 266 [2022-04-27 11:51:22,155 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=115, Invalid=437, Unknown=0, NotChecked=0, Total=552 [2022-04-27 11:51:22,155 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 148 mSDsluCounter, 236 mSDsCounter, 0 mSdLazyCounter, 485 mSolverCounterSat, 132 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 152 SdHoareTripleChecker+Valid, 288 SdHoareTripleChecker+Invalid, 617 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 132 IncrementalHoareTripleChecker+Valid, 485 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:22,155 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [152 Valid, 288 Invalid, 617 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [132 Valid, 485 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-27 11:51:22,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-27 11:51:22,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 253. [2022-04-27 11:51:22,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:22,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 266 states. Second operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 11:51:22,422 INFO L74 IsIncluded]: Start isIncluded. First operand 266 states. Second operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 11:51:22,422 INFO L87 Difference]: Start difference. First operand 266 states. Second operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 11:51:22,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:22,431 INFO L93 Difference]: Finished difference Result 266 states and 388 transitions. [2022-04-27 11:51:22,431 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 388 transitions. [2022-04-27 11:51:22,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:22,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:22,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) Second operand 266 states. [2022-04-27 11:51:22,433 INFO L87 Difference]: Start difference. First operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) Second operand 266 states. [2022-04-27 11:51:22,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:22,442 INFO L93 Difference]: Finished difference Result 266 states and 388 transitions. [2022-04-27 11:51:22,442 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 388 transitions. [2022-04-27 11:51:22,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:22,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:22,443 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:22,443 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:22,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 11:51:22,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 253 states to 253 states and 375 transitions. [2022-04-27 11:51:22,451 INFO L78 Accepts]: Start accepts. Automaton has 253 states and 375 transitions. Word has length 36 [2022-04-27 11:51:22,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:22,452 INFO L495 AbstractCegarLoop]: Abstraction has 253 states and 375 transitions. [2022-04-27 11:51:22,452 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 11:51:22,452 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 375 transitions. [2022-04-27 11:51:22,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-27 11:51:22,452 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:22,452 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-27 11:51:22,468 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-27 11:51:22,668 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-27 11:51:22,669 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:22,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:22,669 INFO L85 PathProgramCache]: Analyzing trace with hash 1445301309, now seen corresponding path program 1 times [2022-04-27 11:51:22,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:22,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1524003909] [2022-04-27 11:51:22,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:22,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:22,684 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:22,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1788509280] [2022-04-27 11:51:22,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:22,685 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:22,685 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:22,686 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-27 11:51:22,687 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-27 11:51:22,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:22,724 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:51:22,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:22,731 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:22,851 INFO L272 TraceCheckUtils]: 0: Hoare triple {5264#true} call ULTIMATE.init(); {5264#true} is VALID [2022-04-27 11:51:22,852 INFO L290 TraceCheckUtils]: 1: Hoare triple {5264#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); {5264#true} is VALID [2022-04-27 11:51:22,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-27 11:51:22,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5264#true} {5264#true} #105#return; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {5264#true} call #t~ret6 := main(); {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {5264#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L272 TraceCheckUtils]: 6: Hoare triple {5264#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5264#true} {5264#true} #91#return; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L272 TraceCheckUtils]: 11: Hoare triple {5264#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5264#true} {5264#true} #93#return; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 16: Hoare triple {5264#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5264#true} is VALID [2022-04-27 11:51:22,855 INFO L290 TraceCheckUtils]: 17: Hoare triple {5264#true} assume !false; {5264#true} is VALID [2022-04-27 11:51:22,856 INFO L290 TraceCheckUtils]: 18: Hoare triple {5264#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5264#true} is VALID [2022-04-27 11:51:22,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {5264#true} assume !false; {5264#true} is VALID [2022-04-27 11:51:22,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {5264#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 11:51:22,856 INFO L290 TraceCheckUtils]: 21: Hoare triple {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 11:51:22,856 INFO L272 TraceCheckUtils]: 22: Hoare triple {5329#(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)); {5264#true} is VALID [2022-04-27 11:51:22,856 INFO L290 TraceCheckUtils]: 23: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-27 11:51:22,856 INFO L290 TraceCheckUtils]: 24: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-27 11:51:22,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-27 11:51:22,857 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5264#true} {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #95#return; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 11:51:22,857 INFO L272 TraceCheckUtils]: 27: Hoare triple {5329#(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)); {5264#true} is VALID [2022-04-27 11:51:22,857 INFO L290 TraceCheckUtils]: 28: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-27 11:51:22,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-27 11:51:22,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-27 11:51:22,858 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5264#true} {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #97#return; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 11:51:22,858 INFO L272 TraceCheckUtils]: 32: Hoare triple {5329#(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)); {5264#true} is VALID [2022-04-27 11:51:22,858 INFO L290 TraceCheckUtils]: 33: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-27 11:51:22,858 INFO L290 TraceCheckUtils]: 34: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-27 11:51:22,858 INFO L290 TraceCheckUtils]: 35: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-27 11:51:22,859 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5264#true} {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #99#return; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 11:51:22,859 INFO L272 TraceCheckUtils]: 37: Hoare triple {5329#(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)); {5381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:22,859 INFO L290 TraceCheckUtils]: 38: Hoare triple {5381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:22,860 INFO L290 TraceCheckUtils]: 39: Hoare triple {5385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5265#false} is VALID [2022-04-27 11:51:22,860 INFO L290 TraceCheckUtils]: 40: Hoare triple {5265#false} assume !false; {5265#false} is VALID [2022-04-27 11:51:22,860 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 11:51:22,860 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:51:22,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:22,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1524003909] [2022-04-27 11:51:22,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:22,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1788509280] [2022-04-27 11:51:22,861 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1788509280] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:51:22,861 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:51:22,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:51:22,862 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1945031638] [2022-04-27 11:51:22,862 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:51:22,863 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-27 11:51:22,863 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:22,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 11:51:22,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:22,884 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:51:22,884 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:22,884 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:51:22,884 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:51:22,884 INFO L87 Difference]: Start difference. First operand 253 states and 375 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 11:51:23,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:23,534 INFO L93 Difference]: Finished difference Result 414 states and 645 transitions. [2022-04-27 11:51:23,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:51:23,534 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-27 11:51:23,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:23,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 11:51:23,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 11:51:23,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 11:51:23,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 11:51:23,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 11:51:23,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:23,586 INFO L225 Difference]: With dead ends: 414 [2022-04-27 11:51:23,586 INFO L226 Difference]: Without dead ends: 412 [2022-04-27 11:51:23,587 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 37 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-27 11:51:23,587 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 136 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-27 11:51:23,588 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 136 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:51:23,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 412 states. [2022-04-27 11:51:24,035 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 412 to 357. [2022-04-27 11:51:24,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:24,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 412 states. Second operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-27 11:51:24,037 INFO L74 IsIncluded]: Start isIncluded. First operand 412 states. Second operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-27 11:51:24,037 INFO L87 Difference]: Start difference. First operand 412 states. Second operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-27 11:51:24,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:24,058 INFO L93 Difference]: Finished difference Result 412 states and 643 transitions. [2022-04-27 11:51:24,059 INFO L276 IsEmpty]: Start isEmpty. Operand 412 states and 643 transitions. [2022-04-27 11:51:24,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:24,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:24,061 INFO L74 IsIncluded]: Start isIncluded. First operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) Second operand 412 states. [2022-04-27 11:51:24,061 INFO L87 Difference]: Start difference. First operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) Second operand 412 states. [2022-04-27 11:51:24,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:24,076 INFO L93 Difference]: Finished difference Result 412 states and 643 transitions. [2022-04-27 11:51:24,076 INFO L276 IsEmpty]: Start isEmpty. Operand 412 states and 643 transitions. [2022-04-27 11:51:24,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:24,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:24,078 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:24,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:24,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-27 11:51:24,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 357 states to 357 states and 558 transitions. [2022-04-27 11:51:24,091 INFO L78 Accepts]: Start accepts. Automaton has 357 states and 558 transitions. Word has length 41 [2022-04-27 11:51:24,091 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:24,091 INFO L495 AbstractCegarLoop]: Abstraction has 357 states and 558 transitions. [2022-04-27 11:51:24,091 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 11:51:24,092 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 558 transitions. [2022-04-27 11:51:24,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-27 11:51:24,092 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:24,092 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 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, 1, 1, 1] [2022-04-27 11:51:24,108 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-27 11:51:24,308 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-27 11:51:24,309 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:24,309 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:24,309 INFO L85 PathProgramCache]: Analyzing trace with hash -810649216, now seen corresponding path program 1 times [2022-04-27 11:51:24,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:24,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1988439786] [2022-04-27 11:51:24,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:24,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:24,323 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:24,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [485196382] [2022-04-27 11:51:24,323 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:24,323 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:24,323 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:24,324 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-27 11:51:24,325 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-27 11:51:24,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:24,361 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-27 11:51:24,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:24,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:25,148 INFO L272 TraceCheckUtils]: 0: Hoare triple {7498#true} call ULTIMATE.init(); {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {7498#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); {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7498#true} {7498#true} #105#return; {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L272 TraceCheckUtils]: 4: Hoare triple {7498#true} call #t~ret6 := main(); {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {7498#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L272 TraceCheckUtils]: 6: Hoare triple {7498#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:25,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7498#true} {7498#true} #91#return; {7498#true} is VALID [2022-04-27 11:51:25,149 INFO L272 TraceCheckUtils]: 11: Hoare triple {7498#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-27 11:51:25,149 INFO L290 TraceCheckUtils]: 12: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:25,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:25,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:25,149 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7498#true} {7498#true} #93#return; {7498#true} is VALID [2022-04-27 11:51:25,149 INFO L290 TraceCheckUtils]: 16: Hoare triple {7498#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7551#(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-27 11:51:25,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {7551#(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; {7551#(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-27 11:51:25,150 INFO L290 TraceCheckUtils]: 18: Hoare triple {7551#(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; {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,150 INFO L290 TraceCheckUtils]: 19: Hoare triple {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,151 INFO L290 TraceCheckUtils]: 20: Hoare triple {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,151 INFO L290 TraceCheckUtils]: 21: Hoare triple {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,152 INFO L272 TraceCheckUtils]: 22: Hoare triple {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7498#true} is VALID [2022-04-27 11:51:25,152 INFO L290 TraceCheckUtils]: 23: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:25,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:25,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:25,152 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7498#true} {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,153 INFO L272 TraceCheckUtils]: 27: Hoare triple {7565#(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_~b~0 main_~c~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)); {7498#true} is VALID [2022-04-27 11:51:25,154 INFO L290 TraceCheckUtils]: 28: Hoare triple {7498#true} ~cond := #in~cond; {7590#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:25,154 INFO L290 TraceCheckUtils]: 29: Hoare triple {7590#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:25,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:25,155 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,155 INFO L272 TraceCheckUtils]: 32: Hoare triple {7565#(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_~b~0 main_~c~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)); {7498#true} is VALID [2022-04-27 11:51:25,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:25,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:25,155 INFO L290 TraceCheckUtils]: 35: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:25,156 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7498#true} {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #99#return; {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,156 INFO L272 TraceCheckUtils]: 37: Hoare triple {7565#(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_~b~0 main_~c~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)); {7498#true} is VALID [2022-04-27 11:51:25,156 INFO L290 TraceCheckUtils]: 38: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:25,156 INFO L290 TraceCheckUtils]: 39: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:25,156 INFO L290 TraceCheckUtils]: 40: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:25,157 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7498#true} {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #101#return; {7565#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,157 INFO L290 TraceCheckUtils]: 42: Hoare triple {7565#(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_~b~0 main_~c~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); {7634#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,158 INFO L290 TraceCheckUtils]: 43: Hoare triple {7634#(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_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,159 INFO L290 TraceCheckUtils]: 45: Hoare triple {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 11:51:25,159 INFO L290 TraceCheckUtils]: 46: Hoare triple {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~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; {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 11:51:25,160 INFO L290 TraceCheckUtils]: 47: Hoare triple {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !false; {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 11:51:25,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {7655#(and (< main_~x~0 (* main_~a~0 2)) (= (+ 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) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:51:25,161 INFO L272 TraceCheckUtils]: 49: Hoare triple {7655#(and (< main_~x~0 (* main_~a~0 2)) (= (+ 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) (= main_~a~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)); {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:25,161 INFO L290 TraceCheckUtils]: 50: Hoare triple {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:25,162 INFO L290 TraceCheckUtils]: 51: Hoare triple {7663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7499#false} is VALID [2022-04-27 11:51:25,162 INFO L290 TraceCheckUtils]: 52: Hoare triple {7499#false} assume !false; {7499#false} is VALID [2022-04-27 11:51:25,162 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-27 11:51:25,162 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:51:28,662 INFO L290 TraceCheckUtils]: 52: Hoare triple {7499#false} assume !false; {7499#false} is VALID [2022-04-27 11:51:28,663 INFO L290 TraceCheckUtils]: 51: Hoare triple {7663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7499#false} is VALID [2022-04-27 11:51:28,663 INFO L290 TraceCheckUtils]: 50: Hoare triple {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:28,664 INFO L272 TraceCheckUtils]: 49: Hoare triple {7679#(= (+ (* 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)); {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:28,664 INFO L290 TraceCheckUtils]: 48: Hoare triple {7683#(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); {7679#(= (+ (* 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-27 11:51:28,665 INFO L290 TraceCheckUtils]: 47: Hoare triple {7683#(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; {7683#(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-27 11:51:28,940 INFO L290 TraceCheckUtils]: 46: Hoare triple {7690#(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; {7683#(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-27 11:51:28,941 INFO L290 TraceCheckUtils]: 45: Hoare triple {7690#(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); {7690#(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-27 11:51:28,941 INFO L290 TraceCheckUtils]: 44: Hoare triple {7690#(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; {7690#(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-27 11:51:29,228 INFO L290 TraceCheckUtils]: 43: Hoare triple {7700#(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; {7690#(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-27 11:51:29,228 INFO L290 TraceCheckUtils]: 42: Hoare triple {7704#(or (<= (* main_~v~0 2) main_~c~0) (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); {7700#(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-27 11:51:29,229 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7498#true} {7704#(or (<= (* main_~v~0 2) main_~c~0) (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))))} #101#return; {7704#(or (<= (* main_~v~0 2) main_~c~0) (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-27 11:51:29,229 INFO L290 TraceCheckUtils]: 40: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:29,229 INFO L290 TraceCheckUtils]: 39: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:29,229 INFO L290 TraceCheckUtils]: 38: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:29,229 INFO L272 TraceCheckUtils]: 37: Hoare triple {7704#(or (<= (* main_~v~0 2) main_~c~0) (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)); {7498#true} is VALID [2022-04-27 11:51:29,230 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7498#true} {7704#(or (<= (* main_~v~0 2) main_~c~0) (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))))} #99#return; {7704#(or (<= (* main_~v~0 2) main_~c~0) (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-27 11:51:29,230 INFO L290 TraceCheckUtils]: 35: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:29,230 INFO L290 TraceCheckUtils]: 34: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:29,230 INFO L290 TraceCheckUtils]: 33: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:29,230 INFO L272 TraceCheckUtils]: 32: Hoare triple {7704#(or (<= (* main_~v~0 2) main_~c~0) (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)); {7498#true} is VALID [2022-04-27 11:51:29,231 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} {7738#(or (<= (* main_~v~0 2) main_~c~0) (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))))} #97#return; {7704#(or (<= (* main_~v~0 2) main_~c~0) (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-27 11:51:29,231 INFO L290 TraceCheckUtils]: 30: Hoare triple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:29,232 INFO L290 TraceCheckUtils]: 29: Hoare triple {7748#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:29,232 INFO L290 TraceCheckUtils]: 28: Hoare triple {7498#true} ~cond := #in~cond; {7748#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:51:29,232 INFO L272 TraceCheckUtils]: 27: Hoare triple {7738#(or (<= (* main_~v~0 2) main_~c~0) (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)); {7498#true} is VALID [2022-04-27 11:51:29,233 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7498#true} {7738#(or (<= (* main_~v~0 2) main_~c~0) (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))))} #95#return; {7738#(or (<= (* main_~v~0 2) main_~c~0) (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-27 11:51:29,233 INFO L290 TraceCheckUtils]: 25: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:29,233 INFO L290 TraceCheckUtils]: 24: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:29,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:29,233 INFO L272 TraceCheckUtils]: 22: Hoare triple {7738#(or (<= (* main_~v~0 2) main_~c~0) (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 ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7498#true} is VALID [2022-04-27 11:51:29,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {7738#(or (<= (* main_~v~0 2) main_~c~0) (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))))} assume !false; {7738#(or (<= (* main_~v~0 2) main_~c~0) (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-27 11:51:29,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 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; {7738#(or (<= (* main_~v~0 2) main_~c~0) (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-27 11:51:29,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 0) (not (= main_~c~0 main_~b~0)))} assume !false; {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 0) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-27 11:51:29,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 0) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} assume !false; {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {7498#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} is VALID [2022-04-27 11:51:29,236 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7498#true} {7498#true} #93#return; {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L272 TraceCheckUtils]: 11: Hoare triple {7498#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7498#true} {7498#true} #91#return; {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-27 11:51:29,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {7498#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {7498#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {7498#true} call #t~ret6 := main(); {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7498#true} {7498#true} #105#return; {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {7498#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); {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {7498#true} call ULTIMATE.init(); {7498#true} is VALID [2022-04-27 11:51:29,237 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-27 11:51:29,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:29,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1988439786] [2022-04-27 11:51:29,237 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:29,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [485196382] [2022-04-27 11:51:29,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [485196382] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:51:29,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:51:29,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-27 11:51:29,238 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641724032] [2022-04-27 11:51:29,238 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:51:29,238 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 53 [2022-04-27 11:51:29,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:29,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:51:29,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:29,337 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 11:51:29,337 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:29,338 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 11:51:29,338 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=386, Unknown=0, NotChecked=0, Total=462 [2022-04-27 11:51:29,338 INFO L87 Difference]: Start difference. First operand 357 states and 558 transitions. Second operand has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:51:40,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:40,701 INFO L93 Difference]: Finished difference Result 713 states and 1105 transitions. [2022-04-27 11:51:40,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-27 11:51:40,701 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 53 [2022-04-27 11:51:40,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:40,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:51:40,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 258 transitions. [2022-04-27 11:51:40,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:51:40,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 258 transitions. [2022-04-27 11:51:40,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 258 transitions. [2022-04-27 11:51:43,411 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 258 edges. 258 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:43,430 INFO L225 Difference]: With dead ends: 713 [2022-04-27 11:51:43,431 INFO L226 Difference]: Without dead ends: 546 [2022-04-27 11:51:43,434 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 450 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=415, Invalid=1841, Unknown=0, NotChecked=0, Total=2256 [2022-04-27 11:51:43,435 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 134 mSDsluCounter, 226 mSDsCounter, 0 mSdLazyCounter, 910 mSolverCounterSat, 294 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 141 SdHoareTripleChecker+Valid, 258 SdHoareTripleChecker+Invalid, 1204 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 294 IncrementalHoareTripleChecker+Valid, 910 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:43,436 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [141 Valid, 258 Invalid, 1204 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [294 Valid, 910 Invalid, 0 Unknown, 0 Unchecked, 3.7s Time] [2022-04-27 11:51:43,436 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 546 states. [2022-04-27 11:51:44,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 546 to 465. [2022-04-27 11:51:44,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:44,233 INFO L82 GeneralOperation]: Start isEquivalent. First operand 546 states. Second operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:51:44,234 INFO L74 IsIncluded]: Start isIncluded. First operand 546 states. Second operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:51:44,234 INFO L87 Difference]: Start difference. First operand 546 states. Second operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:51:44,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:44,257 INFO L93 Difference]: Finished difference Result 546 states and 842 transitions. [2022-04-27 11:51:44,257 INFO L276 IsEmpty]: Start isEmpty. Operand 546 states and 842 transitions. [2022-04-27 11:51:44,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:44,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:44,262 INFO L74 IsIncluded]: Start isIncluded. First operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 546 states. [2022-04-27 11:51:44,262 INFO L87 Difference]: Start difference. First operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 546 states. [2022-04-27 11:51:44,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:44,286 INFO L93 Difference]: Finished difference Result 546 states and 842 transitions. [2022-04-27 11:51:44,286 INFO L276 IsEmpty]: Start isEmpty. Operand 546 states and 842 transitions. [2022-04-27 11:51:44,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:44,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:44,288 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:44,288 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:44,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:51:44,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 705 transitions. [2022-04-27 11:51:44,308 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 705 transitions. Word has length 53 [2022-04-27 11:51:44,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:44,308 INFO L495 AbstractCegarLoop]: Abstraction has 465 states and 705 transitions. [2022-04-27 11:51:44,308 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 11:51:44,308 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 705 transitions. [2022-04-27 11:51:44,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-27 11:51:44,309 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:44,309 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 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] [2022-04-27 11:51:44,326 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-27 11:51:44,526 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-27 11:51:44,526 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:44,526 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:44,527 INFO L85 PathProgramCache]: Analyzing trace with hash 1658124158, now seen corresponding path program 1 times [2022-04-27 11:51:44,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:44,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [189681373] [2022-04-27 11:51:44,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:44,527 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:44,535 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:44,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [481221409] [2022-04-27 11:51:44,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:44,536 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:44,536 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:44,537 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-27 11:51:44,540 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-27 11:51:44,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:44,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 11:51:44,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:44,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:45,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {10941#true} call ULTIMATE.init(); {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {10941#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); {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10941#true} {10941#true} #105#return; {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L272 TraceCheckUtils]: 4: Hoare triple {10941#true} call #t~ret6 := main(); {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L290 TraceCheckUtils]: 5: Hoare triple {10941#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L272 TraceCheckUtils]: 6: Hoare triple {10941#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L290 TraceCheckUtils]: 7: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L290 TraceCheckUtils]: 8: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L290 TraceCheckUtils]: 9: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10941#true} {10941#true} #91#return; {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L272 TraceCheckUtils]: 11: Hoare triple {10941#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,033 INFO L290 TraceCheckUtils]: 12: Hoare triple {10941#true} ~cond := #in~cond; {10982#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:51:45,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {10982#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10986#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:45,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {10986#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10986#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:51:45,034 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10986#(not (= |assume_abort_if_not_#in~cond| 0))} {10941#true} #93#return; {10993#(<= 1 main_~y~0)} is VALID [2022-04-27 11:51:45,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {10993#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,035 INFO L290 TraceCheckUtils]: 17: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,036 INFO L290 TraceCheckUtils]: 21: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,036 INFO L272 TraceCheckUtils]: 22: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,036 INFO L290 TraceCheckUtils]: 23: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:51:45,037 INFO L290 TraceCheckUtils]: 24: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:51:45,037 INFO L290 TraceCheckUtils]: 25: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,037 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #95#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,037 INFO L272 TraceCheckUtils]: 27: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,037 INFO L290 TraceCheckUtils]: 28: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:51:45,037 INFO L290 TraceCheckUtils]: 29: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:51:45,037 INFO L290 TraceCheckUtils]: 30: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,038 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #97#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,038 INFO L272 TraceCheckUtils]: 32: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,038 INFO L290 TraceCheckUtils]: 33: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:51:45,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:51:45,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,039 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #99#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,039 INFO L272 TraceCheckUtils]: 37: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,039 INFO L290 TraceCheckUtils]: 38: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:51:45,039 INFO L290 TraceCheckUtils]: 39: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:51:45,039 INFO L290 TraceCheckUtils]: 40: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,055 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #101#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,056 INFO L290 TraceCheckUtils]: 42: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,056 INFO L290 TraceCheckUtils]: 43: Hoare triple {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,057 INFO L272 TraceCheckUtils]: 44: Hoare triple {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,057 INFO L290 TraceCheckUtils]: 45: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:51:45,057 INFO L290 TraceCheckUtils]: 46: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:51:45,057 INFO L290 TraceCheckUtils]: 47: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,058 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10941#true} {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} #95#return; {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-27 11:51:45,058 INFO L272 TraceCheckUtils]: 49: Hoare triple {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,058 INFO L290 TraceCheckUtils]: 50: Hoare triple {10941#true} ~cond := #in~cond; {11102#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:45,058 INFO L290 TraceCheckUtils]: 51: Hoare triple {11102#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:45,059 INFO L290 TraceCheckUtils]: 52: Hoare triple {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:45,059 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} #97#return; {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-27 11:51:45,060 INFO L272 TraceCheckUtils]: 54: Hoare triple {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:51:45,060 INFO L290 TraceCheckUtils]: 55: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:51:45,060 INFO L290 TraceCheckUtils]: 56: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:51:45,060 INFO L290 TraceCheckUtils]: 57: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:51:45,060 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10941#true} {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} #99#return; {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-27 11:51:45,061 INFO L272 TraceCheckUtils]: 59: Hoare triple {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:45,061 INFO L290 TraceCheckUtils]: 60: Hoare triple {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11136#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:45,062 INFO L290 TraceCheckUtils]: 61: Hoare triple {11136#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10942#false} is VALID [2022-04-27 11:51:45,062 INFO L290 TraceCheckUtils]: 62: Hoare triple {10942#false} assume !false; {10942#false} is VALID [2022-04-27 11:51:45,062 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 31 proven. 9 refuted. 0 times theorem prover too weak. 67 trivial. 0 not checked. [2022-04-27 11:51:45,062 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:53:31,249 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) is different from true [2022-04-27 11:53:45,590 WARN L855 $PredicateComparison]: unable to prove that (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) (= c___VERIFIER_assert_~cond 0)) is different from true [2022-04-27 11:53:53,756 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0))))) is different from true [2022-04-27 11:53:54,045 INFO L290 TraceCheckUtils]: 62: Hoare triple {10942#false} assume !false; {10942#false} is VALID [2022-04-27 11:53:54,045 INFO L290 TraceCheckUtils]: 61: Hoare triple {11136#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10942#false} is VALID [2022-04-27 11:53:54,046 INFO L290 TraceCheckUtils]: 60: Hoare triple {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11136#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:53:54,046 INFO L272 TraceCheckUtils]: 59: Hoare triple {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:53:54,047 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10941#true} {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} #99#return; {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 11:53:54,047 INFO L290 TraceCheckUtils]: 57: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:54,047 INFO L290 TraceCheckUtils]: 56: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:54,047 INFO L290 TraceCheckUtils]: 55: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:54,047 INFO L272 TraceCheckUtils]: 54: Hoare triple {11152#(= 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)); {10941#true} is VALID [2022-04-27 11:53:56,209 WARN L284 TraceCheckUtils]: 53: Hoare quadruple {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #97#return; {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} is UNKNOWN [2022-04-27 11:53:56,210 INFO L290 TraceCheckUtils]: 52: Hoare triple {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} assume true; {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} is VALID [2022-04-27 11:53:56,211 INFO L290 TraceCheckUtils]: 51: Hoare triple {11182#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} is VALID [2022-04-27 11:53:56,211 INFO L290 TraceCheckUtils]: 50: Hoare triple {11186#(or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))} ~cond := #in~cond; {11182#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:53:58,214 WARN L272 TraceCheckUtils]: 49: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {11186#(or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))} is UNKNOWN [2022-04-27 11:53:58,215 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #95#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,215 INFO L290 TraceCheckUtils]: 47: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,215 INFO L290 TraceCheckUtils]: 46: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:58,216 INFO L290 TraceCheckUtils]: 45: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:58,216 INFO L272 TraceCheckUtils]: 44: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {10941#true} is VALID [2022-04-27 11:53:58,216 INFO L290 TraceCheckUtils]: 43: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !false; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,231 INFO L290 TraceCheckUtils]: 42: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,232 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #101#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:58,232 INFO L290 TraceCheckUtils]: 38: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:58,232 INFO L272 TraceCheckUtils]: 37: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:53:58,232 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #99#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,232 INFO L290 TraceCheckUtils]: 35: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:58,233 INFO L290 TraceCheckUtils]: 33: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:58,233 INFO L272 TraceCheckUtils]: 32: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {10941#true} is VALID [2022-04-27 11:53:58,233 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #97#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,233 INFO L290 TraceCheckUtils]: 30: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:58,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:58,233 INFO L272 TraceCheckUtils]: 27: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {10941#true} is VALID [2022-04-27 11:53:58,234 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #95#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:58,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:58,234 INFO L272 TraceCheckUtils]: 22: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {10941#true} is VALID [2022-04-27 11:53:58,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !false; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {10941#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {10941#true} assume !false; {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {10941#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {10941#true} assume !false; {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {10941#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10941#true} {10941#true} #93#return; {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:58,236 INFO L272 TraceCheckUtils]: 11: Hoare triple {10941#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10941#true} {10941#true} #91#return; {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {10941#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {10941#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {10941#true} call #t~ret6 := main(); {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10941#true} {10941#true} #105#return; {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {10941#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); {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {10941#true} call ULTIMATE.init(); {10941#true} is VALID [2022-04-27 11:53:58,237 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 34 proven. 0 refuted. 4 times theorem prover too weak. 67 trivial. 2 not checked. [2022-04-27 11:53:58,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:53:58,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [189681373] [2022-04-27 11:53:58,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:53:58,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [481221409] [2022-04-27 11:53:58,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [481221409] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:53:58,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:53:58,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-27 11:53:58,238 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [146371897] [2022-04-27 11:53:58,238 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:53:58,239 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 63 [2022-04-27 11:53:58,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:53:58,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:54:02,900 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 70 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 11:54:02,900 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 11:54:02,900 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:54:02,900 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 11:54:02,901 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=172, Unknown=3, NotChecked=84, Total=306 [2022-04-27 11:54:02,901 INFO L87 Difference]: Start difference. First operand 465 states and 705 transitions. Second operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:54:05,529 WARN L855 $PredicateComparison]: unable to prove that (and (<= 1 |c___VERIFIER_assert_#in~cond|) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) is different from true [2022-04-27 11:54:07,539 WARN L855 $PredicateComparison]: unable to prove that (and (<= 1 c___VERIFIER_assert_~cond) (= |c___VERIFIER_assert_#in~cond| c___VERIFIER_assert_~cond) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) (= c___VERIFIER_assert_~cond 0))) is different from true [2022-04-27 11:54:09,633 WARN L855 $PredicateComparison]: unable to prove that (and (= |c___VERIFIER_assert_#in~cond| c___VERIFIER_assert_~cond) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) (= c___VERIFIER_assert_~cond 0))) is different from true [2022-04-27 11:54:11,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:11,460 INFO L93 Difference]: Finished difference Result 512 states and 763 transitions. [2022-04-27 11:54:11,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-27 11:54:11,460 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 63 [2022-04-27 11:54:11,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:54:11,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:54:11,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 105 transitions. [2022-04-27 11:54:11,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:54:11,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 105 transitions. [2022-04-27 11:54:11,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 105 transitions. [2022-04-27 11:54:24,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 99 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-27 11:54:24,249 INFO L225 Difference]: With dead ends: 512 [2022-04-27 11:54:24,249 INFO L226 Difference]: Without dead ends: 510 [2022-04-27 11:54:24,250 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 108 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 6 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 12.2s TimeCoverageRelationStatistics Valid=75, Invalid=285, Unknown=6, NotChecked=234, Total=600 [2022-04-27 11:54:24,250 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 51 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 372 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 620 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 372 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 217 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:54:24,250 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 178 Invalid, 620 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 372 Invalid, 0 Unknown, 217 Unchecked, 0.7s Time] [2022-04-27 11:54:24,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 510 states. [2022-04-27 11:54:24,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 510 to 477. [2022-04-27 11:54:24,989 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:54:24,990 INFO L82 GeneralOperation]: Start isEquivalent. First operand 510 states. Second operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:54:24,990 INFO L74 IsIncluded]: Start isIncluded. First operand 510 states. Second operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:54:24,991 INFO L87 Difference]: Start difference. First operand 510 states. Second operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:54:25,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:25,006 INFO L93 Difference]: Finished difference Result 510 states and 761 transitions. [2022-04-27 11:54:25,006 INFO L276 IsEmpty]: Start isEmpty. Operand 510 states and 761 transitions. [2022-04-27 11:54:25,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:54:25,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:54:25,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 510 states. [2022-04-27 11:54:25,009 INFO L87 Difference]: Start difference. First operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 510 states. [2022-04-27 11:54:25,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:25,023 INFO L93 Difference]: Finished difference Result 510 states and 761 transitions. [2022-04-27 11:54:25,023 INFO L276 IsEmpty]: Start isEmpty. Operand 510 states and 761 transitions. [2022-04-27 11:54:25,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:54:25,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:54:25,025 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:54:25,025 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:54:25,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-27 11:54:25,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 477 states to 477 states and 715 transitions. [2022-04-27 11:54:25,042 INFO L78 Accepts]: Start accepts. Automaton has 477 states and 715 transitions. Word has length 63 [2022-04-27 11:54:25,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:54:25,042 INFO L495 AbstractCegarLoop]: Abstraction has 477 states and 715 transitions. [2022-04-27 11:54:25,042 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:54:25,042 INFO L276 IsEmpty]: Start isEmpty. Operand 477 states and 715 transitions. [2022-04-27 11:54:25,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-27 11:54:25,042 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:54:25,043 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 3, 3, 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] [2022-04-27 11:54:25,063 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-27 11:54:25,259 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-27 11:54:25,259 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:54:25,259 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:54:25,259 INFO L85 PathProgramCache]: Analyzing trace with hash -822265390, now seen corresponding path program 1 times [2022-04-27 11:54:25,259 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:54:25,259 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [581958815] [2022-04-27 11:54:25,259 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:54:25,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:54:25,269 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:54:25,269 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [855125232] [2022-04-27 11:54:25,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:54:25,269 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:54:25,269 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:54:25,274 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-27 11:54:25,274 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-27 11:54:25,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:54:25,316 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:54:25,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:54:25,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:54:25,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {13990#true} call ULTIMATE.init(); {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {13990#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); {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13990#true} {13990#true} #105#return; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L272 TraceCheckUtils]: 4: Hoare triple {13990#true} call #t~ret6 := main(); {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 5: Hoare triple {13990#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L272 TraceCheckUtils]: 6: Hoare triple {13990#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13990#true} {13990#true} #91#return; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L272 TraceCheckUtils]: 11: Hoare triple {13990#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 12: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 13: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 14: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13990#true} {13990#true} #93#return; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 16: Hoare triple {13990#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 17: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 18: Hoare triple {13990#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13990#true} is VALID [2022-04-27 11:54:25,589 INFO L290 TraceCheckUtils]: 19: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-27 11:54:25,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {13990#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 11:54:25,590 INFO L290 TraceCheckUtils]: 21: Hoare triple {14055#(<= main_~v~0 main_~b~0)} assume !false; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 11:54:25,590 INFO L272 TraceCheckUtils]: 22: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,590 INFO L290 TraceCheckUtils]: 23: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,590 INFO L290 TraceCheckUtils]: 24: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,590 INFO L290 TraceCheckUtils]: 25: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,591 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #95#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 11:54:25,591 INFO L272 TraceCheckUtils]: 27: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,591 INFO L290 TraceCheckUtils]: 28: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,591 INFO L290 TraceCheckUtils]: 29: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #97#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 11:54:25,592 INFO L272 TraceCheckUtils]: 32: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L290 TraceCheckUtils]: 33: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L290 TraceCheckUtils]: 34: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #99#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 11:54:25,592 INFO L272 TraceCheckUtils]: 37: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L290 TraceCheckUtils]: 38: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L290 TraceCheckUtils]: 39: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,592 INFO L290 TraceCheckUtils]: 40: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,593 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #101#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 11:54:25,593 INFO L290 TraceCheckUtils]: 42: Hoare triple {14055#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {14122#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 11:54:25,594 INFO L290 TraceCheckUtils]: 43: Hoare triple {14122#(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; {14126#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 11:54:25,594 INFO L290 TraceCheckUtils]: 44: Hoare triple {14126#(< main_~c~0 main_~b~0)} assume !false; {14126#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 11:54:25,594 INFO L290 TraceCheckUtils]: 45: Hoare triple {14126#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {14126#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 11:54:25,595 INFO L290 TraceCheckUtils]: 46: Hoare triple {14126#(< 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; {14136#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 11:54:25,595 INFO L290 TraceCheckUtils]: 47: Hoare triple {14136#(< main_~b~0 main_~a~0)} assume !false; {14136#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 11:54:25,595 INFO L290 TraceCheckUtils]: 48: Hoare triple {14136#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {14143#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:54:25,596 INFO L290 TraceCheckUtils]: 49: Hoare triple {14143#(< main_~b~0 main_~c~0)} assume !false; {14143#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:54:25,596 INFO L290 TraceCheckUtils]: 50: Hoare triple {14143#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {13991#false} is VALID [2022-04-27 11:54:25,596 INFO L290 TraceCheckUtils]: 51: Hoare triple {13991#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; {13991#false} is VALID [2022-04-27 11:54:25,596 INFO L290 TraceCheckUtils]: 52: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,596 INFO L290 TraceCheckUtils]: 53: Hoare triple {13991#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13991#false} is VALID [2022-04-27 11:54:25,596 INFO L290 TraceCheckUtils]: 54: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,597 INFO L290 TraceCheckUtils]: 55: Hoare triple {13991#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13991#false} is VALID [2022-04-27 11:54:25,597 INFO L290 TraceCheckUtils]: 56: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,597 INFO L272 TraceCheckUtils]: 57: Hoare triple {13991#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13991#false} is VALID [2022-04-27 11:54:25,597 INFO L290 TraceCheckUtils]: 58: Hoare triple {13991#false} ~cond := #in~cond; {13991#false} is VALID [2022-04-27 11:54:25,597 INFO L290 TraceCheckUtils]: 59: Hoare triple {13991#false} assume 0 == ~cond; {13991#false} is VALID [2022-04-27 11:54:25,597 INFO L290 TraceCheckUtils]: 60: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,597 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 11:54:25,597 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 60: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 59: Hoare triple {13991#false} assume 0 == ~cond; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 58: Hoare triple {13991#false} ~cond := #in~cond; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L272 TraceCheckUtils]: 57: Hoare triple {13991#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 56: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 55: Hoare triple {13991#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 54: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 53: Hoare triple {13991#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 52: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-27 11:54:25,885 INFO L290 TraceCheckUtils]: 51: Hoare triple {13991#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; {13991#false} is VALID [2022-04-27 11:54:25,895 INFO L290 TraceCheckUtils]: 50: Hoare triple {14210#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {13991#false} is VALID [2022-04-27 11:54:25,895 INFO L290 TraceCheckUtils]: 49: Hoare triple {14210#(<= main_~b~0 main_~c~0)} assume !false; {14210#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 11:54:25,896 INFO L290 TraceCheckUtils]: 48: Hoare triple {14217#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {14210#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 11:54:25,896 INFO L290 TraceCheckUtils]: 47: Hoare triple {14217#(<= main_~b~0 main_~a~0)} assume !false; {14217#(<= main_~b~0 main_~a~0)} is VALID [2022-04-27 11:54:25,896 INFO L290 TraceCheckUtils]: 46: Hoare triple {14224#(<= 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; {14217#(<= main_~b~0 main_~a~0)} is VALID [2022-04-27 11:54:25,897 INFO L290 TraceCheckUtils]: 45: Hoare triple {14224#(<= main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {14224#(<= main_~c~0 main_~b~0)} is VALID [2022-04-27 11:54:25,897 INFO L290 TraceCheckUtils]: 44: Hoare triple {14224#(<= main_~c~0 main_~b~0)} assume !false; {14224#(<= main_~c~0 main_~b~0)} is VALID [2022-04-27 11:54:25,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {14234#(<= main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {14224#(<= main_~c~0 main_~b~0)} is VALID [2022-04-27 11:54:25,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} assume !(~c~0 >= 2 * ~v~0); {14234#(<= main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-27 11:54:25,899 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #101#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-27 11:54:25,899 INFO L290 TraceCheckUtils]: 40: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,899 INFO L290 TraceCheckUtils]: 38: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,899 INFO L272 TraceCheckUtils]: 37: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,899 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #99#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-27 11:54:25,899 INFO L290 TraceCheckUtils]: 35: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,900 INFO L290 TraceCheckUtils]: 34: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,900 INFO L290 TraceCheckUtils]: 33: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,900 INFO L272 TraceCheckUtils]: 32: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,900 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #97#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-27 11:54:25,900 INFO L290 TraceCheckUtils]: 30: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,900 INFO L290 TraceCheckUtils]: 28: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,900 INFO L272 TraceCheckUtils]: 27: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,901 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #95#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-27 11:54:25,901 INFO L290 TraceCheckUtils]: 25: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,901 INFO L290 TraceCheckUtils]: 24: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,901 INFO L290 TraceCheckUtils]: 23: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,901 INFO L272 TraceCheckUtils]: 22: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,901 INFO L290 TraceCheckUtils]: 21: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} assume !false; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {13990#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 19: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 18: Hoare triple {13990#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 16: Hoare triple {13990#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13990#true} {13990#true} #93#return; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 14: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 13: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 12: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L272 TraceCheckUtils]: 11: Hoare triple {13990#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13990#true} {13990#true} #91#return; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 7: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L272 TraceCheckUtils]: 6: Hoare triple {13990#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {13990#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {13990#true} call #t~ret6 := main(); {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13990#true} {13990#true} #105#return; {13990#true} is VALID [2022-04-27 11:54:25,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-27 11:54:25,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {13990#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); {13990#true} is VALID [2022-04-27 11:54:25,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {13990#true} call ULTIMATE.init(); {13990#true} is VALID [2022-04-27 11:54:25,903 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 11:54:25,903 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:54:25,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [581958815] [2022-04-27 11:54:25,903 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:54:25,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [855125232] [2022-04-27 11:54:25,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [855125232] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:54:25,903 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:54:25,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-27 11:54:25,903 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [625905983] [2022-04-27 11:54:25,903 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:54:25,904 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 61 [2022-04-27 11:54:25,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:54:25,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 11:54:25,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:54:25,961 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 11:54:25,961 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:54:25,962 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 11:54:25,962 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-27 11:54:25,962 INFO L87 Difference]: Start difference. First operand 477 states and 715 transitions. Second operand has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 11:54:28,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:28,667 INFO L93 Difference]: Finished difference Result 722 states and 1065 transitions. [2022-04-27 11:54:28,667 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 11:54:28,667 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 61 [2022-04-27 11:54:28,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:54:28,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 11:54:28,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 141 transitions. [2022-04-27 11:54:28,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 11:54:28,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 141 transitions. [2022-04-27 11:54:28,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 141 transitions. [2022-04-27 11:54:28,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:54:28,806 INFO L225 Difference]: With dead ends: 722 [2022-04-27 11:54:28,807 INFO L226 Difference]: Without dead ends: 337 [2022-04-27 11:54:28,808 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 115 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 80 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=137, Invalid=415, Unknown=0, NotChecked=0, Total=552 [2022-04-27 11:54:28,809 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 38 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 308 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 250 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 308 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:54:28,809 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 250 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 308 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 11:54:28,809 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-04-27 11:54:29,336 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 317. [2022-04-27 11:54:29,336 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:54:29,337 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:54:29,337 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:54:29,337 INFO L87 Difference]: Start difference. First operand 337 states. Second operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:54:29,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:29,344 INFO L93 Difference]: Finished difference Result 337 states and 461 transitions. [2022-04-27 11:54:29,344 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 461 transitions. [2022-04-27 11:54:29,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:54:29,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:54:29,345 INFO L74 IsIncluded]: Start isIncluded. First operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 337 states. [2022-04-27 11:54:29,345 INFO L87 Difference]: Start difference. First operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 337 states. [2022-04-27 11:54:29,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:29,352 INFO L93 Difference]: Finished difference Result 337 states and 461 transitions. [2022-04-27 11:54:29,352 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 461 transitions. [2022-04-27 11:54:29,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:54:29,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:54:29,353 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:54:29,353 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:54:29,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:54:29,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 317 states to 317 states and 441 transitions. [2022-04-27 11:54:29,361 INFO L78 Accepts]: Start accepts. Automaton has 317 states and 441 transitions. Word has length 61 [2022-04-27 11:54:29,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:54:29,361 INFO L495 AbstractCegarLoop]: Abstraction has 317 states and 441 transitions. [2022-04-27 11:54:29,361 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 11:54:29,361 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 441 transitions. [2022-04-27 11:54:29,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-27 11:54:29,361 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:54:29,361 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:54:29,378 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-27 11:54:29,574 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-27 11:54:29,574 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:54:29,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:54:29,574 INFO L85 PathProgramCache]: Analyzing trace with hash -1735826638, now seen corresponding path program 2 times [2022-04-27 11:54:29,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:54:29,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2117237260] [2022-04-27 11:54:29,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:54:29,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:54:29,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:54:29,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [546274854] [2022-04-27 11:54:29,587 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:54:29,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:54:29,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:54:29,593 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-27 11:54:29,594 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-27 11:54:29,638 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:54:29,638 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:54:29,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 69 conjunts are in the unsatisfiable core [2022-04-27 11:54:29,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:54:29,655 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:54:45,607 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:54:53,705 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:54:54,193 INFO L272 TraceCheckUtils]: 0: Hoare triple {16727#true} call ULTIMATE.init(); {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {16727#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); {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16727#true} {16727#true} #105#return; {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {16727#true} call #t~ret6 := main(); {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {16727#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L272 TraceCheckUtils]: 6: Hoare triple {16727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16727#true} {16727#true} #91#return; {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L272 TraceCheckUtils]: 11: Hoare triple {16727#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:54:54,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:54:54,194 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16727#true} {16727#true} #93#return; {16727#true} is VALID [2022-04-27 11:54:54,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {16727#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16780#(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))} is VALID [2022-04-27 11:54:54,194 INFO L290 TraceCheckUtils]: 17: Hoare triple {16780#(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))} assume !false; {16780#(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))} is VALID [2022-04-27 11:54:54,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {16780#(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))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:54:54,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:54:54,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:54:54,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~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; {16797#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:54:54,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {16797#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {16797#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:54:54,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {16797#(and (= main_~s~0 0) (= 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; {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:54:54,197 INFO L290 TraceCheckUtils]: 24: Hoare triple {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:54:54,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~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; {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 11:54:54,197 INFO L290 TraceCheckUtils]: 26: Hoare triple {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 11:54:54,197 INFO L272 TraceCheckUtils]: 27: Hoare triple {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:54:54,198 INFO L290 TraceCheckUtils]: 28: Hoare triple {16727#true} ~cond := #in~cond; {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:54,198 INFO L290 TraceCheckUtils]: 29: Hoare triple {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:54,198 INFO L290 TraceCheckUtils]: 30: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:54,199 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #95#return; {16832#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,199 INFO L272 TraceCheckUtils]: 32: Hoare triple {16832#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:54:54,199 INFO L290 TraceCheckUtils]: 33: Hoare triple {16727#true} ~cond := #in~cond; {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:54,200 INFO L290 TraceCheckUtils]: 34: Hoare triple {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:54,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:54,201 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {16832#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,201 INFO L272 TraceCheckUtils]: 37: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:54:54,201 INFO L290 TraceCheckUtils]: 38: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:54:54,201 INFO L290 TraceCheckUtils]: 39: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:54:54,201 INFO L290 TraceCheckUtils]: 40: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:54:54,202 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16727#true} {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #99#return; {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,202 INFO L272 TraceCheckUtils]: 42: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:54:54,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:54:54,202 INFO L290 TraceCheckUtils]: 44: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:54:54,202 INFO L290 TraceCheckUtils]: 45: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:54:54,202 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16727#true} {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #101#return; {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,203 INFO L290 TraceCheckUtils]: 47: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,204 INFO L290 TraceCheckUtils]: 48: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,204 INFO L290 TraceCheckUtils]: 49: Hoare triple {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,205 INFO L290 TraceCheckUtils]: 50: Hoare triple {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:54:54,210 INFO L290 TraceCheckUtils]: 51: Hoare triple {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} is VALID [2022-04-27 11:54:54,211 INFO L290 TraceCheckUtils]: 52: Hoare triple {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} assume !false; {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} is VALID [2022-04-27 11:54:54,212 INFO L290 TraceCheckUtils]: 53: Hoare triple {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-27 11:54:54,213 INFO L290 TraceCheckUtils]: 54: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} assume !false; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-27 11:54:54,214 INFO L290 TraceCheckUtils]: 55: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-27 11:54:54,214 INFO L290 TraceCheckUtils]: 56: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} assume !false; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-27 11:54:54,214 INFO L272 TraceCheckUtils]: 57: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:54:54,214 INFO L290 TraceCheckUtils]: 58: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:54:54,215 INFO L290 TraceCheckUtils]: 59: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:54:54,215 INFO L290 TraceCheckUtils]: 60: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:54:54,215 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16727#true} {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} #95#return; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-27 11:54:54,216 INFO L272 TraceCheckUtils]: 62: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:54:54,216 INFO L290 TraceCheckUtils]: 63: Hoare triple {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16934#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:54,217 INFO L290 TraceCheckUtils]: 64: Hoare triple {16934#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16728#false} is VALID [2022-04-27 11:54:54,217 INFO L290 TraceCheckUtils]: 65: Hoare triple {16728#false} assume !false; {16728#false} is VALID [2022-04-27 11:54:54,217 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-27 11:54:54,217 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:55:15,713 INFO L290 TraceCheckUtils]: 65: Hoare triple {16728#false} assume !false; {16728#false} is VALID [2022-04-27 11:55:15,714 INFO L290 TraceCheckUtils]: 64: Hoare triple {16934#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16728#false} is VALID [2022-04-27 11:55:15,714 INFO L290 TraceCheckUtils]: 63: Hoare triple {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16934#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:15,715 INFO L272 TraceCheckUtils]: 62: Hoare triple {16950#(= 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)); {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:55:15,715 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16727#true} {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #95#return; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:55:15,715 INFO L290 TraceCheckUtils]: 60: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:55:15,715 INFO L290 TraceCheckUtils]: 59: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:55:15,715 INFO L290 TraceCheckUtils]: 58: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:55:15,716 INFO L272 TraceCheckUtils]: 57: Hoare triple {16950#(= 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)); {16727#true} is VALID [2022-04-27 11:55:15,716 INFO L290 TraceCheckUtils]: 56: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:55:15,716 INFO L290 TraceCheckUtils]: 55: Hoare triple {16950#(= 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; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:55:15,716 INFO L290 TraceCheckUtils]: 54: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:55:15,717 INFO L290 TraceCheckUtils]: 53: Hoare triple {16950#(= 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; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:55:15,717 INFO L290 TraceCheckUtils]: 52: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:55:17,719 WARN L290 TraceCheckUtils]: 51: Hoare triple {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-27 11:55:17,720 INFO L290 TraceCheckUtils]: 50: Hoare triple {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-27 11:55:17,720 INFO L290 TraceCheckUtils]: 49: Hoare triple {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-27 11:55:18,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-27 11:55:18,255 INFO L290 TraceCheckUtils]: 47: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:55:18,256 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16727#true} {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #101#return; {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:55:18,256 INFO L290 TraceCheckUtils]: 45: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:55:18,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:55:18,256 INFO L290 TraceCheckUtils]: 43: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:55:18,256 INFO L272 TraceCheckUtils]: 42: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:55:18,257 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16727#true} {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:55:18,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:55:18,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:55:18,257 INFO L290 TraceCheckUtils]: 38: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:55:18,257 INFO L272 TraceCheckUtils]: 37: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:55:18,258 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {17031#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #97#return; {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:55:18,258 INFO L290 TraceCheckUtils]: 35: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:18,259 INFO L290 TraceCheckUtils]: 34: Hoare triple {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:18,259 INFO L290 TraceCheckUtils]: 33: Hoare triple {16727#true} ~cond := #in~cond; {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:55:18,259 INFO L272 TraceCheckUtils]: 32: Hoare triple {17031#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:55:18,260 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {17031#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:18,260 INFO L290 TraceCheckUtils]: 30: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:18,260 INFO L290 TraceCheckUtils]: 29: Hoare triple {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:18,261 INFO L290 TraceCheckUtils]: 28: Hoare triple {16727#true} ~cond := #in~cond; {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:55:18,261 INFO L272 TraceCheckUtils]: 27: Hoare triple {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:55:18,261 INFO L290 TraceCheckUtils]: 26: Hoare triple {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:18,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:18,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 23: Hoare triple {16727#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 22: Hoare triple {16727#true} assume !false; {16727#true} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 21: Hoare triple {16727#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; {16727#true} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {16727#true} assume !(~c~0 >= ~b~0); {16727#true} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 19: Hoare triple {16727#true} assume !false; {16727#true} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 18: Hoare triple {16727#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16727#true} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 17: Hoare triple {16727#true} assume !false; {16727#true} is VALID [2022-04-27 11:55:18,263 INFO L290 TraceCheckUtils]: 16: Hoare triple {16727#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16727#true} {16727#true} #93#return; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 12: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L272 TraceCheckUtils]: 11: Hoare triple {16727#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16727#true} {16727#true} #91#return; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {16727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {16727#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {16727#true} call #t~ret6 := main(); {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16727#true} {16727#true} #105#return; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {16727#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); {16727#true} is VALID [2022-04-27 11:55:18,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {16727#true} call ULTIMATE.init(); {16727#true} is VALID [2022-04-27 11:55:18,265 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 21 proven. 27 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 11:55:18,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:55:18,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2117237260] [2022-04-27 11:55:18,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:55:18,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [546274854] [2022-04-27 11:55:18,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [546274854] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:55:18,265 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:55:18,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-27 11:55:18,265 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2031266950] [2022-04-27 11:55:18,265 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:55:18,266 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) Word has length 66 [2022-04-27 11:55:18,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:55:18,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-27 11:55:20,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:55:20,114 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-27 11:55:20,115 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:55:20,115 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-27 11:55:20,115 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=426, Unknown=0, NotChecked=0, Total=506 [2022-04-27 11:55:20,115 INFO L87 Difference]: Start difference. First operand 317 states and 441 transitions. Second operand has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-27 11:55:33,222 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:55:40,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:40,663 INFO L93 Difference]: Finished difference Result 369 states and 510 transitions. [2022-04-27 11:55:40,663 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-27 11:55:40,663 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) Word has length 66 [2022-04-27 11:55:40,663 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:55:40,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-27 11:55:40,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 156 transitions. [2022-04-27 11:55:40,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-27 11:55:40,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 156 transitions. [2022-04-27 11:55:40,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 156 transitions. [2022-04-27 11:55:43,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 155 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 11:55:43,678 INFO L225 Difference]: With dead ends: 369 [2022-04-27 11:55:43,678 INFO L226 Difference]: Without dead ends: 367 [2022-04-27 11:55:43,679 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 115 SyntacticMatches, 1 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 261 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=252, Invalid=1230, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:55:43,679 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 86 mSDsluCounter, 359 mSDsCounter, 0 mSdLazyCounter, 973 mSolverCounterSat, 182 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 409 SdHoareTripleChecker+Invalid, 1156 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 182 IncrementalHoareTripleChecker+Valid, 973 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:55:43,679 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 409 Invalid, 1156 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [182 Valid, 973 Invalid, 1 Unknown, 0 Unchecked, 9.2s Time] [2022-04-27 11:55:43,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2022-04-27 11:55:44,240 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 333. [2022-04-27 11:55:44,240 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:55:44,240 INFO L82 GeneralOperation]: Start isEquivalent. First operand 367 states. Second operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:55:44,241 INFO L74 IsIncluded]: Start isIncluded. First operand 367 states. Second operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:55:44,241 INFO L87 Difference]: Start difference. First operand 367 states. Second operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:55:44,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:44,249 INFO L93 Difference]: Finished difference Result 367 states and 507 transitions. [2022-04-27 11:55:44,249 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 507 transitions. [2022-04-27 11:55:44,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:55:44,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:55:44,250 INFO L74 IsIncluded]: Start isIncluded. First operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 367 states. [2022-04-27 11:55:44,250 INFO L87 Difference]: Start difference. First operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 367 states. [2022-04-27 11:55:44,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:55:44,258 INFO L93 Difference]: Finished difference Result 367 states and 507 transitions. [2022-04-27 11:55:44,258 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 507 transitions. [2022-04-27 11:55:44,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:55:44,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:55:44,259 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:55:44,259 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:55:44,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-27 11:55:44,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 333 states to 333 states and 452 transitions. [2022-04-27 11:55:44,267 INFO L78 Accepts]: Start accepts. Automaton has 333 states and 452 transitions. Word has length 66 [2022-04-27 11:55:44,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:55:44,267 INFO L495 AbstractCegarLoop]: Abstraction has 333 states and 452 transitions. [2022-04-27 11:55:44,267 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-27 11:55:44,267 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 452 transitions. [2022-04-27 11:55:44,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-27 11:55:44,268 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:55:44,268 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 2, 2, 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] [2022-04-27 11:55:44,284 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-27 11:55:44,483 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-27 11:55:44,483 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:55:44,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:55:44,484 INFO L85 PathProgramCache]: Analyzing trace with hash 2103910188, now seen corresponding path program 1 times [2022-04-27 11:55:44,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:55:44,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [37451907] [2022-04-27 11:55:44,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:55:44,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:55:44,496 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:55:44,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [435872460] [2022-04-27 11:55:44,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:55:44,496 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:55:44,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:55:44,502 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-27 11:55:44,503 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-27 11:55:44,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:55:44,551 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 84 conjunts are in the unsatisfiable core [2022-04-27 11:55:44,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:55:44,565 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:55:45,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {19012#true} call ULTIMATE.init(); {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {19012#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); {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 2: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19012#true} {19012#true} #105#return; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L272 TraceCheckUtils]: 4: Hoare triple {19012#true} call #t~ret6 := main(); {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {19012#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L272 TraceCheckUtils]: 6: Hoare triple {19012#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19012#true} {19012#true} #91#return; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L272 TraceCheckUtils]: 11: Hoare triple {19012#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 12: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,924 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19012#true} {19012#true} #93#return; {19012#true} is VALID [2022-04-27 11:55:45,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {19012#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19065#(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-27 11:55:45,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {19065#(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; {19065#(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-27 11:55:45,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {19065#(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; {19072#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:55:45,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {19072#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {19072#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:55:45,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {19072#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {19072#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:55:45,927 INFO L290 TraceCheckUtils]: 21: Hoare triple {19072#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {19082#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,927 INFO L290 TraceCheckUtils]: 22: Hoare triple {19082#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {19082#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,927 INFO L290 TraceCheckUtils]: 23: Hoare triple {19082#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19089#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {19089#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {19089#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {19089#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~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; {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,928 INFO L290 TraceCheckUtils]: 26: Hoare triple {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,928 INFO L272 TraceCheckUtils]: 27: Hoare triple {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,928 INFO L290 TraceCheckUtils]: 28: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:55:45,929 INFO L290 TraceCheckUtils]: 29: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:55:45,929 INFO L290 TraceCheckUtils]: 30: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,929 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {19012#true} {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #95#return; {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,929 INFO L272 TraceCheckUtils]: 32: Hoare triple {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,929 INFO L290 TraceCheckUtils]: 33: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:55:45,929 INFO L290 TraceCheckUtils]: 34: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:55:45,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,930 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19012#true} {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #97#return; {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,930 INFO L272 TraceCheckUtils]: 37: Hoare triple {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,930 INFO L290 TraceCheckUtils]: 38: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:55:45,930 INFO L290 TraceCheckUtils]: 39: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:55:45,930 INFO L290 TraceCheckUtils]: 40: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,931 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19012#true} {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #99#return; {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,931 INFO L272 TraceCheckUtils]: 42: Hoare triple {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,931 INFO L290 TraceCheckUtils]: 43: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:55:45,931 INFO L290 TraceCheckUtils]: 44: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:55:45,931 INFO L290 TraceCheckUtils]: 45: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,932 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19012#true} {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #101#return; {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,932 INFO L290 TraceCheckUtils]: 47: Hoare triple {19096#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {19163#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,933 INFO L290 TraceCheckUtils]: 48: Hoare triple {19163#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} assume !false; {19163#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,933 INFO L272 TraceCheckUtils]: 49: Hoare triple {19163#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,933 INFO L290 TraceCheckUtils]: 50: Hoare triple {19012#true} ~cond := #in~cond; {19173#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:45,933 INFO L290 TraceCheckUtils]: 51: Hoare triple {19173#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:45,934 INFO L290 TraceCheckUtils]: 52: Hoare triple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:45,934 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} {19163#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} #95#return; {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:55:45,935 INFO L272 TraceCheckUtils]: 54: Hoare triple {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,935 INFO L290 TraceCheckUtils]: 55: Hoare triple {19012#true} ~cond := #in~cond; {19173#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:45,935 INFO L290 TraceCheckUtils]: 56: Hoare triple {19173#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:45,935 INFO L290 TraceCheckUtils]: 57: Hoare triple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:45,936 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:55:45,936 INFO L272 TraceCheckUtils]: 59: Hoare triple {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,936 INFO L290 TraceCheckUtils]: 60: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:55:45,936 INFO L290 TraceCheckUtils]: 61: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:55:45,936 INFO L290 TraceCheckUtils]: 62: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:55:45,937 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {19012#true} {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #99#return; {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:55:45,937 INFO L272 TraceCheckUtils]: 64: Hoare triple {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:55:45,937 INFO L290 TraceCheckUtils]: 65: Hoare triple {19012#true} ~cond := #in~cond; {19173#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:45,937 INFO L290 TraceCheckUtils]: 66: Hoare triple {19173#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:45,938 INFO L290 TraceCheckUtils]: 67: Hoare triple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:45,939 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #101#return; {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:55:45,939 INFO L290 TraceCheckUtils]: 69: Hoare triple {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 11:55:45,940 INFO L290 TraceCheckUtils]: 70: Hoare triple {19184#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {19236#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,941 INFO L290 TraceCheckUtils]: 71: Hoare triple {19236#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !false; {19236#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,941 INFO L290 TraceCheckUtils]: 72: Hoare triple {19236#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {19236#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 11:55:45,942 INFO L290 TraceCheckUtils]: 73: Hoare triple {19236#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~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; {19246#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-27 11:55:45,942 INFO L290 TraceCheckUtils]: 74: Hoare triple {19246#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} assume !false; {19246#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-27 11:55:45,942 INFO L290 TraceCheckUtils]: 75: Hoare triple {19246#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} assume !(0 != ~b~0); {19253#(and (= main_~r~0 0) (= (+ main_~y~0 (* (- 2) main_~a~0)) 0) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-27 11:55:45,943 INFO L272 TraceCheckUtils]: 76: Hoare triple {19253#(and (= main_~r~0 0) (= (+ main_~y~0 (* (- 2) main_~a~0)) 0) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 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)); {19257#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:55:45,943 INFO L290 TraceCheckUtils]: 77: Hoare triple {19257#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19261#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:45,944 INFO L290 TraceCheckUtils]: 78: Hoare triple {19261#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19013#false} is VALID [2022-04-27 11:55:45,944 INFO L290 TraceCheckUtils]: 79: Hoare triple {19013#false} assume !false; {19013#false} is VALID [2022-04-27 11:55:45,944 INFO L134 CoverageAnalysis]: Checked inductivity of 151 backedges. 52 proven. 28 refuted. 0 times theorem prover too weak. 71 trivial. 0 not checked. [2022-04-27 11:55:45,944 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:56:26,589 INFO L290 TraceCheckUtils]: 79: Hoare triple {19013#false} assume !false; {19013#false} is VALID [2022-04-27 11:56:26,590 INFO L290 TraceCheckUtils]: 78: Hoare triple {19261#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19013#false} is VALID [2022-04-27 11:56:26,590 INFO L290 TraceCheckUtils]: 77: Hoare triple {19257#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19261#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:56:26,591 INFO L272 TraceCheckUtils]: 76: Hoare triple {19277#(= (+ (* 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)); {19257#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:56:26,591 INFO L290 TraceCheckUtils]: 75: Hoare triple {19281#(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); {19277#(= (+ (* 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-27 11:56:26,592 INFO L290 TraceCheckUtils]: 74: Hoare triple {19281#(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; {19281#(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-27 11:56:26,789 INFO L290 TraceCheckUtils]: 73: Hoare triple {19288#(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; {19281#(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-27 11:56:26,790 INFO L290 TraceCheckUtils]: 72: Hoare triple {19288#(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); {19288#(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-27 11:56:26,790 INFO L290 TraceCheckUtils]: 71: Hoare triple {19288#(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; {19288#(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-27 11:56:26,828 INFO L290 TraceCheckUtils]: 70: Hoare triple {19298#(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; {19288#(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-27 11:56:26,828 INFO L290 TraceCheckUtils]: 69: Hoare triple {19298#(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); {19298#(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-27 11:56:26,829 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} {19305#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #101#return; {19298#(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-27 11:56:26,829 INFO L290 TraceCheckUtils]: 67: Hoare triple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:56:26,830 INFO L290 TraceCheckUtils]: 66: Hoare triple {19315#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:56:26,830 INFO L290 TraceCheckUtils]: 65: Hoare triple {19012#true} ~cond := #in~cond; {19315#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:56:26,830 INFO L272 TraceCheckUtils]: 64: Hoare triple {19305#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:26,831 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {19012#true} {19305#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #99#return; {19305#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 11:56:26,831 INFO L290 TraceCheckUtils]: 62: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:26,831 INFO L290 TraceCheckUtils]: 61: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:56:26,831 INFO L290 TraceCheckUtils]: 60: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:56:26,831 INFO L272 TraceCheckUtils]: 59: Hoare triple {19305#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:26,832 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} {19337#(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)))) (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))))} #97#return; {19305#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 11:56:26,832 INFO L290 TraceCheckUtils]: 57: Hoare triple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:56:26,832 INFO L290 TraceCheckUtils]: 56: Hoare triple {19315#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:56:26,833 INFO L290 TraceCheckUtils]: 55: Hoare triple {19012#true} ~cond := #in~cond; {19315#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:56:26,833 INFO L272 TraceCheckUtils]: 54: Hoare triple {19337#(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)))) (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)); {19012#true} is VALID [2022-04-27 11:56:26,834 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} {19353#(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)))) (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))))} #95#return; {19337#(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)))) (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-27 11:56:26,834 INFO L290 TraceCheckUtils]: 52: Hoare triple {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:56:26,834 INFO L290 TraceCheckUtils]: 51: Hoare triple {19315#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19177#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:56:26,834 INFO L290 TraceCheckUtils]: 50: Hoare triple {19012#true} ~cond := #in~cond; {19315#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:56:26,834 INFO L272 TraceCheckUtils]: 49: Hoare triple {19353#(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)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:26,835 INFO L290 TraceCheckUtils]: 48: Hoare triple {19353#(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)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {19353#(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)))) (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-27 11:56:27,105 INFO L290 TraceCheckUtils]: 47: Hoare triple {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {19353#(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)))) (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-27 11:56:27,106 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19012#true} {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #101#return; {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 11:56:27,106 INFO L290 TraceCheckUtils]: 45: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:27,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:56:27,106 INFO L290 TraceCheckUtils]: 43: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:56:27,106 INFO L272 TraceCheckUtils]: 42: Hoare triple {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:27,107 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19012#true} {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #99#return; {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 11:56:27,107 INFO L290 TraceCheckUtils]: 40: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:27,107 INFO L290 TraceCheckUtils]: 39: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:56:27,107 INFO L290 TraceCheckUtils]: 38: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:56:27,107 INFO L272 TraceCheckUtils]: 37: Hoare triple {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:27,108 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19012#true} {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #97#return; {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 11:56:27,108 INFO L290 TraceCheckUtils]: 35: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:27,108 INFO L290 TraceCheckUtils]: 34: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:56:27,108 INFO L290 TraceCheckUtils]: 33: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:56:27,108 INFO L272 TraceCheckUtils]: 32: Hoare triple {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:27,108 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {19012#true} {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #95#return; {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 11:56:27,109 INFO L290 TraceCheckUtils]: 30: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:27,109 INFO L290 TraceCheckUtils]: 29: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:56:27,109 INFO L290 TraceCheckUtils]: 28: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:56:27,109 INFO L272 TraceCheckUtils]: 27: Hoare triple {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:27,109 INFO L290 TraceCheckUtils]: 26: Hoare triple {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !false; {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 11:56:27,110 INFO L290 TraceCheckUtils]: 25: Hoare triple {19439#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {19372#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 11:56:27,111 INFO L290 TraceCheckUtils]: 24: Hoare triple {19439#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {19439#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-27 11:56:27,112 INFO L290 TraceCheckUtils]: 23: Hoare triple {19012#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19439#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-27 11:56:27,112 INFO L290 TraceCheckUtils]: 22: Hoare triple {19012#true} assume !false; {19012#true} is VALID [2022-04-27 11:56:27,112 INFO L290 TraceCheckUtils]: 21: Hoare triple {19012#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; {19012#true} is VALID [2022-04-27 11:56:27,112 INFO L290 TraceCheckUtils]: 20: Hoare triple {19012#true} assume !(~c~0 >= ~b~0); {19012#true} is VALID [2022-04-27 11:56:27,112 INFO L290 TraceCheckUtils]: 19: Hoare triple {19012#true} assume !false; {19012#true} is VALID [2022-04-27 11:56:27,112 INFO L290 TraceCheckUtils]: 18: Hoare triple {19012#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19012#true} is VALID [2022-04-27 11:56:27,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {19012#true} assume !false; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 16: Hoare triple {19012#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19012#true} {19012#true} #93#return; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L272 TraceCheckUtils]: 11: Hoare triple {19012#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19012#true} {19012#true} #91#return; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {19012#true} assume !(0 == ~cond); {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {19012#true} ~cond := #in~cond; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L272 TraceCheckUtils]: 6: Hoare triple {19012#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {19012#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {19012#true} call #t~ret6 := main(); {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19012#true} {19012#true} #105#return; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {19012#true} assume true; {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {19012#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); {19012#true} is VALID [2022-04-27 11:56:27,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {19012#true} call ULTIMATE.init(); {19012#true} is VALID [2022-04-27 11:56:27,114 INFO L134 CoverageAnalysis]: Checked inductivity of 151 backedges. 61 proven. 17 refuted. 0 times theorem prover too weak. 73 trivial. 0 not checked. [2022-04-27 11:56:27,114 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:56:27,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [37451907] [2022-04-27 11:56:27,114 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:56:27,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [435872460] [2022-04-27 11:56:27,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [435872460] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:56:27,114 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:56:27,114 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15] total 26 [2022-04-27 11:56:27,114 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1275176069] [2022-04-27 11:56:27,114 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:56:27,115 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) Word has length 80 [2022-04-27 11:56:27,115 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:56:27,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-27 11:56:28,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:56:28,117 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-27 11:56:28,117 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:56:28,117 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-27 11:56:28,117 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=537, Unknown=0, NotChecked=0, Total=650 [2022-04-27 11:56:28,117 INFO L87 Difference]: Start difference. First operand 333 states and 452 transitions. Second operand has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-27 11:56:40,347 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:56:44,364 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:56:59,429 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:04,186 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.29s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:08,108 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.68s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:25,343 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:27,781 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.16s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:31,871 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:33,895 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:41,102 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:43,802 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.42s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:49,775 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:53,179 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:53,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:57:53,309 INFO L93 Difference]: Finished difference Result 539 states and 773 transitions. [2022-04-27 11:57:53,309 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 52 states. [2022-04-27 11:57:53,309 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) Word has length 80 [2022-04-27 11:57:53,309 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:57:53,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-27 11:57:53,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 297 transitions. [2022-04-27 11:57:53,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-27 11:57:53,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 297 transitions. [2022-04-27 11:57:53,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 297 transitions. [2022-04-27 11:58:13,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 297 edges. 293 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-27 11:58:13,913 INFO L225 Difference]: With dead ends: 539 [2022-04-27 11:58:13,913 INFO L226 Difference]: Without dead ends: 531 [2022-04-27 11:58:13,914 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 144 SyntacticMatches, 1 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1120 ImplicationChecksByTransitivity, 10.3s TimeCoverageRelationStatistics Valid=799, Invalid=3491, Unknown=0, NotChecked=0, Total=4290 [2022-04-27 11:58:13,915 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 163 mSDsluCounter, 370 mSDsCounter, 0 mSdLazyCounter, 1814 mSolverCounterSat, 442 mSolverCounterUnsat, 9 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 47.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 174 SdHoareTripleChecker+Valid, 424 SdHoareTripleChecker+Invalid, 2265 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 442 IncrementalHoareTripleChecker+Valid, 1814 IncrementalHoareTripleChecker+Invalid, 9 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 47.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:58:13,915 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [174 Valid, 424 Invalid, 2265 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [442 Valid, 1814 Invalid, 9 Unknown, 0 Unchecked, 47.4s Time] [2022-04-27 11:58:13,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 531 states. [2022-04-27 11:58:14,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 531 to 462. [2022-04-27 11:58:14,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:58:14,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 531 states. Second operand has 462 states, 263 states have (on average 1.220532319391635) internal successors, (321), 264 states have internal predecessors, (321), 173 states have call successors, (173), 26 states have call predecessors, (173), 25 states have return successors, (171), 171 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 11:58:14,798 INFO L74 IsIncluded]: Start isIncluded. First operand 531 states. Second operand has 462 states, 263 states have (on average 1.220532319391635) internal successors, (321), 264 states have internal predecessors, (321), 173 states have call successors, (173), 26 states have call predecessors, (173), 25 states have return successors, (171), 171 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 11:58:14,798 INFO L87 Difference]: Start difference. First operand 531 states. Second operand has 462 states, 263 states have (on average 1.220532319391635) internal successors, (321), 264 states have internal predecessors, (321), 173 states have call successors, (173), 26 states have call predecessors, (173), 25 states have return successors, (171), 171 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 11:58:14,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:58:14,815 INFO L93 Difference]: Finished difference Result 531 states and 761 transitions. [2022-04-27 11:58:14,815 INFO L276 IsEmpty]: Start isEmpty. Operand 531 states and 761 transitions. [2022-04-27 11:58:14,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:58:14,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:58:14,817 INFO L74 IsIncluded]: Start isIncluded. First operand has 462 states, 263 states have (on average 1.220532319391635) internal successors, (321), 264 states have internal predecessors, (321), 173 states have call successors, (173), 26 states have call predecessors, (173), 25 states have return successors, (171), 171 states have call predecessors, (171), 171 states have call successors, (171) Second operand 531 states. [2022-04-27 11:58:14,817 INFO L87 Difference]: Start difference. First operand has 462 states, 263 states have (on average 1.220532319391635) internal successors, (321), 264 states have internal predecessors, (321), 173 states have call successors, (173), 26 states have call predecessors, (173), 25 states have return successors, (171), 171 states have call predecessors, (171), 171 states have call successors, (171) Second operand 531 states. [2022-04-27 11:58:14,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:58:14,832 INFO L93 Difference]: Finished difference Result 531 states and 761 transitions. [2022-04-27 11:58:14,832 INFO L276 IsEmpty]: Start isEmpty. Operand 531 states and 761 transitions. [2022-04-27 11:58:14,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:58:14,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:58:14,833 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:58:14,833 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:58:14,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 462 states, 263 states have (on average 1.220532319391635) internal successors, (321), 264 states have internal predecessors, (321), 173 states have call successors, (173), 26 states have call predecessors, (173), 25 states have return successors, (171), 171 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 11:58:14,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 462 states to 462 states and 665 transitions. [2022-04-27 11:58:14,848 INFO L78 Accepts]: Start accepts. Automaton has 462 states and 665 transitions. Word has length 80 [2022-04-27 11:58:14,848 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:58:14,848 INFO L495 AbstractCegarLoop]: Abstraction has 462 states and 665 transitions. [2022-04-27 11:58:14,848 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-27 11:58:14,849 INFO L276 IsEmpty]: Start isEmpty. Operand 462 states and 665 transitions. [2022-04-27 11:58:14,849 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-27 11:58:14,849 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:58:14,849 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:58:14,883 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-27 11:58:15,063 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-27 11:58:15,063 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:58:15,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:58:15,064 INFO L85 PathProgramCache]: Analyzing trace with hash -1121309837, now seen corresponding path program 1 times [2022-04-27 11:58:15,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:58:15,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [219427693] [2022-04-27 11:58:15,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:58:15,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:58:15,084 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:58:15,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [998076946] [2022-04-27 11:58:15,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:58:15,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:58:15,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:58:15,100 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-27 11:58:15,101 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-27 11:58:15,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:58:15,152 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-27 11:58:15,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:58:15,166 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:58:16,096 INFO L272 TraceCheckUtils]: 0: Hoare triple {22270#true} call ULTIMATE.init(); {22270#true} is VALID [2022-04-27 11:58:16,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {22270#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); {22270#true} is VALID [2022-04-27 11:58:16,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22270#true} {22270#true} #105#return; {22270#true} is VALID [2022-04-27 11:58:16,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {22270#true} call #t~ret6 := main(); {22270#true} is VALID [2022-04-27 11:58:16,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {22270#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22270#true} is VALID [2022-04-27 11:58:16,096 INFO L272 TraceCheckUtils]: 6: Hoare triple {22270#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22270#true} {22270#true} #91#return; {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L272 TraceCheckUtils]: 11: Hoare triple {22270#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22270#true} {22270#true} #93#return; {22270#true} is VALID [2022-04-27 11:58:16,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {22270#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22323#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,098 INFO L290 TraceCheckUtils]: 17: Hoare triple {22323#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {22323#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,098 INFO L290 TraceCheckUtils]: 18: Hoare triple {22323#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22330#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {22330#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {22330#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,099 INFO L290 TraceCheckUtils]: 20: Hoare triple {22330#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22337#(and (= main_~b~0 main_~v~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))} is VALID [2022-04-27 11:58:16,099 INFO L290 TraceCheckUtils]: 21: Hoare triple {22337#(and (= main_~b~0 main_~v~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))} assume !false; {22337#(and (= main_~b~0 main_~v~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))} is VALID [2022-04-27 11:58:16,099 INFO L272 TraceCheckUtils]: 22: Hoare triple {22337#(and (= main_~b~0 main_~v~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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,099 INFO L290 TraceCheckUtils]: 23: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,099 INFO L290 TraceCheckUtils]: 24: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,099 INFO L290 TraceCheckUtils]: 25: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,100 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22270#true} {22337#(and (= main_~b~0 main_~v~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))} #95#return; {22337#(and (= main_~b~0 main_~v~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))} is VALID [2022-04-27 11:58:16,100 INFO L272 TraceCheckUtils]: 27: Hoare triple {22337#(and (= main_~b~0 main_~v~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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,100 INFO L290 TraceCheckUtils]: 28: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,100 INFO L290 TraceCheckUtils]: 29: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,100 INFO L290 TraceCheckUtils]: 30: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {22270#true} {22337#(and (= main_~b~0 main_~v~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))} #97#return; {22337#(and (= main_~b~0 main_~v~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))} is VALID [2022-04-27 11:58:16,101 INFO L272 TraceCheckUtils]: 32: Hoare triple {22337#(and (= main_~b~0 main_~v~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))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L290 TraceCheckUtils]: 33: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L290 TraceCheckUtils]: 34: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22270#true} {22337#(and (= main_~b~0 main_~v~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))} #99#return; {22337#(and (= main_~b~0 main_~v~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))} is VALID [2022-04-27 11:58:16,101 INFO L272 TraceCheckUtils]: 37: Hoare triple {22337#(and (= main_~b~0 main_~v~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))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L290 TraceCheckUtils]: 38: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L290 TraceCheckUtils]: 39: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,101 INFO L290 TraceCheckUtils]: 40: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,102 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22270#true} {22337#(and (= main_~b~0 main_~v~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))} #101#return; {22337#(and (= main_~b~0 main_~v~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))} is VALID [2022-04-27 11:58:16,102 INFO L290 TraceCheckUtils]: 42: Hoare triple {22337#(and (= main_~b~0 main_~v~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))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,103 INFO L290 TraceCheckUtils]: 43: Hoare triple {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} assume !false; {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,103 INFO L272 TraceCheckUtils]: 44: Hoare triple {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,103 INFO L290 TraceCheckUtils]: 45: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,103 INFO L290 TraceCheckUtils]: 46: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,103 INFO L290 TraceCheckUtils]: 47: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,104 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {22270#true} {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #95#return; {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,104 INFO L272 TraceCheckUtils]: 49: Hoare triple {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,104 INFO L290 TraceCheckUtils]: 50: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,104 INFO L290 TraceCheckUtils]: 51: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,104 INFO L290 TraceCheckUtils]: 52: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,104 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {22270#true} {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #97#return; {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,105 INFO L272 TraceCheckUtils]: 54: Hoare triple {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,105 INFO L290 TraceCheckUtils]: 55: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,105 INFO L290 TraceCheckUtils]: 56: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,105 INFO L290 TraceCheckUtils]: 57: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,105 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22270#true} {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #99#return; {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,105 INFO L272 TraceCheckUtils]: 59: Hoare triple {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,105 INFO L290 TraceCheckUtils]: 60: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,105 INFO L290 TraceCheckUtils]: 61: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,105 INFO L290 TraceCheckUtils]: 62: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,106 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22270#true} {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #101#return; {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,106 INFO L290 TraceCheckUtils]: 64: Hoare triple {22404#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} assume !(~c~0 >= 2 * ~v~0); {22471#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 11:58:16,108 INFO L290 TraceCheckUtils]: 65: Hoare triple {22471#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22475#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,108 INFO L290 TraceCheckUtils]: 66: Hoare triple {22475#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} assume !false; {22475#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,108 INFO L290 TraceCheckUtils]: 67: Hoare triple {22475#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,109 INFO L290 TraceCheckUtils]: 68: Hoare triple {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} assume !false; {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,109 INFO L272 TraceCheckUtils]: 69: Hoare triple {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,109 INFO L290 TraceCheckUtils]: 70: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 11:58:16,109 INFO L290 TraceCheckUtils]: 71: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 11:58:16,109 INFO L290 TraceCheckUtils]: 72: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 11:58:16,110 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {22270#true} {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} #95#return; {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-27 11:58:16,110 INFO L272 TraceCheckUtils]: 74: Hoare triple {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 11:58:16,110 INFO L290 TraceCheckUtils]: 75: Hoare triple {22270#true} ~cond := #in~cond; {22507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:16,110 INFO L290 TraceCheckUtils]: 76: Hoare triple {22507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:16,110 INFO L290 TraceCheckUtils]: 77: Hoare triple {22511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:16,111 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {22511#(not (= |__VERIFIER_assert_#in~cond| 0))} {22482#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} #97#return; {22518#(and (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2))} is VALID [2022-04-27 11:58:16,112 INFO L272 TraceCheckUtils]: 79: Hoare triple {22518#(and (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22522#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:58:16,112 INFO L290 TraceCheckUtils]: 80: Hoare triple {22522#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22526#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:16,112 INFO L290 TraceCheckUtils]: 81: Hoare triple {22526#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22271#false} is VALID [2022-04-27 11:58:16,112 INFO L290 TraceCheckUtils]: 82: Hoare triple {22271#false} assume !false; {22271#false} is VALID [2022-04-27 11:58:16,112 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 46 proven. 17 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-27 11:58:16,113 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:59:41,667 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (let ((.cse0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)))) (or (= 0 .cse0) (= (mod .cse0 v_main_~q~0_BEFORE_CALL_69) 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) is different from true [2022-04-27 11:59:56,071 WARN L855 $PredicateComparison]: unable to prove that (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (let ((.cse0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)))) (or (= 0 .cse0) (= (mod .cse0 v_main_~q~0_BEFORE_CALL_69) 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) (= c___VERIFIER_assert_~cond 0)) is different from true [2022-04-27 12:00:04,251 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (let ((.cse0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)))) (or (= 0 .cse0) (= (mod .cse0 v_main_~q~0_BEFORE_CALL_69) 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1))) is different from true [2022-04-27 12:00:05,839 INFO L290 TraceCheckUtils]: 82: Hoare triple {22271#false} assume !false; {22271#false} is VALID [2022-04-27 12:00:05,840 INFO L290 TraceCheckUtils]: 81: Hoare triple {22526#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22271#false} is VALID [2022-04-27 12:00:05,840 INFO L290 TraceCheckUtils]: 80: Hoare triple {22522#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22526#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:00:05,841 INFO L272 TraceCheckUtils]: 79: Hoare triple {22542#(= 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)); {22522#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:00:08,272 WARN L284 TraceCheckUtils]: 78: Hoare quadruple {22550#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))))} {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #97#return; {22542#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is UNKNOWN [2022-04-27 12:00:08,273 INFO L290 TraceCheckUtils]: 77: Hoare triple {22550#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))))} assume true; {22550#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))))} is VALID [2022-04-27 12:00:08,274 INFO L290 TraceCheckUtils]: 76: Hoare triple {22557#(or (= __VERIFIER_assert_~cond 0) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1)))))} assume !(0 == ~cond); {22550#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))))} is VALID [2022-04-27 12:00:08,274 INFO L290 TraceCheckUtils]: 75: Hoare triple {22561#(or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1)))} ~cond := #in~cond; {22557#(or (= __VERIFIER_assert_~cond 0) (and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1)))))} is VALID [2022-04-27 12:00:10,283 WARN L272 TraceCheckUtils]: 74: Hoare triple {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {22561#(or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (or (= 0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64))) (= (mod (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)) v_main_~q~0_BEFORE_CALL_69) 0))) (not (= |__VERIFIER_assert_#in~cond| 1)))} is UNKNOWN [2022-04-27 12:00:10,284 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {22270#true} {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #95#return; {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,284 INFO L290 TraceCheckUtils]: 72: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,284 INFO L290 TraceCheckUtils]: 71: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,284 INFO L290 TraceCheckUtils]: 70: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,284 INFO L272 TraceCheckUtils]: 69: Hoare triple {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {22270#true} is VALID [2022-04-27 12:00:10,288 INFO L290 TraceCheckUtils]: 68: Hoare triple {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !false; {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,290 INFO L290 TraceCheckUtils]: 67: Hoare triple {22583#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 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; {22546#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,292 INFO L290 TraceCheckUtils]: 66: Hoare triple {22583#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {22583#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 12:00:10,297 INFO L290 TraceCheckUtils]: 65: Hoare triple {22590#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22583#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 12:00:10,298 INFO L290 TraceCheckUtils]: 64: Hoare triple {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !(~c~0 >= 2 * ~v~0); {22590#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,299 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22270#true} {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #101#return; {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,299 INFO L290 TraceCheckUtils]: 62: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,299 INFO L290 TraceCheckUtils]: 61: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,299 INFO L290 TraceCheckUtils]: 60: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,299 INFO L272 TraceCheckUtils]: 59: Hoare triple {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 12:00:10,300 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22270#true} {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #99#return; {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,300 INFO L290 TraceCheckUtils]: 57: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,300 INFO L290 TraceCheckUtils]: 56: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,300 INFO L290 TraceCheckUtils]: 55: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,300 INFO L272 TraceCheckUtils]: 54: Hoare triple {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {22270#true} is VALID [2022-04-27 12:00:10,301 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {22270#true} {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #97#return; {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,301 INFO L290 TraceCheckUtils]: 51: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,301 INFO L290 TraceCheckUtils]: 50: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,301 INFO L272 TraceCheckUtils]: 49: Hoare triple {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {22270#true} is VALID [2022-04-27 12:00:10,302 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {22270#true} {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #95#return; {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,302 INFO L290 TraceCheckUtils]: 47: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,302 INFO L290 TraceCheckUtils]: 46: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,302 INFO L290 TraceCheckUtils]: 45: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,303 INFO L272 TraceCheckUtils]: 44: Hoare triple {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) 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)); {22270#true} is VALID [2022-04-27 12:00:10,305 INFO L290 TraceCheckUtils]: 43: Hoare triple {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !false; {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,309 INFO L290 TraceCheckUtils]: 42: Hoare triple {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22594#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-27 12:00:10,309 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22270#true} {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #101#return; {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 12:00:10,310 INFO L290 TraceCheckUtils]: 40: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,310 INFO L290 TraceCheckUtils]: 39: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,310 INFO L290 TraceCheckUtils]: 38: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,310 INFO L272 TraceCheckUtils]: 37: Hoare triple {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 12:00:10,311 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22270#true} {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #99#return; {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 12:00:10,311 INFO L290 TraceCheckUtils]: 35: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,311 INFO L290 TraceCheckUtils]: 34: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,311 INFO L290 TraceCheckUtils]: 33: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,311 INFO L272 TraceCheckUtils]: 32: Hoare triple {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 12:00:10,312 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {22270#true} {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #97#return; {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 12:00:10,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,312 INFO L290 TraceCheckUtils]: 29: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,312 INFO L290 TraceCheckUtils]: 28: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,312 INFO L272 TraceCheckUtils]: 27: Hoare triple {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 12:00:10,313 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22270#true} {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #95#return; {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 12:00:10,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,313 INFO L290 TraceCheckUtils]: 23: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,313 INFO L272 TraceCheckUtils]: 22: Hoare triple {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22270#true} is VALID [2022-04-27 12:00:10,315 INFO L290 TraceCheckUtils]: 21: Hoare triple {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} assume !false; {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 12:00:10,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {22728#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (<= (* main_~b~0 4) main_~c~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22661#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 12:00:10,319 INFO L290 TraceCheckUtils]: 19: Hoare triple {22728#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (<= (* main_~b~0 4) main_~c~0))} assume !false; {22728#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (<= (* main_~b~0 4) main_~c~0))} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 18: Hoare triple {22270#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22728#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))) (<= (* main_~b~0 4) main_~c~0))} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 17: Hoare triple {22270#true} assume !false; {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {22270#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22270#true} {22270#true} #93#return; {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L272 TraceCheckUtils]: 11: Hoare triple {22270#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22270#true} {22270#true} #91#return; {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 9: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {22270#true} assume !(0 == ~cond); {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {22270#true} ~cond := #in~cond; {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {22270#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {22270#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {22270#true} call #t~ret6 := main(); {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22270#true} {22270#true} #105#return; {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {22270#true} assume true; {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {22270#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); {22270#true} is VALID [2022-04-27 12:00:10,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {22270#true} call ULTIMATE.init(); {22270#true} is VALID [2022-04-27 12:00:10,322 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 56 proven. 14 refuted. 0 times theorem prover too weak. 148 trivial. 2 not checked. [2022-04-27 12:00:10,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:00:10,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [219427693] [2022-04-27 12:00:10,322 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:00:10,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [998076946] [2022-04-27 12:00:10,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [998076946] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:00:10,322 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:00:10,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-27 12:00:10,322 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1254375452] [2022-04-27 12:00:10,322 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:00:10,323 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 9 states have call successors, (26), 3 states have call predecessors, (26), 3 states have return successors, (23), 9 states have call predecessors, (23), 7 states have call successors, (23) Word has length 83 [2022-04-27 12:00:10,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:00:10,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 9 states have call successors, (26), 3 states have call predecessors, (26), 3 states have return successors, (23), 9 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-27 12:00:15,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 91 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 12:00:15,606 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-27 12:00:15,606 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:00:15,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-27 12:00:15,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=108, Invalid=321, Unknown=3, NotChecked=120, Total=552 [2022-04-27 12:00:15,607 INFO L87 Difference]: Start difference. First operand 462 states and 665 transitions. Second operand has 24 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 9 states have call successors, (26), 3 states have call predecessors, (26), 3 states have return successors, (23), 9 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-27 12:00:19,293 WARN L855 $PredicateComparison]: unable to prove that (and (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (let ((.cse0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)))) (or (= 0 .cse0) (= (mod .cse0 v_main_~q~0_BEFORE_CALL_69) 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1))) (<= 1 |c___VERIFIER_assert_#in~cond|)) is different from true [2022-04-27 12:00:21,306 WARN L855 $PredicateComparison]: unable to prove that (and (<= 1 c___VERIFIER_assert_~cond) (= |c___VERIFIER_assert_#in~cond| c___VERIFIER_assert_~cond) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (let ((.cse0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)))) (or (= 0 .cse0) (= (mod .cse0 v_main_~q~0_BEFORE_CALL_69) 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) (= c___VERIFIER_assert_~cond 0))) is different from true [2022-04-27 12:01:15,102 WARN L232 SmtUtils]: Spent 47.93s on a formula simplification. DAG size of input: 28 DAG size of output: 23 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 12:01:19,204 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~x~0_BEFORE_CALL_64 Int) (v_main_~q~0_BEFORE_CALL_69 Int) (v_main_~s~0_BEFORE_CALL_71 Int) (v_main_~y~0_BEFORE_CALL_79 Int)) (let ((.cse0 (+ (* (- 1) v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~y~0_BEFORE_CALL_79 v_main_~s~0_BEFORE_CALL_71) (* v_main_~q~0_BEFORE_CALL_69 v_main_~x~0_BEFORE_CALL_64)))) (or (= 0 .cse0) (= (mod .cse0 v_main_~q~0_BEFORE_CALL_69) 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1))) (= |c___VERIFIER_assert_#in~cond| c___VERIFIER_assert_~cond)) is different from true [2022-04-27 12:01:26,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:01:26,832 INFO L93 Difference]: Finished difference Result 501 states and 717 transitions. [2022-04-27 12:01:26,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 12:01:26,832 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 9 states have call successors, (26), 3 states have call predecessors, (26), 3 states have return successors, (23), 9 states have call predecessors, (23), 7 states have call successors, (23) Word has length 83 [2022-04-27 12:01:26,833 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:01:26,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 9 states have call successors, (26), 3 states have call predecessors, (26), 3 states have return successors, (23), 9 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-27 12:01:26,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 124 transitions. [2022-04-27 12:01:26,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 9 states have call successors, (26), 3 states have call predecessors, (26), 3 states have return successors, (23), 9 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-27 12:01:26,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 124 transitions. [2022-04-27 12:01:26,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 124 transitions. [2022-04-27 12:01:57,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 110 inductive. 0 not inductive. 14 times theorem prover too weak to decide inductivity. [2022-04-27 12:01:57,040 INFO L225 Difference]: With dead ends: 501 [2022-04-27 12:01:57,040 INFO L226 Difference]: Without dead ends: 499 [2022-04-27 12:01:57,041 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 144 SyntacticMatches, 1 SemanticMatches, 37 ConstructedPredicates, 6 IntricatePredicates, 0 DeprecatedPredicates, 264 ImplicationChecksByTransitivity, 70.4s TimeCoverageRelationStatistics Valid=265, Invalid=806, Unknown=9, NotChecked=402, Total=1482 [2022-04-27 12:01:57,042 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 78 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 517 mSolverCounterSat, 116 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 80 SdHoareTripleChecker+Valid, 265 SdHoareTripleChecker+Invalid, 948 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 116 IncrementalHoareTripleChecker+Valid, 517 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 315 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-27 12:01:57,042 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [80 Valid, 265 Invalid, 948 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [116 Valid, 517 Invalid, 0 Unknown, 315 Unchecked, 2.7s Time] [2022-04-27 12:01:57,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 499 states. [2022-04-27 12:01:58,461 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 499 to 475. [2022-04-27 12:01:58,461 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:01:58,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 499 states. Second operand has 475 states, 270 states have (on average 1.2148148148148148) internal successors, (328), 272 states have internal predecessors, (328), 177 states have call successors, (177), 28 states have call predecessors, (177), 27 states have return successors, (175), 174 states have call predecessors, (175), 175 states have call successors, (175) [2022-04-27 12:01:58,463 INFO L74 IsIncluded]: Start isIncluded. First operand 499 states. Second operand has 475 states, 270 states have (on average 1.2148148148148148) internal successors, (328), 272 states have internal predecessors, (328), 177 states have call successors, (177), 28 states have call predecessors, (177), 27 states have return successors, (175), 174 states have call predecessors, (175), 175 states have call successors, (175) [2022-04-27 12:01:58,463 INFO L87 Difference]: Start difference. First operand 499 states. Second operand has 475 states, 270 states have (on average 1.2148148148148148) internal successors, (328), 272 states have internal predecessors, (328), 177 states have call successors, (177), 28 states have call predecessors, (177), 27 states have return successors, (175), 174 states have call predecessors, (175), 175 states have call successors, (175) [2022-04-27 12:01:58,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:01:58,477 INFO L93 Difference]: Finished difference Result 499 states and 715 transitions. [2022-04-27 12:01:58,477 INFO L276 IsEmpty]: Start isEmpty. Operand 499 states and 715 transitions. [2022-04-27 12:01:58,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:01:58,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:01:58,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 475 states, 270 states have (on average 1.2148148148148148) internal successors, (328), 272 states have internal predecessors, (328), 177 states have call successors, (177), 28 states have call predecessors, (177), 27 states have return successors, (175), 174 states have call predecessors, (175), 175 states have call successors, (175) Second operand 499 states. [2022-04-27 12:01:58,480 INFO L87 Difference]: Start difference. First operand has 475 states, 270 states have (on average 1.2148148148148148) internal successors, (328), 272 states have internal predecessors, (328), 177 states have call successors, (177), 28 states have call predecessors, (177), 27 states have return successors, (175), 174 states have call predecessors, (175), 175 states have call successors, (175) Second operand 499 states. [2022-04-27 12:01:58,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:01:58,493 INFO L93 Difference]: Finished difference Result 499 states and 715 transitions. [2022-04-27 12:01:58,493 INFO L276 IsEmpty]: Start isEmpty. Operand 499 states and 715 transitions. [2022-04-27 12:01:58,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:01:58,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:01:58,494 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:01:58,494 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:01:58,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 475 states, 270 states have (on average 1.2148148148148148) internal successors, (328), 272 states have internal predecessors, (328), 177 states have call successors, (177), 28 states have call predecessors, (177), 27 states have return successors, (175), 174 states have call predecessors, (175), 175 states have call successors, (175) [2022-04-27 12:01:58,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 475 states to 475 states and 680 transitions. [2022-04-27 12:01:58,523 INFO L78 Accepts]: Start accepts. Automaton has 475 states and 680 transitions. Word has length 83 [2022-04-27 12:01:58,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:01:58,523 INFO L495 AbstractCegarLoop]: Abstraction has 475 states and 680 transitions. [2022-04-27 12:01:58,523 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 9 states have call successors, (26), 3 states have call predecessors, (26), 3 states have return successors, (23), 9 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-27 12:01:58,524 INFO L276 IsEmpty]: Start isEmpty. Operand 475 states and 680 transitions. [2022-04-27 12:01:58,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-27 12:01:58,525 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:01:58,525 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 5, 3, 3, 3, 3, 3, 2, 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] [2022-04-27 12:01:58,561 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-27 12:01:58,746 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-27 12:01:58,746 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:01:58,746 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:01:58,747 INFO L85 PathProgramCache]: Analyzing trace with hash -18545089, now seen corresponding path program 3 times [2022-04-27 12:01:58,747 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:01:58,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596686216] [2022-04-27 12:01:58,747 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:01:58,747 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:01:58,765 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:01:58,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1775879939] [2022-04-27 12:01:58,766 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 12:01:58,766 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:01:58,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:01:58,775 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-27 12:01:58,777 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-27 12:01:58,863 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 12:01:58,863 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:01:58,865 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 66 conjunts are in the unsatisfiable core [2022-04-27 12:01:58,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:01:58,878 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:02:00,901 INFO L272 TraceCheckUtils]: 0: Hoare triple {25381#true} call ULTIMATE.init(); {25381#true} is VALID [2022-04-27 12:02:00,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {25381#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); {25381#true} is VALID [2022-04-27 12:02:00,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25381#true} {25381#true} #105#return; {25381#true} is VALID [2022-04-27 12:02:00,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {25381#true} call #t~ret6 := main(); {25381#true} is VALID [2022-04-27 12:02:00,901 INFO L290 TraceCheckUtils]: 5: Hoare triple {25381#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25381#true} is VALID [2022-04-27 12:02:00,901 INFO L272 TraceCheckUtils]: 6: Hoare triple {25381#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:00,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {25381#true} ~cond := #in~cond; {25407#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:02:00,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {25407#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {25411#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:02:00,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {25411#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25411#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:02:00,902 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25411#(not (= |assume_abort_if_not_#in~cond| 0))} {25381#true} #91#return; {25418#(<= 1 main_~x~0)} is VALID [2022-04-27 12:02:00,902 INFO L272 TraceCheckUtils]: 11: Hoare triple {25418#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:00,903 INFO L290 TraceCheckUtils]: 12: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,903 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25381#true} {25418#(<= 1 main_~x~0)} #93#return; {25418#(<= 1 main_~x~0)} is VALID [2022-04-27 12:02:00,903 INFO L290 TraceCheckUtils]: 16: Hoare triple {25418#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25437#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,904 INFO L290 TraceCheckUtils]: 17: Hoare triple {25437#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {25437#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {25437#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25444#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {25444#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {25444#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,905 INFO L290 TraceCheckUtils]: 20: Hoare triple {25444#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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-27 12:02:00,905 INFO L290 TraceCheckUtils]: 21: Hoare triple {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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-27 12:02:00,905 INFO L272 TraceCheckUtils]: 22: Hoare triple {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:00,906 INFO L290 TraceCheckUtils]: 23: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,906 INFO L290 TraceCheckUtils]: 24: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,906 INFO L290 TraceCheckUtils]: 25: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,906 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25381#true} {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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))} #95#return; {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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-27 12:02:00,906 INFO L272 TraceCheckUtils]: 27: Hoare triple {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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)); {25381#true} is VALID [2022-04-27 12:02:00,906 INFO L290 TraceCheckUtils]: 28: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,907 INFO L290 TraceCheckUtils]: 29: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,907 INFO L290 TraceCheckUtils]: 30: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,907 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {25381#true} {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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))} #97#return; {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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-27 12:02:00,907 INFO L272 TraceCheckUtils]: 32: Hoare triple {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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)); {25381#true} is VALID [2022-04-27 12:02:00,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,907 INFO L290 TraceCheckUtils]: 34: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,908 INFO L290 TraceCheckUtils]: 35: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,908 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25381#true} {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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))} #99#return; {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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-27 12:02:00,908 INFO L272 TraceCheckUtils]: 37: Hoare triple {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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)); {25381#true} is VALID [2022-04-27 12:02:00,909 INFO L290 TraceCheckUtils]: 38: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,909 INFO L290 TraceCheckUtils]: 39: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,909 INFO L290 TraceCheckUtils]: 40: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,909 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25381#true} {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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))} #101#return; {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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-27 12:02:00,910 INFO L290 TraceCheckUtils]: 42: Hoare triple {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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); {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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-27 12:02:00,910 INFO L290 TraceCheckUtils]: 43: Hoare triple {25451#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (<= 1 main_~x~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; {25521#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,912 INFO L290 TraceCheckUtils]: 44: Hoare triple {25521#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {25521#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,912 INFO L290 TraceCheckUtils]: 45: Hoare triple {25521#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {25521#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,913 INFO L290 TraceCheckUtils]: 46: Hoare triple {25521#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (= main_~s~0 1) (= 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; {25531#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~a~0 main_~y~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,913 INFO L290 TraceCheckUtils]: 47: Hoare triple {25531#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~a~0 main_~y~0) (= (+ (* (- 1) main_~q~0) 1) 0))} assume !false; {25531#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~a~0 main_~y~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,914 INFO L290 TraceCheckUtils]: 48: Hoare triple {25531#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~a~0 main_~y~0) (= (+ (* (- 1) main_~q~0) 1) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25538#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,914 INFO L290 TraceCheckUtils]: 49: Hoare triple {25538#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} assume !false; {25538#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,915 INFO L290 TraceCheckUtils]: 50: Hoare triple {25538#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,915 INFO L290 TraceCheckUtils]: 51: Hoare triple {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} assume !false; {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,916 INFO L272 TraceCheckUtils]: 52: Hoare triple {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:00,916 INFO L290 TraceCheckUtils]: 53: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,916 INFO L290 TraceCheckUtils]: 54: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,916 INFO L290 TraceCheckUtils]: 55: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,916 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {25381#true} {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} #95#return; {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,917 INFO L272 TraceCheckUtils]: 57: Hoare triple {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:00,917 INFO L290 TraceCheckUtils]: 58: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,917 INFO L290 TraceCheckUtils]: 59: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,917 INFO L290 TraceCheckUtils]: 60: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,917 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25381#true} {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} #97#return; {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,917 INFO L272 TraceCheckUtils]: 62: Hoare triple {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:00,917 INFO L290 TraceCheckUtils]: 63: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,917 INFO L290 TraceCheckUtils]: 64: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,917 INFO L290 TraceCheckUtils]: 65: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,918 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25381#true} {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} #99#return; {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,918 INFO L272 TraceCheckUtils]: 67: Hoare triple {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:00,918 INFO L290 TraceCheckUtils]: 68: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:00,918 INFO L290 TraceCheckUtils]: 69: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:00,918 INFO L290 TraceCheckUtils]: 70: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:00,919 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25381#true} {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} #101#return; {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,919 INFO L290 TraceCheckUtils]: 72: Hoare triple {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} assume !(~c~0 >= 2 * ~v~0); {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} is VALID [2022-04-27 12:02:00,920 INFO L290 TraceCheckUtils]: 73: Hoare triple {25545#(and (= main_~b~0 main_~v~0) (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25615#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 12:02:00,920 INFO L290 TraceCheckUtils]: 74: Hoare triple {25615#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {25615#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 12:02:00,921 INFO L290 TraceCheckUtils]: 75: Hoare triple {25615#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {25615#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 12:02:00,921 INFO L290 TraceCheckUtils]: 76: Hoare triple {25615#(and (= (* (- 1) main_~s~0) 1) (<= 1 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 1) main_~q~0) 1) 0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,922 INFO L290 TraceCheckUtils]: 77: Hoare triple {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !false; {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,922 INFO L290 TraceCheckUtils]: 78: Hoare triple {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,922 INFO L290 TraceCheckUtils]: 79: Hoare triple {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !false; {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,923 INFO L290 TraceCheckUtils]: 80: Hoare triple {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,923 INFO L290 TraceCheckUtils]: 81: Hoare triple {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} assume !false; {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} is VALID [2022-04-27 12:02:00,924 INFO L272 TraceCheckUtils]: 82: Hoare triple {25625#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~x~0) (= (+ main_~r~0 1) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25644#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:02:00,924 INFO L290 TraceCheckUtils]: 83: Hoare triple {25644#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25648#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:02:00,924 INFO L290 TraceCheckUtils]: 84: Hoare triple {25648#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25382#false} is VALID [2022-04-27 12:02:00,924 INFO L290 TraceCheckUtils]: 85: Hoare triple {25382#false} assume !false; {25382#false} is VALID [2022-04-27 12:02:00,925 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 16 proven. 41 refuted. 0 times theorem prover too weak. 113 trivial. 0 not checked. [2022-04-27 12:02:00,925 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:02:01,903 INFO L290 TraceCheckUtils]: 85: Hoare triple {25382#false} assume !false; {25382#false} is VALID [2022-04-27 12:02:01,904 INFO L290 TraceCheckUtils]: 84: Hoare triple {25648#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25382#false} is VALID [2022-04-27 12:02:01,904 INFO L290 TraceCheckUtils]: 83: Hoare triple {25644#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25648#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:02:01,905 INFO L272 TraceCheckUtils]: 82: Hoare triple {25664#(= 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)); {25644#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:02:01,905 INFO L290 TraceCheckUtils]: 81: Hoare triple {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:01,905 INFO L290 TraceCheckUtils]: 80: Hoare triple {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:01,905 INFO L290 TraceCheckUtils]: 79: Hoare triple {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:01,906 INFO L290 TraceCheckUtils]: 78: Hoare triple {25664#(= 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; {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:01,906 INFO L290 TraceCheckUtils]: 77: Hoare triple {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:01,906 INFO L290 TraceCheckUtils]: 76: Hoare triple {25683#(= 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; {25664#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:01,907 INFO L290 TraceCheckUtils]: 75: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,907 INFO L290 TraceCheckUtils]: 74: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,907 INFO L290 TraceCheckUtils]: 73: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,908 INFO L290 TraceCheckUtils]: 72: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,908 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25381#true} {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #101#return; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,908 INFO L290 TraceCheckUtils]: 70: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:01,908 INFO L290 TraceCheckUtils]: 69: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:01,908 INFO L290 TraceCheckUtils]: 68: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:01,908 INFO L272 TraceCheckUtils]: 67: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:01,909 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25381#true} {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #99#return; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,909 INFO L290 TraceCheckUtils]: 65: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:01,909 INFO L290 TraceCheckUtils]: 64: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:01,909 INFO L290 TraceCheckUtils]: 63: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:01,909 INFO L272 TraceCheckUtils]: 62: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:01,910 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25381#true} {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,910 INFO L290 TraceCheckUtils]: 60: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:01,910 INFO L290 TraceCheckUtils]: 59: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:01,910 INFO L290 TraceCheckUtils]: 58: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:01,910 INFO L272 TraceCheckUtils]: 57: Hoare triple {25683#(= 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)); {25381#true} is VALID [2022-04-27 12:02:01,920 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {25381#true} {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #95#return; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,920 INFO L290 TraceCheckUtils]: 55: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:01,920 INFO L290 TraceCheckUtils]: 54: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:01,920 INFO L290 TraceCheckUtils]: 53: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:01,920 INFO L272 TraceCheckUtils]: 52: Hoare triple {25683#(= 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)); {25381#true} is VALID [2022-04-27 12:02:01,920 INFO L290 TraceCheckUtils]: 51: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,920 INFO L290 TraceCheckUtils]: 50: Hoare triple {25683#(= 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; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,921 INFO L290 TraceCheckUtils]: 49: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,921 INFO L290 TraceCheckUtils]: 48: Hoare triple {25683#(= 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; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:01,922 INFO L290 TraceCheckUtils]: 47: Hoare triple {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:02:03,924 WARN L290 TraceCheckUtils]: 46: Hoare triple {25774#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25683#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-27 12:02:03,925 INFO L290 TraceCheckUtils]: 45: Hoare triple {25774#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {25774#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-27 12:02:03,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {25774#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {25774#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,694 INFO L290 TraceCheckUtils]: 43: Hoare triple {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25774#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,695 INFO L290 TraceCheckUtils]: 42: Hoare triple {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,696 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25381#true} {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #101#return; {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,696 INFO L290 TraceCheckUtils]: 40: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:04,696 INFO L290 TraceCheckUtils]: 39: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:04,696 INFO L290 TraceCheckUtils]: 38: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:04,696 INFO L272 TraceCheckUtils]: 37: Hoare triple {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:04,697 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25381#true} {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:04,697 INFO L290 TraceCheckUtils]: 34: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:04,697 INFO L290 TraceCheckUtils]: 33: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:04,697 INFO L272 TraceCheckUtils]: 32: Hoare triple {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:04,698 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {25381#true} {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #97#return; {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:04,698 INFO L290 TraceCheckUtils]: 29: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:04,698 INFO L290 TraceCheckUtils]: 28: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:04,698 INFO L272 TraceCheckUtils]: 27: Hoare triple {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:04,699 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25381#true} {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #95#return; {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:04,699 INFO L290 TraceCheckUtils]: 24: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:04,699 INFO L290 TraceCheckUtils]: 23: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:04,699 INFO L272 TraceCheckUtils]: 22: Hoare triple {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:04,699 INFO L290 TraceCheckUtils]: 21: Hoare triple {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {25854#(= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25784#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {25854#(= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {25854#(= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {25861#(= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25854#(= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,701 INFO L290 TraceCheckUtils]: 17: Hoare triple {25861#(= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {25861#(= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,701 INFO L290 TraceCheckUtils]: 16: Hoare triple {25381#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25861#(= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:02:04,701 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25381#true} {25381#true} #93#return; {25381#true} is VALID [2022-04-27 12:02:04,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:04,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:04,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L272 TraceCheckUtils]: 11: Hoare triple {25381#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25381#true} {25381#true} #91#return; {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L290 TraceCheckUtils]: 9: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L290 TraceCheckUtils]: 8: Hoare triple {25381#true} assume !(0 == ~cond); {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L290 TraceCheckUtils]: 7: Hoare triple {25381#true} ~cond := #in~cond; {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L272 TraceCheckUtils]: 6: Hoare triple {25381#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {25381#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L272 TraceCheckUtils]: 4: Hoare triple {25381#true} call #t~ret6 := main(); {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25381#true} {25381#true} #105#return; {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {25381#true} assume true; {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {25381#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); {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {25381#true} call ULTIMATE.init(); {25381#true} is VALID [2022-04-27 12:02:04,702 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 16 proven. 36 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-27 12:02:04,702 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:02:04,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596686216] [2022-04-27 12:02:04,703 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:02:04,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1775879939] [2022-04-27 12:02:04,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1775879939] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:02:04,703 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:02:04,703 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 22 [2022-04-27 12:02:04,703 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [493057366] [2022-04-27 12:02:04,703 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:02:04,703 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 3.0) internal successors, (66), 20 states have internal predecessors, (66), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 6 states have call predecessors, (21), 6 states have call successors, (21) Word has length 86 [2022-04-27 12:02:04,704 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:02:04,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 3.0) internal successors, (66), 20 states have internal predecessors, (66), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 6 states have call predecessors, (21), 6 states have call successors, (21) [2022-04-27 12:02:05,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:05,812 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 12:02:05,812 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:02:05,812 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 12:02:05,812 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=392, Unknown=0, NotChecked=0, Total=462 [2022-04-27 12:02:05,812 INFO L87 Difference]: Start difference. First operand 475 states and 680 transitions. Second operand has 22 states, 22 states have (on average 3.0) internal successors, (66), 20 states have internal predecessors, (66), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 6 states have call predecessors, (21), 6 states have call successors, (21) [2022-04-27 12:02:11,605 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:02:14,320 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:02:17,928 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:02:21,007 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:02:25,870 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:02:28,775 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.89s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:02:52,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:52,821 INFO L93 Difference]: Finished difference Result 550 states and 786 transitions. [2022-04-27 12:02:52,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 12:02:52,821 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 3.0) internal successors, (66), 20 states have internal predecessors, (66), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 6 states have call predecessors, (21), 6 states have call successors, (21) Word has length 86 [2022-04-27 12:02:52,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:02:52,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 3.0) internal successors, (66), 20 states have internal predecessors, (66), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 6 states have call predecessors, (21), 6 states have call successors, (21) [2022-04-27 12:02:52,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 164 transitions. [2022-04-27 12:02:52,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 3.0) internal successors, (66), 20 states have internal predecessors, (66), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 6 states have call predecessors, (21), 6 states have call successors, (21) [2022-04-27 12:02:52,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 164 transitions. [2022-04-27 12:02:52,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 164 transitions. [2022-04-27 12:02:57,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 163 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:57,646 INFO L225 Difference]: With dead ends: 550 [2022-04-27 12:02:57,646 INFO L226 Difference]: Without dead ends: 546 [2022-04-27 12:02:57,646 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 193 GetRequests, 150 SyntacticMatches, 2 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 329 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=331, Invalid=1475, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 12:02:57,647 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 107 mSDsluCounter, 270 mSDsCounter, 0 mSdLazyCounter, 957 mSolverCounterSat, 250 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 26.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 107 SdHoareTripleChecker+Valid, 310 SdHoareTripleChecker+Invalid, 1212 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 250 IncrementalHoareTripleChecker+Valid, 957 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 26.5s IncrementalHoareTripleChecker+Time [2022-04-27 12:02:57,647 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [107 Valid, 310 Invalid, 1212 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [250 Valid, 957 Invalid, 5 Unknown, 0 Unchecked, 26.5s Time] [2022-04-27 12:02:57,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 546 states. [2022-04-27 12:02:59,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 546 to 527. [2022-04-27 12:02:59,194 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:02:59,195 INFO L82 GeneralOperation]: Start isEquivalent. First operand 546 states. Second operand has 527 states, 296 states have (on average 1.2195945945945945) internal successors, (361), 297 states have internal predecessors, (361), 201 states have call successors, (201), 31 states have call predecessors, (201), 29 states have return successors, (199), 198 states have call predecessors, (199), 199 states have call successors, (199) [2022-04-27 12:02:59,195 INFO L74 IsIncluded]: Start isIncluded. First operand 546 states. Second operand has 527 states, 296 states have (on average 1.2195945945945945) internal successors, (361), 297 states have internal predecessors, (361), 201 states have call successors, (201), 31 states have call predecessors, (201), 29 states have return successors, (199), 198 states have call predecessors, (199), 199 states have call successors, (199) [2022-04-27 12:02:59,196 INFO L87 Difference]: Start difference. First operand 546 states. Second operand has 527 states, 296 states have (on average 1.2195945945945945) internal successors, (361), 297 states have internal predecessors, (361), 201 states have call successors, (201), 31 states have call predecessors, (201), 29 states have return successors, (199), 198 states have call predecessors, (199), 199 states have call successors, (199) [2022-04-27 12:02:59,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:59,210 INFO L93 Difference]: Finished difference Result 546 states and 782 transitions. [2022-04-27 12:02:59,210 INFO L276 IsEmpty]: Start isEmpty. Operand 546 states and 782 transitions. [2022-04-27 12:02:59,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:59,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:59,212 INFO L74 IsIncluded]: Start isIncluded. First operand has 527 states, 296 states have (on average 1.2195945945945945) internal successors, (361), 297 states have internal predecessors, (361), 201 states have call successors, (201), 31 states have call predecessors, (201), 29 states have return successors, (199), 198 states have call predecessors, (199), 199 states have call successors, (199) Second operand 546 states. [2022-04-27 12:02:59,213 INFO L87 Difference]: Start difference. First operand has 527 states, 296 states have (on average 1.2195945945945945) internal successors, (361), 297 states have internal predecessors, (361), 201 states have call successors, (201), 31 states have call predecessors, (201), 29 states have return successors, (199), 198 states have call predecessors, (199), 199 states have call successors, (199) Second operand 546 states. [2022-04-27 12:02:59,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:59,227 INFO L93 Difference]: Finished difference Result 546 states and 782 transitions. [2022-04-27 12:02:59,227 INFO L276 IsEmpty]: Start isEmpty. Operand 546 states and 782 transitions. [2022-04-27 12:02:59,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:59,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:59,228 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:02:59,228 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:02:59,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 527 states, 296 states have (on average 1.2195945945945945) internal successors, (361), 297 states have internal predecessors, (361), 201 states have call successors, (201), 31 states have call predecessors, (201), 29 states have return successors, (199), 198 states have call predecessors, (199), 199 states have call successors, (199) [2022-04-27 12:02:59,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 527 states to 527 states and 761 transitions. [2022-04-27 12:02:59,246 INFO L78 Accepts]: Start accepts. Automaton has 527 states and 761 transitions. Word has length 86 [2022-04-27 12:02:59,246 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:02:59,246 INFO L495 AbstractCegarLoop]: Abstraction has 527 states and 761 transitions. [2022-04-27 12:02:59,246 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 3.0) internal successors, (66), 20 states have internal predecessors, (66), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 6 states have call predecessors, (21), 6 states have call successors, (21) [2022-04-27 12:02:59,246 INFO L276 IsEmpty]: Start isEmpty. Operand 527 states and 761 transitions. [2022-04-27 12:02:59,247 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 12:02:59,247 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:02:59,247 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 5, 4, 3, 3, 3, 2, 2, 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] [2022-04-27 12:02:59,266 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-27 12:02:59,463 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-27 12:02:59,463 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:02:59,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:02:59,464 INFO L85 PathProgramCache]: Analyzing trace with hash -634195915, now seen corresponding path program 2 times [2022-04-27 12:02:59,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:02:59,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1956366195] [2022-04-27 12:02:59,464 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:59,464 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:02:59,476 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:02:59,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [366019346] [2022-04-27 12:02:59,477 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:02:59,477 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:02:59,477 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:02:59,480 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 12:02:59,481 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-27 12:02:59,529 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:02:59,529 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:02:59,530 INFO L263 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 12:02:59,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:59,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:02:59,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {28775#true} call ULTIMATE.init(); {28775#true} is VALID [2022-04-27 12:02:59,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {28775#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); {28775#true} is VALID [2022-04-27 12:02:59,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28775#true} {28775#true} #105#return; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {28775#true} call #t~ret6 := main(); {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {28775#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L272 TraceCheckUtils]: 6: Hoare triple {28775#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28775#true} {28775#true} #91#return; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L272 TraceCheckUtils]: 11: Hoare triple {28775#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 12: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 13: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {28775#true} {28775#true} #93#return; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 16: Hoare triple {28775#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 17: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 18: Hoare triple {28775#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 19: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,000 INFO L290 TraceCheckUtils]: 20: Hoare triple {28775#true} assume !(~c~0 >= ~b~0); {28775#true} is VALID [2022-04-27 12:03:00,001 INFO L290 TraceCheckUtils]: 21: Hoare triple {28775#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; {28775#true} is VALID [2022-04-27 12:03:00,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {28775#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28775#true} is VALID [2022-04-27 12:03:00,001 INFO L290 TraceCheckUtils]: 24: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,011 INFO L290 TraceCheckUtils]: 25: Hoare triple {28775#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,011 INFO L290 TraceCheckUtils]: 26: Hoare triple {28855#(<= main_~v~0 main_~b~0)} assume !false; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,011 INFO L272 TraceCheckUtils]: 27: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,012 INFO L290 TraceCheckUtils]: 28: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,012 INFO L290 TraceCheckUtils]: 29: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,012 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #95#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,012 INFO L272 TraceCheckUtils]: 32: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,012 INFO L290 TraceCheckUtils]: 33: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,012 INFO L290 TraceCheckUtils]: 34: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,012 INFO L290 TraceCheckUtils]: 35: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,013 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #97#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,013 INFO L272 TraceCheckUtils]: 37: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,013 INFO L290 TraceCheckUtils]: 38: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,013 INFO L290 TraceCheckUtils]: 39: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,013 INFO L290 TraceCheckUtils]: 40: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,014 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #99#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,014 INFO L272 TraceCheckUtils]: 42: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,014 INFO L290 TraceCheckUtils]: 43: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,014 INFO L290 TraceCheckUtils]: 44: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,014 INFO L290 TraceCheckUtils]: 45: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,014 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #101#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,014 INFO L290 TraceCheckUtils]: 47: Hoare triple {28855#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {28922#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 12:03:00,016 INFO L290 TraceCheckUtils]: 48: Hoare triple {28922#(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; {28926#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 12:03:00,016 INFO L290 TraceCheckUtils]: 49: Hoare triple {28926#(< main_~c~0 main_~b~0)} assume !false; {28926#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 12:03:00,016 INFO L290 TraceCheckUtils]: 50: Hoare triple {28926#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {28926#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 12:03:00,017 INFO L290 TraceCheckUtils]: 51: Hoare triple {28926#(< 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; {28936#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 12:03:00,017 INFO L290 TraceCheckUtils]: 52: Hoare triple {28936#(< main_~b~0 main_~a~0)} assume !false; {28936#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 12:03:00,017 INFO L290 TraceCheckUtils]: 53: Hoare triple {28936#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28943#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 12:03:00,017 INFO L290 TraceCheckUtils]: 54: Hoare triple {28943#(< main_~b~0 main_~c~0)} assume !false; {28943#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 12:03:00,018 INFO L290 TraceCheckUtils]: 55: Hoare triple {28943#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,018 INFO L290 TraceCheckUtils]: 56: Hoare triple {28950#(< main_~v~0 main_~c~0)} assume !false; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,018 INFO L272 TraceCheckUtils]: 57: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,018 INFO L290 TraceCheckUtils]: 59: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,018 INFO L290 TraceCheckUtils]: 60: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,019 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #95#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,019 INFO L272 TraceCheckUtils]: 62: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,019 INFO L290 TraceCheckUtils]: 63: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,019 INFO L290 TraceCheckUtils]: 64: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,019 INFO L290 TraceCheckUtils]: 65: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,019 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #97#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,019 INFO L272 TraceCheckUtils]: 67: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,019 INFO L290 TraceCheckUtils]: 68: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,020 INFO L290 TraceCheckUtils]: 69: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,020 INFO L290 TraceCheckUtils]: 70: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,020 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #99#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,020 INFO L272 TraceCheckUtils]: 72: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,020 INFO L290 TraceCheckUtils]: 73: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,020 INFO L290 TraceCheckUtils]: 74: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,020 INFO L290 TraceCheckUtils]: 75: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,021 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #101#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,021 INFO L290 TraceCheckUtils]: 77: Hoare triple {28950#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,022 INFO L290 TraceCheckUtils]: 78: Hoare triple {28950#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {29020#(< 0 main_~c~0)} is VALID [2022-04-27 12:03:00,022 INFO L290 TraceCheckUtils]: 79: Hoare triple {29020#(< 0 main_~c~0)} assume !false; {29020#(< 0 main_~c~0)} is VALID [2022-04-27 12:03:00,022 INFO L290 TraceCheckUtils]: 80: Hoare triple {29020#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {29020#(< 0 main_~c~0)} is VALID [2022-04-27 12:03:00,022 INFO L290 TraceCheckUtils]: 81: Hoare triple {29020#(< 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; {29030#(< 0 main_~b~0)} is VALID [2022-04-27 12:03:00,023 INFO L290 TraceCheckUtils]: 82: Hoare triple {29030#(< 0 main_~b~0)} assume !false; {29030#(< 0 main_~b~0)} is VALID [2022-04-27 12:03:00,023 INFO L290 TraceCheckUtils]: 83: Hoare triple {29030#(< 0 main_~b~0)} assume !(0 != ~b~0); {28776#false} is VALID [2022-04-27 12:03:00,023 INFO L272 TraceCheckUtils]: 84: Hoare triple {28776#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)); {28776#false} is VALID [2022-04-27 12:03:00,023 INFO L290 TraceCheckUtils]: 85: Hoare triple {28776#false} ~cond := #in~cond; {28776#false} is VALID [2022-04-27 12:03:00,023 INFO L290 TraceCheckUtils]: 86: Hoare triple {28776#false} assume 0 == ~cond; {28776#false} is VALID [2022-04-27 12:03:00,023 INFO L290 TraceCheckUtils]: 87: Hoare triple {28776#false} assume !false; {28776#false} is VALID [2022-04-27 12:03:00,023 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 38 proven. 16 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-27 12:03:00,023 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:03:00,409 INFO L290 TraceCheckUtils]: 87: Hoare triple {28776#false} assume !false; {28776#false} is VALID [2022-04-27 12:03:00,409 INFO L290 TraceCheckUtils]: 86: Hoare triple {28776#false} assume 0 == ~cond; {28776#false} is VALID [2022-04-27 12:03:00,409 INFO L290 TraceCheckUtils]: 85: Hoare triple {28776#false} ~cond := #in~cond; {28776#false} is VALID [2022-04-27 12:03:00,409 INFO L272 TraceCheckUtils]: 84: Hoare triple {28776#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)); {28776#false} is VALID [2022-04-27 12:03:00,410 INFO L290 TraceCheckUtils]: 83: Hoare triple {29030#(< 0 main_~b~0)} assume !(0 != ~b~0); {28776#false} is VALID [2022-04-27 12:03:00,410 INFO L290 TraceCheckUtils]: 82: Hoare triple {29030#(< 0 main_~b~0)} assume !false; {29030#(< 0 main_~b~0)} is VALID [2022-04-27 12:03:00,410 INFO L290 TraceCheckUtils]: 81: Hoare triple {29020#(< 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; {29030#(< 0 main_~b~0)} is VALID [2022-04-27 12:03:00,411 INFO L290 TraceCheckUtils]: 80: Hoare triple {29020#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {29020#(< 0 main_~c~0)} is VALID [2022-04-27 12:03:00,411 INFO L290 TraceCheckUtils]: 79: Hoare triple {29020#(< 0 main_~c~0)} assume !false; {29020#(< 0 main_~c~0)} is VALID [2022-04-27 12:03:00,412 INFO L290 TraceCheckUtils]: 78: Hoare triple {28950#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {29020#(< 0 main_~c~0)} is VALID [2022-04-27 12:03:00,412 INFO L290 TraceCheckUtils]: 77: Hoare triple {28950#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,413 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #101#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,413 INFO L290 TraceCheckUtils]: 75: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,413 INFO L290 TraceCheckUtils]: 74: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,413 INFO L290 TraceCheckUtils]: 73: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,413 INFO L272 TraceCheckUtils]: 72: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,413 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #99#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,413 INFO L290 TraceCheckUtils]: 70: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,413 INFO L290 TraceCheckUtils]: 69: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,413 INFO L290 TraceCheckUtils]: 68: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,414 INFO L272 TraceCheckUtils]: 67: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,414 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #97#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,414 INFO L290 TraceCheckUtils]: 65: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,414 INFO L290 TraceCheckUtils]: 64: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,414 INFO L290 TraceCheckUtils]: 63: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,414 INFO L272 TraceCheckUtils]: 62: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,415 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {28775#true} {28950#(< main_~v~0 main_~c~0)} #95#return; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,415 INFO L290 TraceCheckUtils]: 60: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,415 INFO L290 TraceCheckUtils]: 59: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,415 INFO L290 TraceCheckUtils]: 58: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,415 INFO L272 TraceCheckUtils]: 57: Hoare triple {28950#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,415 INFO L290 TraceCheckUtils]: 56: Hoare triple {28950#(< main_~v~0 main_~c~0)} assume !false; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,416 INFO L290 TraceCheckUtils]: 55: Hoare triple {28943#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {28950#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 12:03:00,416 INFO L290 TraceCheckUtils]: 54: Hoare triple {28943#(< main_~b~0 main_~c~0)} assume !false; {28943#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 12:03:00,416 INFO L290 TraceCheckUtils]: 53: Hoare triple {28936#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28943#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 12:03:00,416 INFO L290 TraceCheckUtils]: 52: Hoare triple {28936#(< main_~b~0 main_~a~0)} assume !false; {28936#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 12:03:00,417 INFO L290 TraceCheckUtils]: 51: Hoare triple {28926#(< 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; {28936#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 12:03:00,417 INFO L290 TraceCheckUtils]: 50: Hoare triple {28926#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {28926#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 12:03:00,417 INFO L290 TraceCheckUtils]: 49: Hoare triple {28926#(< main_~c~0 main_~b~0)} assume !false; {28926#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 12:03:00,418 INFO L290 TraceCheckUtils]: 48: Hoare triple {29166#(< main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {28926#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 12:03:00,419 INFO L290 TraceCheckUtils]: 47: Hoare triple {28855#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {29166#(< main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-27 12:03:00,420 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #101#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,420 INFO L290 TraceCheckUtils]: 45: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,420 INFO L290 TraceCheckUtils]: 44: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,420 INFO L290 TraceCheckUtils]: 43: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,420 INFO L272 TraceCheckUtils]: 42: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,420 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #99#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,421 INFO L290 TraceCheckUtils]: 40: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,421 INFO L272 TraceCheckUtils]: 37: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,422 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #97#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,422 INFO L290 TraceCheckUtils]: 33: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,422 INFO L272 TraceCheckUtils]: 32: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,423 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {28775#true} {28855#(<= main_~v~0 main_~b~0)} #95#return; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,423 INFO L290 TraceCheckUtils]: 30: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,423 INFO L290 TraceCheckUtils]: 28: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,423 INFO L272 TraceCheckUtils]: 27: Hoare triple {28855#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,423 INFO L290 TraceCheckUtils]: 26: Hoare triple {28855#(<= main_~v~0 main_~b~0)} assume !false; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {28775#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {28855#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 12:03:00,423 INFO L290 TraceCheckUtils]: 24: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,423 INFO L290 TraceCheckUtils]: 23: Hoare triple {28775#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {28775#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; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {28775#true} assume !(~c~0 >= ~b~0); {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {28775#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {28775#true} assume !false; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {28775#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {28775#true} {28775#true} #93#return; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L272 TraceCheckUtils]: 11: Hoare triple {28775#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28775#true} {28775#true} #91#return; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {28775#true} assume !(0 == ~cond); {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {28775#true} ~cond := #in~cond; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L272 TraceCheckUtils]: 6: Hoare triple {28775#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {28775#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L272 TraceCheckUtils]: 4: Hoare triple {28775#true} call #t~ret6 := main(); {28775#true} is VALID [2022-04-27 12:03:00,424 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28775#true} {28775#true} #105#return; {28775#true} is VALID [2022-04-27 12:03:00,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {28775#true} assume true; {28775#true} is VALID [2022-04-27 12:03:00,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {28775#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); {28775#true} is VALID [2022-04-27 12:03:00,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {28775#true} call ULTIMATE.init(); {28775#true} is VALID [2022-04-27 12:03:00,425 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 38 proven. 16 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-27 12:03:00,425 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:03:00,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1956366195] [2022-04-27 12:03:00,425 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:03:00,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [366019346] [2022-04-27 12:03:00,425 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [366019346] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:03:00,425 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:03:00,425 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2022-04-27 12:03:00,425 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [967763945] [2022-04-27 12:03:00,426 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:03:00,426 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.5454545454545454) internal successors, (39), 11 states have internal predecessors, (39), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 88 [2022-04-27 12:03:00,426 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:03:00,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.5454545454545454) internal successors, (39), 11 states have internal predecessors, (39), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 12:03:00,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:03:00,483 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 12:03:00,483 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:03:00,484 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 12:03:00,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=89, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:03:00,484 INFO L87 Difference]: Start difference. First operand 527 states and 761 transitions. Second operand has 11 states, 11 states have (on average 3.5454545454545454) internal successors, (39), 11 states have internal predecessors, (39), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 12:03:07,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:07,322 INFO L93 Difference]: Finished difference Result 732 states and 1077 transitions. [2022-04-27 12:03:07,322 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 12:03:07,322 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.5454545454545454) internal successors, (39), 11 states have internal predecessors, (39), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 88 [2022-04-27 12:03:07,322 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:03:07,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.5454545454545454) internal successors, (39), 11 states have internal predecessors, (39), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 12:03:07,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 179 transitions. [2022-04-27 12:03:07,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.5454545454545454) internal successors, (39), 11 states have internal predecessors, (39), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 12:03:07,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 179 transitions. [2022-04-27 12:03:07,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 179 transitions. [2022-04-27 12:03:07,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 179 edges. 179 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:03:07,591 INFO L225 Difference]: With dead ends: 732 [2022-04-27 12:03:07,591 INFO L226 Difference]: Without dead ends: 727 [2022-04-27 12:03:07,591 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 172 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=189, Invalid=623, Unknown=0, NotChecked=0, Total=812 [2022-04-27 12:03:07,592 INFO L413 NwaCegarLoop]: 86 mSDtfsCounter, 61 mSDsluCounter, 272 mSDsCounter, 0 mSdLazyCounter, 479 mSolverCounterSat, 101 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 358 SdHoareTripleChecker+Invalid, 580 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 101 IncrementalHoareTripleChecker+Valid, 479 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-27 12:03:07,592 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 358 Invalid, 580 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [101 Valid, 479 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-27 12:03:07,593 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 727 states. [2022-04-27 12:03:08,961 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 727 to 467. [2022-04-27 12:03:08,961 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:03:08,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 727 states. Second operand has 467 states, 265 states have (on average 1.211320754716981) internal successors, (321), 266 states have internal predecessors, (321), 173 states have call successors, (173), 30 states have call predecessors, (173), 28 states have return successors, (171), 170 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 12:03:08,962 INFO L74 IsIncluded]: Start isIncluded. First operand 727 states. Second operand has 467 states, 265 states have (on average 1.211320754716981) internal successors, (321), 266 states have internal predecessors, (321), 173 states have call successors, (173), 30 states have call predecessors, (173), 28 states have return successors, (171), 170 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 12:03:08,962 INFO L87 Difference]: Start difference. First operand 727 states. Second operand has 467 states, 265 states have (on average 1.211320754716981) internal successors, (321), 266 states have internal predecessors, (321), 173 states have call successors, (173), 30 states have call predecessors, (173), 28 states have return successors, (171), 170 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 12:03:08,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:08,984 INFO L93 Difference]: Finished difference Result 727 states and 1072 transitions. [2022-04-27 12:03:08,984 INFO L276 IsEmpty]: Start isEmpty. Operand 727 states and 1072 transitions. [2022-04-27 12:03:08,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:03:08,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:03:08,987 INFO L74 IsIncluded]: Start isIncluded. First operand has 467 states, 265 states have (on average 1.211320754716981) internal successors, (321), 266 states have internal predecessors, (321), 173 states have call successors, (173), 30 states have call predecessors, (173), 28 states have return successors, (171), 170 states have call predecessors, (171), 171 states have call successors, (171) Second operand 727 states. [2022-04-27 12:03:08,987 INFO L87 Difference]: Start difference. First operand has 467 states, 265 states have (on average 1.211320754716981) internal successors, (321), 266 states have internal predecessors, (321), 173 states have call successors, (173), 30 states have call predecessors, (173), 28 states have return successors, (171), 170 states have call predecessors, (171), 171 states have call successors, (171) Second operand 727 states. [2022-04-27 12:03:09,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:09,009 INFO L93 Difference]: Finished difference Result 727 states and 1072 transitions. [2022-04-27 12:03:09,009 INFO L276 IsEmpty]: Start isEmpty. Operand 727 states and 1072 transitions. [2022-04-27 12:03:09,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:03:09,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:03:09,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:03:09,011 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:03:09,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 467 states, 265 states have (on average 1.211320754716981) internal successors, (321), 266 states have internal predecessors, (321), 173 states have call successors, (173), 30 states have call predecessors, (173), 28 states have return successors, (171), 170 states have call predecessors, (171), 171 states have call successors, (171) [2022-04-27 12:03:09,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 467 states to 467 states and 665 transitions. [2022-04-27 12:03:09,024 INFO L78 Accepts]: Start accepts. Automaton has 467 states and 665 transitions. Word has length 88 [2022-04-27 12:03:09,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:03:09,024 INFO L495 AbstractCegarLoop]: Abstraction has 467 states and 665 transitions. [2022-04-27 12:03:09,024 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.5454545454545454) internal successors, (39), 11 states have internal predecessors, (39), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 12:03:09,025 INFO L276 IsEmpty]: Start isEmpty. Operand 467 states and 665 transitions. [2022-04-27 12:03:09,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-27 12:03:09,026 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:03:09,026 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:03:09,042 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-27 12:03:09,242 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-27 12:03:09,242 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:03:09,243 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:03:09,243 INFO L85 PathProgramCache]: Analyzing trace with hash -1733174004, now seen corresponding path program 2 times [2022-04-27 12:03:09,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:03:09,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [671934053] [2022-04-27 12:03:09,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:03:09,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:03:09,259 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:03:09,259 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1004049724] [2022-04-27 12:03:09,259 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:03:09,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:03:09,259 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:03:09,272 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 12:03:09,319 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-27 12:03:09,382 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:03:09,383 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:03:09,385 INFO L263 TraceCheckSpWp]: Trace formula consists of 313 conjuncts, 100 conjunts are in the unsatisfiable core [2022-04-27 12:03:09,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:03:09,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:03:13,563 INFO L272 TraceCheckUtils]: 0: Hoare triple {32732#true} call ULTIMATE.init(); {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {32732#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); {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32732#true} {32732#true} #105#return; {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {32732#true} call #t~ret6 := main(); {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {32732#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {32732#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,563 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32732#true} {32732#true} #91#return; {32732#true} is VALID [2022-04-27 12:03:13,564 INFO L272 TraceCheckUtils]: 11: Hoare triple {32732#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,564 INFO L290 TraceCheckUtils]: 12: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,564 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32732#true} {32732#true} #93#return; {32732#true} is VALID [2022-04-27 12:03:13,564 INFO L290 TraceCheckUtils]: 16: Hoare triple {32732#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32785#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,564 INFO L290 TraceCheckUtils]: 17: Hoare triple {32785#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {32785#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {32785#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32792#(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_~p~0 1))} is VALID [2022-04-27 12:03:13,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {32792#(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_~p~0 1))} assume !false; {32792#(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_~p~0 1))} is VALID [2022-04-27 12:03:13,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {32792#(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_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32799#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,566 INFO L290 TraceCheckUtils]: 21: Hoare triple {32799#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {32799#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,566 INFO L272 TraceCheckUtils]: 22: Hoare triple {32799#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,566 INFO L290 TraceCheckUtils]: 23: Hoare triple {32732#true} ~cond := #in~cond; {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:13,567 INFO L290 TraceCheckUtils]: 24: Hoare triple {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,567 INFO L290 TraceCheckUtils]: 25: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,568 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {32799#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #95#return; {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,568 INFO L272 TraceCheckUtils]: 27: Hoare triple {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~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)); {32732#true} is VALID [2022-04-27 12:03:13,568 INFO L290 TraceCheckUtils]: 28: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,569 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {32732#true} {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} #97#return; {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,569 INFO L272 TraceCheckUtils]: 32: Hoare triple {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,569 INFO L290 TraceCheckUtils]: 33: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,569 INFO L290 TraceCheckUtils]: 35: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,570 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32732#true} {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} #99#return; {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,570 INFO L272 TraceCheckUtils]: 37: Hoare triple {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,570 INFO L290 TraceCheckUtils]: 38: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,570 INFO L290 TraceCheckUtils]: 39: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,570 INFO L290 TraceCheckUtils]: 40: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,570 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32732#true} {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} #101#return; {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,571 INFO L290 TraceCheckUtils]: 42: Hoare triple {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {32820#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {32872#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {32872#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} assume !false; {32872#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {32872#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {32872#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:03:13,574 INFO L290 TraceCheckUtils]: 46: Hoare triple {32872#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~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; {32882#(and (= main_~p~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,575 INFO L290 TraceCheckUtils]: 47: Hoare triple {32882#(and (= main_~p~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !false; {32882#(and (= main_~p~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,575 INFO L290 TraceCheckUtils]: 48: Hoare triple {32882#(and (= main_~p~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32889#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,576 INFO L290 TraceCheckUtils]: 49: Hoare triple {32889#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !false; {32889#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,576 INFO L290 TraceCheckUtils]: 50: Hoare triple {32889#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,577 INFO L290 TraceCheckUtils]: 51: Hoare triple {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !false; {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,577 INFO L272 TraceCheckUtils]: 52: Hoare triple {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,577 INFO L290 TraceCheckUtils]: 53: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,577 INFO L290 TraceCheckUtils]: 54: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,577 INFO L290 TraceCheckUtils]: 55: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,578 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {32732#true} {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #95#return; {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,578 INFO L272 TraceCheckUtils]: 57: Hoare triple {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,578 INFO L290 TraceCheckUtils]: 58: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,578 INFO L290 TraceCheckUtils]: 59: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,578 INFO L290 TraceCheckUtils]: 60: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,578 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32732#true} {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #97#return; {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,579 INFO L272 TraceCheckUtils]: 62: Hoare triple {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,579 INFO L290 TraceCheckUtils]: 63: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,579 INFO L290 TraceCheckUtils]: 64: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,579 INFO L290 TraceCheckUtils]: 65: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,579 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32732#true} {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #99#return; {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,579 INFO L272 TraceCheckUtils]: 67: Hoare triple {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,580 INFO L290 TraceCheckUtils]: 68: Hoare triple {32732#true} ~cond := #in~cond; {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:13,580 INFO L290 TraceCheckUtils]: 69: Hoare triple {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,580 INFO L290 TraceCheckUtils]: 70: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,581 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #101#return; {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,582 INFO L290 TraceCheckUtils]: 72: Hoare triple {32896#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,582 INFO L290 TraceCheckUtils]: 73: Hoare triple {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !false; {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,582 INFO L272 TraceCheckUtils]: 74: Hoare triple {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,582 INFO L290 TraceCheckUtils]: 75: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,582 INFO L290 TraceCheckUtils]: 76: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,583 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {32732#true} {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #95#return; {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,583 INFO L272 TraceCheckUtils]: 79: Hoare triple {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,583 INFO L290 TraceCheckUtils]: 80: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,583 INFO L290 TraceCheckUtils]: 81: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,583 INFO L290 TraceCheckUtils]: 82: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,584 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {32732#true} {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #97#return; {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,584 INFO L272 TraceCheckUtils]: 84: Hoare triple {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,584 INFO L290 TraceCheckUtils]: 85: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,584 INFO L290 TraceCheckUtils]: 86: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,584 INFO L290 TraceCheckUtils]: 87: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,585 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {32732#true} {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #99#return; {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,585 INFO L272 TraceCheckUtils]: 89: Hoare triple {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,585 INFO L290 TraceCheckUtils]: 90: Hoare triple {32732#true} ~cond := #in~cond; {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:13,585 INFO L290 TraceCheckUtils]: 91: Hoare triple {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,586 INFO L290 TraceCheckUtils]: 92: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,586 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #101#return; {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,588 INFO L290 TraceCheckUtils]: 94: Hoare triple {32963#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 2) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {33030#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (= main_~v~0 (* main_~b~0 4)) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,589 INFO L290 TraceCheckUtils]: 95: Hoare triple {33030#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (= main_~v~0 (* main_~b~0 4)) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} assume !false; {33030#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (= main_~v~0 (* main_~b~0 4)) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} is VALID [2022-04-27 12:03:13,589 INFO L272 TraceCheckUtils]: 96: Hoare triple {33030#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (= main_~v~0 (* main_~b~0 4)) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,589 INFO L290 TraceCheckUtils]: 97: Hoare triple {32732#true} ~cond := #in~cond; {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:13,589 INFO L290 TraceCheckUtils]: 98: Hoare triple {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,590 INFO L290 TraceCheckUtils]: 99: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,591 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {33030#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* (- 1) main_~p~0 main_~x~0 main_~s~0) (* main_~q~0 main_~x~0) (* (- 1) main_~a~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 4) (= main_~a~0 main_~y~0) (= main_~v~0 (* main_~b~0 4)) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1))} #95#return; {33049#(and (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,591 INFO L272 TraceCheckUtils]: 101: Hoare triple {33049#(and (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,591 INFO L290 TraceCheckUtils]: 102: Hoare triple {32732#true} ~cond := #in~cond; {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:13,591 INFO L290 TraceCheckUtils]: 103: Hoare triple {32809#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,591 INFO L290 TraceCheckUtils]: 104: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:13,592 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {33049#(and (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,593 INFO L272 TraceCheckUtils]: 106: Hoare triple {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,593 INFO L290 TraceCheckUtils]: 107: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,593 INFO L290 TraceCheckUtils]: 108: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,593 INFO L290 TraceCheckUtils]: 109: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,593 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {32732#true} {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #99#return; {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,593 INFO L272 TraceCheckUtils]: 111: Hoare triple {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:03:13,594 INFO L290 TraceCheckUtils]: 112: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:03:13,594 INFO L290 TraceCheckUtils]: 113: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:03:13,594 INFO L290 TraceCheckUtils]: 114: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:03:13,594 INFO L284 TraceCheckUtils]: 115: Hoare quadruple {32732#true} {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #101#return; {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,595 INFO L290 TraceCheckUtils]: 116: Hoare triple {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,596 INFO L290 TraceCheckUtils]: 117: Hoare triple {33065#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 4) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) main_~c~0 main_~b~0)) (= main_~v~0 (* main_~b~0 4)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {33102#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= main_~k~0 4) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,597 INFO L290 TraceCheckUtils]: 118: Hoare triple {33102#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= main_~k~0 4) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))))} assume !false; {33102#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= main_~k~0 4) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,597 INFO L290 TraceCheckUtils]: 119: Hoare triple {33102#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= main_~k~0 4) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {33102#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= main_~k~0 4) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 12:03:13,600 INFO L290 TraceCheckUtils]: 120: Hoare triple {33102#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* main_~b~0 4)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~q~0 (+ (* main_~p~0 main_~s~0) 1)) (= main_~k~0 4) (= (* main_~q~0 main_~x~0) (+ (* main_~p~0 main_~x~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {33112#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= main_~a~0 (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= (+ (* (+ main_~q~0 (* main_~p~0 4)) main_~r~0) 1) main_~p~0) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= main_~b~0 (+ (* 5 main_~y~0 main_~s~0) (* main_~q~0 main_~x~0 main_~r~0 4) (* 5 main_~q~0 main_~x~0) (* main_~p~0 main_~x~0 16) (* main_~p~0 main_~x~0 main_~r~0 16) (* main_~y~0 main_~r~0 20))) (= (+ main_~s~0 (* main_~r~0 4)) 1))} is VALID [2022-04-27 12:03:13,601 INFO L290 TraceCheckUtils]: 121: Hoare triple {33112#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= main_~a~0 (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= (+ (* (+ main_~q~0 (* main_~p~0 4)) main_~r~0) 1) main_~p~0) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= main_~b~0 (+ (* 5 main_~y~0 main_~s~0) (* main_~q~0 main_~x~0 main_~r~0 4) (* 5 main_~q~0 main_~x~0) (* main_~p~0 main_~x~0 16) (* main_~p~0 main_~x~0 main_~r~0 16) (* main_~y~0 main_~r~0 20))) (= (+ main_~s~0 (* main_~r~0 4)) 1))} assume !false; {33112#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= main_~a~0 (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= (+ (* (+ main_~q~0 (* main_~p~0 4)) main_~r~0) 1) main_~p~0) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= main_~b~0 (+ (* 5 main_~y~0 main_~s~0) (* main_~q~0 main_~x~0 main_~r~0 4) (* 5 main_~q~0 main_~x~0) (* main_~p~0 main_~x~0 16) (* main_~p~0 main_~x~0 main_~r~0 16) (* main_~y~0 main_~r~0 20))) (= (+ main_~s~0 (* main_~r~0 4)) 1))} is VALID [2022-04-27 12:03:13,601 INFO L290 TraceCheckUtils]: 122: Hoare triple {33112#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= main_~a~0 (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= (+ (* (+ main_~q~0 (* main_~p~0 4)) main_~r~0) 1) main_~p~0) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= main_~b~0 (+ (* 5 main_~y~0 main_~s~0) (* main_~q~0 main_~x~0 main_~r~0 4) (* 5 main_~q~0 main_~x~0) (* main_~p~0 main_~x~0 16) (* main_~p~0 main_~x~0 main_~r~0 16) (* main_~y~0 main_~r~0 20))) (= (+ main_~s~0 (* main_~r~0 4)) 1))} assume !(0 != ~b~0); {33119#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= main_~a~0 (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= (+ (* 5 main_~y~0 main_~s~0) (* main_~q~0 main_~x~0 main_~r~0 4) (* 5 main_~q~0 main_~x~0) (* main_~p~0 main_~x~0 16) (* main_~p~0 main_~x~0 main_~r~0 16) (* main_~y~0 main_~r~0 20)) 0) (= (+ (* (+ main_~q~0 (* main_~p~0 4)) main_~r~0) 1) main_~p~0) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= (+ main_~s~0 (* main_~r~0 4)) 1))} is VALID [2022-04-27 12:03:13,603 INFO L272 TraceCheckUtils]: 123: Hoare triple {33119#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= main_~a~0 (+ (* (- 1) main_~p~0 main_~x~0 4) (* (- 1) main_~p~0 main_~x~0 main_~r~0 4) (* (- 1) main_~q~0 main_~x~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 (+ main_~s~0 (* main_~r~0 4))))) (= (+ (* 5 main_~y~0 main_~s~0) (* main_~q~0 main_~x~0 main_~r~0 4) (* 5 main_~q~0 main_~x~0) (* main_~p~0 main_~x~0 16) (* main_~p~0 main_~x~0 main_~r~0 16) (* main_~y~0 main_~r~0 20)) 0) (= (+ (* (+ main_~q~0 (* main_~p~0 4)) main_~r~0) 1) main_~p~0) (= (+ main_~q~0 (* main_~p~0 4)) 0) (= (+ main_~s~0 (* main_~r~0 4)) 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)); {33123#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:03:13,603 INFO L290 TraceCheckUtils]: 124: Hoare triple {33123#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {33127#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:13,604 INFO L290 TraceCheckUtils]: 125: Hoare triple {33127#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32733#false} is VALID [2022-04-27 12:03:13,604 INFO L290 TraceCheckUtils]: 126: Hoare triple {32733#false} assume !false; {32733#false} is VALID [2022-04-27 12:03:13,604 INFO L134 CoverageAnalysis]: Checked inductivity of 572 backedges. 126 proven. 127 refuted. 0 times theorem prover too weak. 319 trivial. 0 not checked. [2022-04-27 12:03:13,604 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:04:28,639 INFO L290 TraceCheckUtils]: 126: Hoare triple {32733#false} assume !false; {32733#false} is VALID [2022-04-27 12:04:28,640 INFO L290 TraceCheckUtils]: 125: Hoare triple {33127#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32733#false} is VALID [2022-04-27 12:04:28,640 INFO L290 TraceCheckUtils]: 124: Hoare triple {33123#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {33127#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:28,640 INFO L272 TraceCheckUtils]: 123: Hoare triple {33143#(= (+ (* 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)); {33123#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:04:28,641 INFO L290 TraceCheckUtils]: 122: Hoare triple {33147#(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); {33143#(= (+ (* 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-27 12:04:28,641 INFO L290 TraceCheckUtils]: 121: Hoare triple {33147#(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; {33147#(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-27 12:04:28,784 INFO L290 TraceCheckUtils]: 120: Hoare triple {33154#(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; {33147#(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-27 12:04:28,785 INFO L290 TraceCheckUtils]: 119: Hoare triple {33154#(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); {33154#(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-27 12:04:28,785 INFO L290 TraceCheckUtils]: 118: Hoare triple {33154#(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; {33154#(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-27 12:04:29,053 INFO L290 TraceCheckUtils]: 117: Hoare triple {33164#(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; {33154#(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-27 12:04:29,054 INFO L290 TraceCheckUtils]: 116: Hoare triple {33164#(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); {33164#(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-27 12:04:29,055 INFO L284 TraceCheckUtils]: 115: Hoare quadruple {32732#true} {33164#(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))))} #101#return; {33164#(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-27 12:04:29,055 INFO L290 TraceCheckUtils]: 114: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:29,055 INFO L290 TraceCheckUtils]: 113: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:29,055 INFO L290 TraceCheckUtils]: 112: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:29,055 INFO L272 TraceCheckUtils]: 111: Hoare triple {33164#(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)); {32732#true} is VALID [2022-04-27 12:04:29,056 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {32732#true} {33164#(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))))} #99#return; {33164#(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-27 12:04:29,056 INFO L290 TraceCheckUtils]: 109: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:29,056 INFO L290 TraceCheckUtils]: 108: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:29,056 INFO L290 TraceCheckUtils]: 107: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:29,056 INFO L272 TraceCheckUtils]: 106: Hoare triple {33164#(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)); {32732#true} is VALID [2022-04-27 12:04:29,058 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {33201#(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))))} #97#return; {33164#(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-27 12:04:29,058 INFO L290 TraceCheckUtils]: 104: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:29,058 INFO L290 TraceCheckUtils]: 103: Hoare triple {33211#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:29,058 INFO L290 TraceCheckUtils]: 102: Hoare triple {32732#true} ~cond := #in~cond; {33211#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:04:29,059 INFO L272 TraceCheckUtils]: 101: Hoare triple {33201#(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)); {32732#true} is VALID [2022-04-27 12:04:29,060 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {33218#(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))))} #95#return; {33201#(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-27 12:04:29,060 INFO L290 TraceCheckUtils]: 99: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:29,060 INFO L290 TraceCheckUtils]: 98: Hoare triple {33211#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:29,061 INFO L290 TraceCheckUtils]: 97: Hoare triple {32732#true} ~cond := #in~cond; {33211#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:04:29,061 INFO L272 TraceCheckUtils]: 96: Hoare triple {33218#(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)); {32732#true} is VALID [2022-04-27 12:04:29,061 INFO L290 TraceCheckUtils]: 95: Hoare triple {33218#(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; {33218#(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-27 12:04:30,008 INFO L290 TraceCheckUtils]: 94: Hoare triple {33237#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {33218#(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-27 12:04:30,010 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #101#return; {33237#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 12:04:30,010 INFO L290 TraceCheckUtils]: 92: Hoare triple {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:30,010 INFO L290 TraceCheckUtils]: 91: Hoare triple {33211#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32813#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:30,010 INFO L290 TraceCheckUtils]: 90: Hoare triple {32732#true} ~cond := #in~cond; {33211#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:04:30,010 INFO L272 TraceCheckUtils]: 89: Hoare triple {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,011 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {32732#true} {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #99#return; {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 12:04:30,011 INFO L290 TraceCheckUtils]: 87: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,011 INFO L290 TraceCheckUtils]: 86: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,011 INFO L290 TraceCheckUtils]: 85: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,011 INFO L272 TraceCheckUtils]: 84: Hoare triple {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= 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)); {32732#true} is VALID [2022-04-27 12:04:30,012 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {32732#true} {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #97#return; {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 12:04:30,012 INFO L290 TraceCheckUtils]: 82: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,012 INFO L290 TraceCheckUtils]: 81: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,012 INFO L290 TraceCheckUtils]: 80: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,012 INFO L272 TraceCheckUtils]: 79: Hoare triple {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= 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)); {32732#true} is VALID [2022-04-27 12:04:30,013 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {32732#true} {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #95#return; {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 12:04:30,013 INFO L290 TraceCheckUtils]: 77: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,013 INFO L290 TraceCheckUtils]: 76: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,013 INFO L290 TraceCheckUtils]: 75: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,013 INFO L272 TraceCheckUtils]: 74: Hoare triple {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= 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)); {32732#true} is VALID [2022-04-27 12:04:30,014 INFO L290 TraceCheckUtils]: 73: Hoare triple {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 12:04:30,102 INFO L290 TraceCheckUtils]: 72: Hoare triple {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {33241#(or (not (= (* main_~v~0 2) main_~c~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_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 12:04:30,104 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32732#true} {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} #101#return; {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} is VALID [2022-04-27 12:04:30,104 INFO L290 TraceCheckUtils]: 70: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,104 INFO L290 TraceCheckUtils]: 69: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,104 INFO L290 TraceCheckUtils]: 68: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,104 INFO L272 TraceCheckUtils]: 67: Hoare triple {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,105 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32732#true} {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} #99#return; {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} is VALID [2022-04-27 12:04:30,105 INFO L290 TraceCheckUtils]: 65: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,105 INFO L290 TraceCheckUtils]: 64: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,105 INFO L290 TraceCheckUtils]: 63: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,105 INFO L272 TraceCheckUtils]: 62: Hoare triple {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,106 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32732#true} {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} #97#return; {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} is VALID [2022-04-27 12:04:30,106 INFO L290 TraceCheckUtils]: 60: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,106 INFO L290 TraceCheckUtils]: 59: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,106 INFO L290 TraceCheckUtils]: 58: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,106 INFO L272 TraceCheckUtils]: 57: Hoare triple {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,107 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {32732#true} {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} #95#return; {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} is VALID [2022-04-27 12:04:30,107 INFO L290 TraceCheckUtils]: 55: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,107 INFO L290 TraceCheckUtils]: 54: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,107 INFO L290 TraceCheckUtils]: 53: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,107 INFO L272 TraceCheckUtils]: 52: Hoare triple {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,108 INFO L290 TraceCheckUtils]: 51: Hoare triple {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} assume !false; {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} is VALID [2022-04-27 12:04:30,108 INFO L290 TraceCheckUtils]: 50: Hoare triple {33372#(or (= (+ (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 4))))) (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 4))) main_~x~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 4))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {33305#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) (+ (* main_~d~0 4) main_~k~0) main_~q~0))) (* (+ main_~r~0 (* (- 1) (* (+ (* main_~d~0 4) main_~k~0) main_~s~0))) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (* main_~v~0 4) main_~c~0)))} is VALID [2022-04-27 12:04:30,109 INFO L290 TraceCheckUtils]: 49: Hoare triple {33372#(or (= (+ (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 4))))) (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 4))) main_~x~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 4))))} assume !false; {33372#(or (= (+ (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 4))))) (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 4))) main_~x~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 4))))} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 48: Hoare triple {32732#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {33372#(or (= (+ (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 4))))) (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 4))) main_~x~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 4))))} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 47: Hoare triple {32732#true} assume !false; {32732#true} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 46: Hoare triple {32732#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; {32732#true} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 45: Hoare triple {32732#true} assume !(~c~0 >= ~b~0); {32732#true} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 44: Hoare triple {32732#true} assume !false; {32732#true} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 43: Hoare triple {32732#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {32732#true} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 42: Hoare triple {32732#true} assume !(~c~0 >= 2 * ~v~0); {32732#true} is VALID [2022-04-27 12:04:30,111 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32732#true} {32732#true} #101#return; {32732#true} is VALID [2022-04-27 12:04:30,111 INFO L290 TraceCheckUtils]: 40: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 39: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 38: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L272 TraceCheckUtils]: 37: Hoare triple {32732#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32732#true} {32732#true} #99#return; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 35: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 34: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 33: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L272 TraceCheckUtils]: 32: Hoare triple {32732#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {32732#true} {32732#true} #97#return; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 30: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 29: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 28: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L272 TraceCheckUtils]: 27: Hoare triple {32732#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32732#true} {32732#true} #95#return; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 23: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L272 TraceCheckUtils]: 22: Hoare triple {32732#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 21: Hoare triple {32732#true} assume !false; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 20: Hoare triple {32732#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32732#true} is VALID [2022-04-27 12:04:30,112 INFO L290 TraceCheckUtils]: 19: Hoare triple {32732#true} assume !false; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {32732#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 17: Hoare triple {32732#true} assume !false; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 16: Hoare triple {32732#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32732#true} {32732#true} #93#return; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L272 TraceCheckUtils]: 11: Hoare triple {32732#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32732#true} {32732#true} #91#return; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {32732#true} assume !(0 == ~cond); {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {32732#true} ~cond := #in~cond; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L272 TraceCheckUtils]: 6: Hoare triple {32732#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {32732#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {32732#true} call #t~ret6 := main(); {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32732#true} {32732#true} #105#return; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {32732#true} assume true; {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {32732#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); {32732#true} is VALID [2022-04-27 12:04:30,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {32732#true} call ULTIMATE.init(); {32732#true} is VALID [2022-04-27 12:04:30,114 INFO L134 CoverageAnalysis]: Checked inductivity of 572 backedges. 160 proven. 41 refuted. 0 times theorem prover too weak. 371 trivial. 0 not checked. [2022-04-27 12:04:30,114 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:04:30,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [671934053] [2022-04-27 12:04:30,114 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:04:30,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1004049724] [2022-04-27 12:04:30,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1004049724] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:04:30,114 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:04:30,114 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 16] total 32 [2022-04-27 12:04:30,115 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [29180695] [2022-04-27 12:04:30,115 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:04:30,115 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 28 states have (on average 2.4642857142857144) internal successors, (69), 28 states have internal predecessors, (69), 15 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (35), 11 states have call predecessors, (35), 13 states have call successors, (35) Word has length 127 [2022-04-27 12:04:30,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:04:30,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 28 states have (on average 2.4642857142857144) internal successors, (69), 28 states have internal predecessors, (69), 15 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (35), 11 states have call predecessors, (35), 13 states have call successors, (35) [2022-04-27 12:04:30,824 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:04:30,824 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-27 12:04:30,824 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:04:30,824 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-27 12:04:30,824 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=851, Unknown=0, NotChecked=0, Total=992 [2022-04-27 12:04:30,825 INFO L87 Difference]: Start difference. First operand 467 states and 665 transitions. Second operand has 32 states, 28 states have (on average 2.4642857142857144) internal successors, (69), 28 states have internal predecessors, (69), 15 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (35), 11 states have call predecessors, (35), 13 states have call successors, (35) [2022-04-27 12:04:43,789 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:04:51,804 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.80s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:05:04,837 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:05:07,308 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:05:14,209 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:05:28,867 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers []