/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/egcd2-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 11:50:39,061 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 11:50:39,062 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 11:50:39,109 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 11:50:39,110 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 11:50:39,110 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 11:50:39,111 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 11:50:39,112 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 11:50:39,113 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 11:50:39,120 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 11:50:39,121 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 11:50:39,123 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 11:50:39,123 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 11:50:39,128 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 11:50:39,128 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 11:50:39,129 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 11:50:39,129 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 11:50:39,130 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 11:50:39,131 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 11:50:39,132 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 11:50:39,132 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 11:50:39,133 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 11:50:39,134 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 11:50:39,134 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 11:50:39,135 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 11:50:39,136 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 11:50:39,137 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 11:50:39,137 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 11:50:39,137 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 11:50:39,138 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 11:50:39,138 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 11:50:39,138 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 11:50:39,139 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 11:50:39,139 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 11:50:39,139 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 11:50:39,140 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 11:50:39,140 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 11:50:39,140 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 11:50:39,141 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 11:50:39,141 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 11:50:39,141 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 11:50:39,142 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 11:50:39,142 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:50:39,159 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 11:50:39,163 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 11:50:39,163 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 11:50:39,163 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 11:50:39,164 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 11:50:39,165 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 11:50:39,166 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 11:50:39,166 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 11:50:39,166 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 11:50:39,166 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 11:50:39,167 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 11:50:39,169 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 11:50:39,169 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 11:50:39,169 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 11:50:39,169 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:50:39,169 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 11:50:39,169 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 11:50:39,170 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 11:50:39,170 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 11:50:39,170 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 11:50:39,170 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 11:50:39,170 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 11:50:39,170 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 11:50:39,170 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:50:39,330 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 11:50:39,349 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 11:50:39,351 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 11:50:39,351 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 11:50:39,356 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 11:50:39,357 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-27 11:50:39,414 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f6f72a67b/852f3536af8d4edb8ee546258f39f0a3/FLAG181b02992 [2022-04-27 11:50:39,767 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 11:50:39,767 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-27 11:50:39,771 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f6f72a67b/852f3536af8d4edb8ee546258f39f0a3/FLAG181b02992 [2022-04-27 11:50:40,191 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f6f72a67b/852f3536af8d4edb8ee546258f39f0a3 [2022-04-27 11:50:40,192 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 11:50:40,193 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 11:50:40,194 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 11:50:40,194 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 11:50:40,207 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 11:50:40,209 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,210 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@18cc845f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40, skipping insertion in model container [2022-04-27 11:50:40,210 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,214 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 11:50:40,226 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 11:50:40,355 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/egcd2-ll.c[490,503] [2022-04-27 11:50:40,386 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:50:40,390 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 11:50:40,397 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/egcd2-ll.c[490,503] [2022-04-27 11:50:40,411 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:50:40,425 INFO L208 MainTranslator]: Completed translation [2022-04-27 11:50:40,426 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40 WrapperNode [2022-04-27 11:50:40,426 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 11:50:40,427 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 11:50:40,427 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 11:50:40,427 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 11:50:40,434 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,434 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,446 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,447 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,458 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,461 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,462 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,463 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 11:50:40,464 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 11:50:40,464 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 11:50:40,464 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 11:50:40,464 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (1/1) ... [2022-04-27 11:50:40,478 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:50:40,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:50:40,496 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:50:40,513 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:50:40,522 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 11:50:40,522 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 11:50:40,522 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 11:50:40,522 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 11:50:40,522 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 11:50:40,523 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 11:50:40,523 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 11:50:40,524 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 11:50:40,524 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 11:50:40,562 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 11:50:40,563 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 11:50:40,677 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 11:50:40,682 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 11:50:40,682 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 11:50:40,683 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:50:40 BoogieIcfgContainer [2022-04-27 11:50:40,683 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 11:50:40,684 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 11:50:40,684 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 11:50:40,687 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 11:50:40,687 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 11:50:40" (1/3) ... [2022-04-27 11:50:40,687 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@665a4c34 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:50:40, skipping insertion in model container [2022-04-27 11:50:40,687 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:50:40" (2/3) ... [2022-04-27 11:50:40,688 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@665a4c34 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:50:40, skipping insertion in model container [2022-04-27 11:50:40,688 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:50:40" (3/3) ... [2022-04-27 11:50:40,689 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll.c [2022-04-27 11:50:40,697 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 11:50:40,697 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 11:50:40,725 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 11:50:40,729 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@3a56dc23, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7aab2d1d [2022-04-27 11:50:40,729 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 11:50:40,734 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 11:50:40,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-27 11:50:40,740 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:50:40,740 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:50:40,740 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:50:40,743 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:50:40,744 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 1 times [2022-04-27 11:50:40,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:50:40,750 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1243802499] [2022-04-27 11:50:40,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:40,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:50:40,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:40,866 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:50:40,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:40,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(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:50:40,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 11:50:40,890 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 11:50:40,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 11:50:40,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:40,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-27 11:50:40,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 11:50:40,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:40,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-27 11:50:40,910 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 11:50:40,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:40,915 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,916 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-27 11:50:40,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:50:40,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:40,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-27 11:50:40,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:50:40,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(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:50:40,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 11:50:40,928 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 11:50:40,928 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-27 11:50:40,928 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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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:50:40,928 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:50:40,928 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-27 11:50:40,931 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:50:40,931 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,932 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-27 11:50:40,933 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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {41#false} is VALID [2022-04-27 11:50:40,933 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {40#true} is VALID [2022-04-27 11:50:40,933 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,935 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-27 11:50:40,935 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {40#true} is VALID [2022-04-27 11:50:40,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 11:50:40,935 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 11:50:40,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 11:50:40,936 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-27 11:50:40,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-27 11:50:40,936 INFO L272 TraceCheckUtils]: 28: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41#false} is VALID [2022-04-27 11:50:40,936 INFO L290 TraceCheckUtils]: 29: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-27 11:50:40,936 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-27 11:50:40,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-27 11:50:40,937 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 11:50:40,937 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:50:40,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1243802499] [2022-04-27 11:50:40,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1243802499] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:50:40,938 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:50:40,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 11:50:40,939 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072013852] [2022-04-27 11:50:40,940 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:50:40,943 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-27 11:50:40,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:50:40,946 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:40,982 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:50:40,983 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 11:50:40,983 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:50:40,999 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 11:50:41,000 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 11:50:41,002 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:41,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:41,158 INFO L93 Difference]: Finished difference Result 67 states and 106 transitions. [2022-04-27 11:50:41,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 11:50:41,158 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-27 11:50:41,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:50:41,161 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:41,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-27 11:50:41,168 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:41,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-27 11:50:41,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 106 transitions. [2022-04-27 11:50:41,278 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:50:41,291 INFO L225 Difference]: With dead ends: 67 [2022-04-27 11:50:41,291 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 11:50:41,295 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 11:50:41,300 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:50:41,301 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:50:41,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 11:50:41,330 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 11:50:41,330 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:50:41,331 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:41,332 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:41,332 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:41,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:41,336 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 11:50:41,336 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 11:50:41,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:41,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:41,337 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 32 states. [2022-04-27 11:50:41,338 INFO L87 Difference]: Start difference. First operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 32 states. [2022-04-27 11:50:41,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:41,341 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 11:50:41,341 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 11:50:41,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:41,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:41,342 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:50:41,342 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:50:41,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:41,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-27 11:50:41,354 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 32 [2022-04-27 11:50:41,354 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:50:41,355 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-27 11:50:41,355 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:41,356 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 11:50:41,357 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 11:50:41,357 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:50:41,357 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:50:41,358 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 11:50:41,359 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:50:41,362 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:50:41,362 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 1 times [2022-04-27 11:50:41,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:50:41,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [757526659] [2022-04-27 11:50:41,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:41,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:50:41,387 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:50:41,387 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [160669852] [2022-04-27 11:50:41,387 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:41,387 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:50:41,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:50:41,404 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:50:41,420 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:50:41,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:41,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:50:41,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:41,501 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:50:41,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {276#true} call ULTIMATE.init(); {276#true} is VALID [2022-04-27 11:50:41,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {276#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); {276#true} is VALID [2022-04-27 11:50:41,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:41,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {276#true} {276#true} #96#return; {276#true} is VALID [2022-04-27 11:50:41,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {276#true} call #t~ret6 := main(); {276#true} is VALID [2022-04-27 11:50:41,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {276#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {276#true} is VALID [2022-04-27 11:50:41,715 INFO L272 TraceCheckUtils]: 6: Hoare triple {276#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 11:50:41,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 11:50:41,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:41,715 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {276#true} {276#true} #76#return; {276#true} is VALID [2022-04-27 11:50:41,715 INFO L272 TraceCheckUtils]: 11: Hoare triple {276#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {276#true} ~cond := #in~cond; {317#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:50:41,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {317#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {321#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:41,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {321#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {321#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:41,719 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {321#(not (= |assume_abort_if_not_#in~cond| 0))} {276#true} #78#return; {328#(<= 1 main_~y~0)} is VALID [2022-04-27 11:50:41,720 INFO L290 TraceCheckUtils]: 16: Hoare triple {328#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,720 INFO L272 TraceCheckUtils]: 17: Hoare triple {332#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,720 INFO L290 TraceCheckUtils]: 18: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 11:50:41,720 INFO L290 TraceCheckUtils]: 19: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 11:50:41,721 INFO L290 TraceCheckUtils]: 20: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:41,721 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {276#true} {332#(<= 1 main_~b~0)} #80#return; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,721 INFO L272 TraceCheckUtils]: 22: Hoare triple {332#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,721 INFO L290 TraceCheckUtils]: 23: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 11:50:41,722 INFO L290 TraceCheckUtils]: 24: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 11:50:41,722 INFO L290 TraceCheckUtils]: 25: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:41,723 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {276#true} {332#(<= 1 main_~b~0)} #82#return; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,724 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#(<= 1 main_~b~0)} assume !false; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,724 INFO L290 TraceCheckUtils]: 28: Hoare triple {332#(<= 1 main_~b~0)} assume !(0 != ~b~0); {277#false} is VALID [2022-04-27 11:50:41,724 INFO L272 TraceCheckUtils]: 29: Hoare triple {277#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {277#false} is VALID [2022-04-27 11:50:41,724 INFO L290 TraceCheckUtils]: 30: Hoare triple {277#false} ~cond := #in~cond; {277#false} is VALID [2022-04-27 11:50:41,724 INFO L290 TraceCheckUtils]: 31: Hoare triple {277#false} assume 0 == ~cond; {277#false} is VALID [2022-04-27 11:50:41,725 INFO L290 TraceCheckUtils]: 32: Hoare triple {277#false} assume !false; {277#false} is VALID [2022-04-27 11:50:41,725 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 11:50:41,725 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:50:41,985 INFO L290 TraceCheckUtils]: 32: Hoare triple {277#false} assume !false; {277#false} is VALID [2022-04-27 11:50:41,985 INFO L290 TraceCheckUtils]: 31: Hoare triple {277#false} assume 0 == ~cond; {277#false} is VALID [2022-04-27 11:50:41,985 INFO L290 TraceCheckUtils]: 30: Hoare triple {277#false} ~cond := #in~cond; {277#false} is VALID [2022-04-27 11:50:41,987 INFO L272 TraceCheckUtils]: 29: Hoare triple {277#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {277#false} is VALID [2022-04-27 11:50:41,988 INFO L290 TraceCheckUtils]: 28: Hoare triple {332#(<= 1 main_~b~0)} assume !(0 != ~b~0); {277#false} is VALID [2022-04-27 11:50:41,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#(<= 1 main_~b~0)} assume !false; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,989 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {276#true} {332#(<= 1 main_~b~0)} #82#return; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:41,989 INFO L290 TraceCheckUtils]: 24: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 11:50:41,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 11:50:41,990 INFO L272 TraceCheckUtils]: 22: Hoare triple {332#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,990 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {276#true} {332#(<= 1 main_~b~0)} #80#return; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:41,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 11:50:41,991 INFO L290 TraceCheckUtils]: 18: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 11:50:41,991 INFO L272 TraceCheckUtils]: 17: Hoare triple {332#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {328#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {332#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:41,994 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {321#(not (= |assume_abort_if_not_#in~cond| 0))} {276#true} #78#return; {328#(<= 1 main_~y~0)} is VALID [2022-04-27 11:50:41,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {321#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {321#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:41,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {441#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {321#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:41,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {276#true} ~cond := #in~cond; {441#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 11:50:41,996 INFO L272 TraceCheckUtils]: 11: Hoare triple {276#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {276#true} {276#true} #76#return; {276#true} is VALID [2022-04-27 11:50:41,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:41,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {276#true} assume !(0 == ~cond); {276#true} is VALID [2022-04-27 11:50:41,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {276#true} ~cond := #in~cond; {276#true} is VALID [2022-04-27 11:50:41,997 INFO L272 TraceCheckUtils]: 6: Hoare triple {276#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {276#true} is VALID [2022-04-27 11:50:41,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {276#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {276#true} is VALID [2022-04-27 11:50:41,999 INFO L272 TraceCheckUtils]: 4: Hoare triple {276#true} call #t~ret6 := main(); {276#true} is VALID [2022-04-27 11:50:42,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {276#true} {276#true} #96#return; {276#true} is VALID [2022-04-27 11:50:42,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {276#true} assume true; {276#true} is VALID [2022-04-27 11:50:42,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {276#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); {276#true} is VALID [2022-04-27 11:50:42,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {276#true} call ULTIMATE.init(); {276#true} is VALID [2022-04-27 11:50:42,004 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 11:50:42,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:50:42,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [757526659] [2022-04-27 11:50:42,004 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:50:42,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [160669852] [2022-04-27 11:50:42,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [160669852] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:50:42,005 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:50:42,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-27 11:50:42,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1698390287] [2022-04-27 11:50:42,005 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:50:42,006 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 11:50:42,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:50:42,007 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:42,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:50:42,027 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 11:50:42,028 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:50:42,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 11:50:42,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 11:50:42,029 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:42,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:42,305 INFO L93 Difference]: Finished difference Result 49 states and 64 transitions. [2022-04-27 11:50:42,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:50:42,305 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 11:50:42,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:50:42,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:42,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-27 11:50:42,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:42,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-27 11:50:42,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-27 11:50:42,355 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:50:42,356 INFO L225 Difference]: With dead ends: 49 [2022-04-27 11:50:42,356 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 11:50:42,357 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:50:42,358 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 19 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:50:42,358 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 142 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:50:42,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 11:50:42,370 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-27 11:50:42,370 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:50:42,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:42,371 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:42,371 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:42,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:42,374 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-27 11:50:42,374 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-27 11:50:42,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:42,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:42,375 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 41 states. [2022-04-27 11:50:42,375 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 41 states. [2022-04-27 11:50:42,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:42,377 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-27 11:50:42,377 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-27 11:50:42,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:42,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:42,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:50:42,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:50:42,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:42,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-27 11:50:42,380 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 33 [2022-04-27 11:50:42,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:50:42,380 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-27 11:50:42,381 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 11:50:42,381 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-27 11:50:42,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 11:50:42,381 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:50:42,381 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:50:42,398 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:50:42,596 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:50:42,596 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:50:42,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:50:42,597 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 1 times [2022-04-27 11:50:42,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:50:42,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [176255202] [2022-04-27 11:50:42,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:42,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:50:42,611 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:50:42,612 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [483884762] [2022-04-27 11:50:42,612 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:42,612 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:50:42,612 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:50:42,620 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:50:42,636 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:50:42,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:42,661 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:50:42,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:42,679 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:50:42,837 INFO L272 TraceCheckUtils]: 0: Hoare triple {695#true} call ULTIMATE.init(); {695#true} is VALID [2022-04-27 11:50:42,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {695#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); {695#true} is VALID [2022-04-27 11:50:42,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:42,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {695#true} {695#true} #96#return; {695#true} is VALID [2022-04-27 11:50:42,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {695#true} call #t~ret6 := main(); {695#true} is VALID [2022-04-27 11:50:42,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {695#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {695#true} is VALID [2022-04-27 11:50:42,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:42,841 INFO L290 TraceCheckUtils]: 7: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-04-27 11:50:42,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-04-27 11:50:42,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:42,841 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {695#true} {695#true} #76#return; {695#true} is VALID [2022-04-27 11:50:42,841 INFO L272 TraceCheckUtils]: 11: Hoare triple {695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:42,842 INFO L290 TraceCheckUtils]: 12: Hoare triple {695#true} ~cond := #in~cond; {736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:50:42,842 INFO L290 TraceCheckUtils]: 13: Hoare triple {736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:42,842 INFO L290 TraceCheckUtils]: 14: Hoare triple {740#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:42,843 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {740#(not (= |assume_abort_if_not_#in~cond| 0))} {695#true} #78#return; {747#(<= 1 main_~y~0)} is VALID [2022-04-27 11:50:42,843 INFO L290 TraceCheckUtils]: 16: Hoare triple {747#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {751#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:42,844 INFO L272 TraceCheckUtils]: 17: Hoare triple {751#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:42,844 INFO L290 TraceCheckUtils]: 18: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-04-27 11:50:42,844 INFO L290 TraceCheckUtils]: 19: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-04-27 11:50:42,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:42,851 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {695#true} {751#(<= 1 main_~b~0)} #80#return; {751#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:42,851 INFO L272 TraceCheckUtils]: 22: Hoare triple {751#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:42,851 INFO L290 TraceCheckUtils]: 23: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-04-27 11:50:42,852 INFO L290 TraceCheckUtils]: 24: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-04-27 11:50:42,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:42,852 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {695#true} {751#(<= 1 main_~b~0)} #82#return; {751#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:42,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {751#(<= 1 main_~b~0)} assume !false; {751#(<= 1 main_~b~0)} is VALID [2022-04-27 11:50:42,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {751#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {788#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 11:50:42,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {788#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !false; {788#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 11:50:42,854 INFO L272 TraceCheckUtils]: 30: Hoare triple {788#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {795#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:42,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {795#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {799#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:42,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {799#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {696#false} is VALID [2022-04-27 11:50:42,855 INFO L290 TraceCheckUtils]: 33: Hoare triple {696#false} assume !false; {696#false} is VALID [2022-04-27 11:50:42,855 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 11:50:42,855 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:50:43,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {696#false} assume !false; {696#false} is VALID [2022-04-27 11:50:43,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {799#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {696#false} is VALID [2022-04-27 11:50:43,047 INFO L290 TraceCheckUtils]: 31: Hoare triple {795#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {799#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:43,048 INFO L272 TraceCheckUtils]: 30: Hoare triple {815#(= 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)); {795#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:43,048 INFO L290 TraceCheckUtils]: 29: Hoare triple {815#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {815#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 11:50:43,049 INFO L290 TraceCheckUtils]: 28: Hoare triple {695#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {815#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 11:50:43,049 INFO L290 TraceCheckUtils]: 27: Hoare triple {695#true} assume !false; {695#true} is VALID [2022-04-27 11:50:43,049 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {695#true} {695#true} #82#return; {695#true} is VALID [2022-04-27 11:50:43,049 INFO L290 TraceCheckUtils]: 25: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:43,049 INFO L290 TraceCheckUtils]: 24: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-04-27 11:50:43,049 INFO L290 TraceCheckUtils]: 23: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-04-27 11:50:43,049 INFO L272 TraceCheckUtils]: 22: Hoare triple {695#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:43,050 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {695#true} {695#true} #80#return; {695#true} is VALID [2022-04-27 11:50:43,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:43,050 INFO L290 TraceCheckUtils]: 19: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-04-27 11:50:43,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-04-27 11:50:43,050 INFO L272 TraceCheckUtils]: 17: Hoare triple {695#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:43,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {695#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {695#true} is VALID [2022-04-27 11:50:43,050 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {695#true} {695#true} #78#return; {695#true} is VALID [2022-04-27 11:50:43,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:43,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-04-27 11:50:43,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-04-27 11:50:43,050 INFO L272 TraceCheckUtils]: 11: Hoare triple {695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:43,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {695#true} {695#true} #76#return; {695#true} is VALID [2022-04-27 11:50:43,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:43,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {695#true} assume !(0 == ~cond); {695#true} is VALID [2022-04-27 11:50:43,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {695#true} ~cond := #in~cond; {695#true} is VALID [2022-04-27 11:50:43,052 INFO L272 TraceCheckUtils]: 6: Hoare triple {695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {695#true} is VALID [2022-04-27 11:50:43,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {695#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {695#true} is VALID [2022-04-27 11:50:43,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {695#true} call #t~ret6 := main(); {695#true} is VALID [2022-04-27 11:50:43,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {695#true} {695#true} #96#return; {695#true} is VALID [2022-04-27 11:50:43,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {695#true} assume true; {695#true} is VALID [2022-04-27 11:50:43,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {695#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); {695#true} is VALID [2022-04-27 11:50:43,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {695#true} call ULTIMATE.init(); {695#true} is VALID [2022-04-27 11:50:43,056 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 11:50:43,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:50:43,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [176255202] [2022-04-27 11:50:43,056 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:50:43,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [483884762] [2022-04-27 11:50:43,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [483884762] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 11:50:43,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:50:43,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 11:50:43,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [389557941] [2022-04-27 11:50:43,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:50:43,058 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-27 11:50:43,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:50:43,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 11:50:43,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:50:43,075 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:50:43,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:50:43,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:50:43,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:50:43,076 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 11:50:43,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:43,266 INFO L93 Difference]: Finished difference Result 40 states and 48 transitions. [2022-04-27 11:50:43,266 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:50:43,266 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-27 11:50:43,266 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:50:43,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 11:50:43,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-27 11:50:43,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 11:50:43,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-27 11:50:43,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-04-27 11:50:43,300 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:50:43,301 INFO L225 Difference]: With dead ends: 40 [2022-04-27 11:50:43,301 INFO L226 Difference]: Without dead ends: 38 [2022-04-27 11:50:43,301 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 11:50:43,302 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 6 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:50:43,302 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 117 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:50:43,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-27 11:50:43,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-27 11:50:43,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:50:43,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:43,321 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:43,321 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:43,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:43,324 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2022-04-27 11:50:43,324 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2022-04-27 11:50:43,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:43,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:43,327 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 38 states. [2022-04-27 11:50:43,327 INFO L87 Difference]: Start difference. First operand has 38 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 38 states. [2022-04-27 11:50:43,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:43,331 INFO L93 Difference]: Finished difference Result 38 states and 46 transitions. [2022-04-27 11:50:43,331 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2022-04-27 11:50:43,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:43,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:43,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:50:43,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:50:43,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 11:50:43,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 46 transitions. [2022-04-27 11:50:43,332 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 46 transitions. Word has length 34 [2022-04-27 11:50:43,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:50:43,333 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 46 transitions. [2022-04-27 11:50:43,333 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 11:50:43,333 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2022-04-27 11:50:43,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 11:50:43,333 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:50:43,333 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:50:43,353 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 11:50:43,551 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:50:43,551 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:50:43,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:50:43,552 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 1 times [2022-04-27 11:50:43,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:50:43,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1368991321] [2022-04-27 11:50:43,552 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:43,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:50:43,565 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:50:43,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [121354345] [2022-04-27 11:50:43,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:43,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:50:43,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:50:43,573 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:50:43,574 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:50:43,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:43,612 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 11:50:43,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:43,626 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:50:46,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {1104#true} call ULTIMATE.init(); {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {1104#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); {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {1104#true} assume true; {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1104#true} {1104#true} #96#return; {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {1104#true} call #t~ret6 := main(); {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {1104#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L272 TraceCheckUtils]: 6: Hoare triple {1104#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {1104#true} ~cond := #in~cond; {1104#true} is VALID [2022-04-27 11:50:46,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {1104#true} assume !(0 == ~cond); {1104#true} is VALID [2022-04-27 11:50:46,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {1104#true} assume true; {1104#true} is VALID [2022-04-27 11:50:46,079 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1104#true} {1104#true} #76#return; {1104#true} is VALID [2022-04-27 11:50:46,079 INFO L272 TraceCheckUtils]: 11: Hoare triple {1104#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1104#true} is VALID [2022-04-27 11:50:46,079 INFO L290 TraceCheckUtils]: 12: Hoare triple {1104#true} ~cond := #in~cond; {1104#true} is VALID [2022-04-27 11:50:46,079 INFO L290 TraceCheckUtils]: 13: Hoare triple {1104#true} assume !(0 == ~cond); {1104#true} is VALID [2022-04-27 11:50:46,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {1104#true} assume true; {1104#true} is VALID [2022-04-27 11:50:46,079 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1104#true} {1104#true} #78#return; {1104#true} is VALID [2022-04-27 11:50:46,083 INFO L290 TraceCheckUtils]: 16: Hoare triple {1104#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:50:46,083 INFO L272 TraceCheckUtils]: 17: Hoare triple {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1104#true} is VALID [2022-04-27 11:50:46,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#true} ~cond := #in~cond; {1104#true} is VALID [2022-04-27 11:50:46,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {1104#true} assume !(0 == ~cond); {1104#true} is VALID [2022-04-27 11:50:46,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {1104#true} assume true; {1104#true} is VALID [2022-04-27 11:50:46,084 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1104#true} {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:50:46,084 INFO L272 TraceCheckUtils]: 22: Hoare triple {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1104#true} is VALID [2022-04-27 11:50:46,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {1104#true} ~cond := #in~cond; {1104#true} is VALID [2022-04-27 11:50:46,084 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#true} assume !(0 == ~cond); {1104#true} is VALID [2022-04-27 11:50:46,084 INFO L290 TraceCheckUtils]: 25: Hoare triple {1104#true} assume true; {1104#true} is VALID [2022-04-27 11:50:46,085 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1104#true} {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:50:46,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:50:46,086 INFO L290 TraceCheckUtils]: 28: Hoare triple {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:50:46,086 INFO L290 TraceCheckUtils]: 29: Hoare triple {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:50:46,087 INFO L272 TraceCheckUtils]: 30: Hoare triple {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1104#true} is VALID [2022-04-27 11:50:46,087 INFO L290 TraceCheckUtils]: 31: Hoare triple {1104#true} ~cond := #in~cond; {1104#true} is VALID [2022-04-27 11:50:46,087 INFO L290 TraceCheckUtils]: 32: Hoare triple {1104#true} assume !(0 == ~cond); {1104#true} is VALID [2022-04-27 11:50:46,087 INFO L290 TraceCheckUtils]: 33: Hoare triple {1104#true} assume true; {1104#true} is VALID [2022-04-27 11:50:46,088 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1104#true} {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:50:46,088 INFO L272 TraceCheckUtils]: 35: Hoare triple {1157#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1215#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:46,089 INFO L290 TraceCheckUtils]: 36: Hoare triple {1215#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1219#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:46,090 INFO L290 TraceCheckUtils]: 37: Hoare triple {1219#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1105#false} is VALID [2022-04-27 11:50:46,090 INFO L290 TraceCheckUtils]: 38: Hoare triple {1105#false} assume !false; {1105#false} is VALID [2022-04-27 11:50:46,091 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 11:50:46,091 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:50:46,091 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:50:46,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1368991321] [2022-04-27 11:50:46,091 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:50:46,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [121354345] [2022-04-27 11:50:46,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [121354345] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:50:46,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:50:46,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:50:46,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [756797012] [2022-04-27 11:50:46,092 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:50:46,092 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 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 39 [2022-04-27 11:50:46,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:50:46,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 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:50:46,113 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:50:46,113 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:50:46,113 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:50:46,113 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:50:46,113 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:50:46,114 INFO L87 Difference]: Start difference. First operand 38 states and 46 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 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:50:46,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:46,260 INFO L93 Difference]: Finished difference Result 51 states and 63 transitions. [2022-04-27 11:50:46,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 11:50:46,261 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 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 39 [2022-04-27 11:50:46,261 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:50:46,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 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:50:46,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 11:50:46,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 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:50:46,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 11:50:46,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 11:50:46,305 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:50:46,306 INFO L225 Difference]: With dead ends: 51 [2022-04-27 11:50:46,306 INFO L226 Difference]: Without dead ends: 49 [2022-04-27 11:50:46,306 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 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:50:46,307 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 7 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:50:46,307 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 142 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:50:46,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-27 11:50:46,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 48. [2022-04-27 11:50:46,325 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:50:46,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 48 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:50:46,326 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 48 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:50:46,326 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 48 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:50:46,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:46,328 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-04-27 11:50:46,328 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-04-27 11:50:46,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:46,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:46,328 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 49 states. [2022-04-27 11:50:46,329 INFO L87 Difference]: Start difference. First operand has 48 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 49 states. [2022-04-27 11:50:46,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:46,330 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-04-27 11:50:46,330 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-04-27 11:50:46,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:46,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:46,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:50:46,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:50:46,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 27 states have internal predecessors, (30), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:50:46,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 60 transitions. [2022-04-27 11:50:46,332 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 60 transitions. Word has length 39 [2022-04-27 11:50:46,332 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:50:46,332 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 60 transitions. [2022-04-27 11:50:46,333 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 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:50:46,333 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 60 transitions. [2022-04-27 11:50:46,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 11:50:46,333 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:50:46,345 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:50:46,364 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:50:46,564 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:50:46,564 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:50:46,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:50:46,564 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 1 times [2022-04-27 11:50:46,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:50:46,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1384479089] [2022-04-27 11:50:46,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:46,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:50:46,575 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:50:46,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1708027261] [2022-04-27 11:50:46,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:46,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:50:46,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:50:46,576 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:50:46,577 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:50:46,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:46,627 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:50:46,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:46,635 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:50:48,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {1476#true} call ULTIMATE.init(); {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {1476#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); {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1476#true} {1476#true} #96#return; {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {1476#true} call #t~ret6 := main(); {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {1476#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {1476#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {1476#true} ~cond := #in~cond; {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {1476#true} assume !(0 == ~cond); {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-04-27 11:50:48,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1476#true} {1476#true} #76#return; {1476#true} is VALID [2022-04-27 11:50:48,905 INFO L272 TraceCheckUtils]: 11: Hoare triple {1476#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1476#true} is VALID [2022-04-27 11:50:48,905 INFO L290 TraceCheckUtils]: 12: Hoare triple {1476#true} ~cond := #in~cond; {1517#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:50:48,905 INFO L290 TraceCheckUtils]: 13: Hoare triple {1517#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1521#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:48,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {1521#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1521#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:50:48,906 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1521#(not (= |assume_abort_if_not_#in~cond| 0))} {1476#true} #78#return; {1528#(<= 1 main_~y~0)} is VALID [2022-04-27 11:50:48,907 INFO L290 TraceCheckUtils]: 16: Hoare triple {1528#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1532#(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:50:48,907 INFO L272 TraceCheckUtils]: 17: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1476#true} is VALID [2022-04-27 11:50:48,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {1476#true} ~cond := #in~cond; {1476#true} is VALID [2022-04-27 11:50:48,907 INFO L290 TraceCheckUtils]: 19: Hoare triple {1476#true} assume !(0 == ~cond); {1476#true} is VALID [2022-04-27 11:50:48,907 INFO L290 TraceCheckUtils]: 20: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-04-27 11:50:48,908 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1476#true} {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #80#return; {1532#(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:50:48,910 INFO L272 TraceCheckUtils]: 22: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1476#true} is VALID [2022-04-27 11:50:48,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {1476#true} ~cond := #in~cond; {1476#true} is VALID [2022-04-27 11:50:48,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {1476#true} assume !(0 == ~cond); {1476#true} is VALID [2022-04-27 11:50:48,911 INFO L290 TraceCheckUtils]: 25: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-04-27 11:50:48,912 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1476#true} {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #82#return; {1532#(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:50:48,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {1532#(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:50:48,912 INFO L290 TraceCheckUtils]: 28: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1532#(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:50:48,913 INFO L290 TraceCheckUtils]: 29: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {1532#(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:50:48,913 INFO L272 TraceCheckUtils]: 30: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1476#true} is VALID [2022-04-27 11:50:48,913 INFO L290 TraceCheckUtils]: 31: Hoare triple {1476#true} ~cond := #in~cond; {1476#true} is VALID [2022-04-27 11:50:48,913 INFO L290 TraceCheckUtils]: 32: Hoare triple {1476#true} assume !(0 == ~cond); {1476#true} is VALID [2022-04-27 11:50:48,913 INFO L290 TraceCheckUtils]: 33: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-04-27 11:50:48,916 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1476#true} {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #84#return; {1532#(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:50:48,916 INFO L272 TraceCheckUtils]: 35: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= 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)); {1476#true} is VALID [2022-04-27 11:50:48,916 INFO L290 TraceCheckUtils]: 36: Hoare triple {1476#true} ~cond := #in~cond; {1476#true} is VALID [2022-04-27 11:50:48,916 INFO L290 TraceCheckUtils]: 37: Hoare triple {1476#true} assume !(0 == ~cond); {1476#true} is VALID [2022-04-27 11:50:48,916 INFO L290 TraceCheckUtils]: 38: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-04-27 11:50:48,918 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1476#true} {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #86#return; {1532#(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:50:48,918 INFO L272 TraceCheckUtils]: 40: Hoare triple {1532#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= 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)); {1605#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:48,919 INFO L290 TraceCheckUtils]: 41: Hoare triple {1605#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1609#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:48,919 INFO L290 TraceCheckUtils]: 42: Hoare triple {1609#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1477#false} is VALID [2022-04-27 11:50:48,919 INFO L290 TraceCheckUtils]: 43: Hoare triple {1477#false} assume !false; {1477#false} is VALID [2022-04-27 11:50:48,919 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-27 11:50:48,919 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:51:19,406 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:51:19,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1384479089] [2022-04-27 11:51:19,406 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:51:19,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1708027261] [2022-04-27 11:51:19,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1708027261] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:51:19,406 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:51:19,407 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-04-27 11:51:19,407 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1474216450] [2022-04-27 11:51:19,407 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 11:51:19,407 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-27 11:51:19,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:51:19,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.375) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 11:51:19,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:51:19,457 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 11:51:19,457 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:51:19,457 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 11:51:19,458 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:51:19,458 INFO L87 Difference]: Start difference. First operand 48 states and 60 transitions. Second operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 11:51:20,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:20,137 INFO L93 Difference]: Finished difference Result 55 states and 66 transitions. [2022-04-27 11:51:20,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 11:51:20,138 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-27 11:51:20,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:51:20,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 11:51:20,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-27 11:51:20,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 11:51:20,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-27 11:51:20,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-27 11:51:20,183 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:20,184 INFO L225 Difference]: With dead ends: 55 [2022-04-27 11:51:20,184 INFO L226 Difference]: Without dead ends: 53 [2022-04-27 11:51:20,184 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 40 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 11:51:20,185 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:51:20,185 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 167 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 11:51:20,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-27 11:51:20,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-27 11:51:20,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:51:20,203 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:51:20,204 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:51:20,204 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:51:20,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:20,205 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-27 11:51:20,205 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-27 11:51:20,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:20,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:20,206 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 53 states. [2022-04-27 11:51:20,206 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 53 states. [2022-04-27 11:51:20,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:51:20,208 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-27 11:51:20,208 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-27 11:51:20,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:51:20,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:51:20,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:51:20,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:51:20,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:51:20,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-27 11:51:20,210 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 44 [2022-04-27 11:51:20,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:51:20,210 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-27 11:51:20,210 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 11:51:20,210 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 11:51:20,210 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 11:51:20,210 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:51:20,210 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:51:20,251 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:20,411 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:20,411 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:51:20,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:51:20,412 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 1 times [2022-04-27 11:51:20,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:51:20,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1414500706] [2022-04-27 11:51:20,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:20,412 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:51:20,436 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:51:20,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1941940716] [2022-04-27 11:51:20,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:51:20,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:51:20,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:51:20,448 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:20,449 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:20,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:20,497 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 11:51:20,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:51:20,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:51:27,646 INFO L272 TraceCheckUtils]: 0: Hoare triple {1902#true} call ULTIMATE.init(); {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {1902#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); {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {1902#true} assume true; {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1902#true} {1902#true} #96#return; {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {1902#true} call #t~ret6 := main(); {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {1902#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {1902#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {1902#true} ~cond := #in~cond; {1902#true} is VALID [2022-04-27 11:51:27,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {1902#true} assume !(0 == ~cond); {1902#true} is VALID [2022-04-27 11:51:27,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {1902#true} assume true; {1902#true} is VALID [2022-04-27 11:51:27,647 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1902#true} {1902#true} #76#return; {1902#true} is VALID [2022-04-27 11:51:27,647 INFO L272 TraceCheckUtils]: 11: Hoare triple {1902#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1902#true} is VALID [2022-04-27 11:51:27,647 INFO L290 TraceCheckUtils]: 12: Hoare triple {1902#true} ~cond := #in~cond; {1902#true} is VALID [2022-04-27 11:51:27,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {1902#true} assume !(0 == ~cond); {1902#true} is VALID [2022-04-27 11:51:27,647 INFO L290 TraceCheckUtils]: 14: Hoare triple {1902#true} assume true; {1902#true} is VALID [2022-04-27 11:51:27,647 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1902#true} {1902#true} #78#return; {1902#true} is VALID [2022-04-27 11:51:27,652 INFO L290 TraceCheckUtils]: 16: Hoare triple {1902#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,652 INFO L272 TraceCheckUtils]: 17: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1902#true} is VALID [2022-04-27 11:51:27,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {1902#true} ~cond := #in~cond; {1902#true} is VALID [2022-04-27 11:51:27,652 INFO L290 TraceCheckUtils]: 19: Hoare triple {1902#true} assume !(0 == ~cond); {1902#true} is VALID [2022-04-27 11:51:27,652 INFO L290 TraceCheckUtils]: 20: Hoare triple {1902#true} assume true; {1902#true} is VALID [2022-04-27 11:51:27,659 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1902#true} {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #80#return; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,659 INFO L272 TraceCheckUtils]: 22: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1902#true} is VALID [2022-04-27 11:51:27,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {1902#true} ~cond := #in~cond; {1902#true} is VALID [2022-04-27 11:51:27,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {1902#true} assume !(0 == ~cond); {1902#true} is VALID [2022-04-27 11:51:27,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {1902#true} assume true; {1902#true} is VALID [2022-04-27 11:51:27,660 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1902#true} {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #82#return; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,661 INFO L290 TraceCheckUtils]: 28: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,661 INFO L272 TraceCheckUtils]: 30: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1902#true} is VALID [2022-04-27 11:51:27,661 INFO L290 TraceCheckUtils]: 31: Hoare triple {1902#true} ~cond := #in~cond; {1902#true} is VALID [2022-04-27 11:51:27,661 INFO L290 TraceCheckUtils]: 32: Hoare triple {1902#true} assume !(0 == ~cond); {1902#true} is VALID [2022-04-27 11:51:27,661 INFO L290 TraceCheckUtils]: 33: Hoare triple {1902#true} assume true; {1902#true} is VALID [2022-04-27 11:51:27,662 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1902#true} {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #84#return; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,662 INFO L272 TraceCheckUtils]: 35: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~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)); {1902#true} is VALID [2022-04-27 11:51:27,662 INFO L290 TraceCheckUtils]: 36: Hoare triple {1902#true} ~cond := #in~cond; {2016#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:27,663 INFO L290 TraceCheckUtils]: 37: Hoare triple {2016#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:27,664 INFO L290 TraceCheckUtils]: 38: Hoare triple {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:27,665 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #86#return; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,665 INFO L272 TraceCheckUtils]: 40: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~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)); {1902#true} is VALID [2022-04-27 11:51:27,665 INFO L290 TraceCheckUtils]: 41: Hoare triple {1902#true} ~cond := #in~cond; {2016#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:27,665 INFO L290 TraceCheckUtils]: 42: Hoare triple {2016#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:27,666 INFO L290 TraceCheckUtils]: 43: Hoare triple {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:51:27,666 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2020#(not (= |__VERIFIER_assert_#in~cond| 0))} {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #88#return; {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 11:51:27,667 INFO L272 TraceCheckUtils]: 45: Hoare triple {1955#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2045#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:51:27,667 INFO L290 TraceCheckUtils]: 46: Hoare triple {2045#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2049#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:51:27,667 INFO L290 TraceCheckUtils]: 47: Hoare triple {2049#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1903#false} is VALID [2022-04-27 11:51:27,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {1903#false} assume !false; {1903#false} is VALID [2022-04-27 11:51:27,668 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-27 11:51:27,668 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:52:21,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:21,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1414500706] [2022-04-27 11:52:21,664 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:21,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1941940716] [2022-04-27 11:52:21,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1941940716] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:52:21,664 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:52:21,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-27 11:52:21,664 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1764400868] [2022-04-27 11:52:21,665 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 11:52:21,665 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-27 11:52:21,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:21,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 11:52:21,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:21,701 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 11:52:21,701 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:21,701 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 11:52:21,701 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:52:21,701 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 11:52:21,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:21,997 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-04-27 11:52:21,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 11:52:21,998 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-27 11:52:21,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:21,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 11:52:21,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 11:52:21,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 11:52:22,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 11:52:22,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 11:52:22,047 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:52:22,048 INFO L225 Difference]: With dead ends: 59 [2022-04-27 11:52:22,048 INFO L226 Difference]: Without dead ends: 57 [2022-04-27 11:52:22,049 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-27 11:52:22,049 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 12 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:22,049 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 115 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:52:22,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-27 11:52:22,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2022-04-27 11:52:22,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:22,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 56 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:52:22,069 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 56 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:52:22,070 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 56 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:52:22,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:22,072 INFO L93 Difference]: Finished difference Result 57 states and 67 transitions. [2022-04-27 11:52:22,072 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 67 transitions. [2022-04-27 11:52:22,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:22,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:22,073 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 57 states. [2022-04-27 11:52:22,073 INFO L87 Difference]: Start difference. First operand has 56 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 57 states. [2022-04-27 11:52:22,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:22,074 INFO L93 Difference]: Finished difference Result 57 states and 67 transitions. [2022-04-27 11:52:22,074 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 67 transitions. [2022-04-27 11:52:22,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:22,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:22,075 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:22,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:22,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 32 states have (on average 1.125) internal successors, (36), 33 states have internal predecessors, (36), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 11:52:22,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 66 transitions. [2022-04-27 11:52:22,076 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 66 transitions. Word has length 49 [2022-04-27 11:52:22,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:22,076 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 66 transitions. [2022-04-27 11:52:22,077 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 11:52:22,077 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 66 transitions. [2022-04-27 11:52:22,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-27 11:52:22,077 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:22,077 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:22,109 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:52:22,277 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:52:22,278 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:22,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:22,278 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 1 times [2022-04-27 11:52:22,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:22,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [75987967] [2022-04-27 11:52:22,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:22,279 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:22,298 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:22,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [711858450] [2022-04-27 11:52:22,298 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:22,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:22,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:22,299 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:52:22,315 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:52:22,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:22,346 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 11:52:22,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:22,357 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:22,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {2361#true} call ULTIMATE.init(); {2361#true} is VALID [2022-04-27 11:52:22,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {2361#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); {2361#true} is VALID [2022-04-27 11:52:22,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,548 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2361#true} {2361#true} #96#return; {2361#true} is VALID [2022-04-27 11:52:22,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {2361#true} call #t~ret6 := main(); {2361#true} is VALID [2022-04-27 11:52:22,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {2361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {2361#true} is VALID [2022-04-27 11:52:22,548 INFO L272 TraceCheckUtils]: 6: Hoare triple {2361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,548 INFO L290 TraceCheckUtils]: 7: Hoare triple {2361#true} ~cond := #in~cond; {2387#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:52:22,548 INFO L290 TraceCheckUtils]: 8: Hoare triple {2387#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2391#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:52:22,549 INFO L290 TraceCheckUtils]: 9: Hoare triple {2391#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2391#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:52:22,549 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2391#(not (= |assume_abort_if_not_#in~cond| 0))} {2361#true} #76#return; {2398#(<= 1 main_~x~0)} is VALID [2022-04-27 11:52:22,549 INFO L272 TraceCheckUtils]: 11: Hoare triple {2398#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,549 INFO L290 TraceCheckUtils]: 12: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,549 INFO L290 TraceCheckUtils]: 14: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,550 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2361#true} {2398#(<= 1 main_~x~0)} #78#return; {2398#(<= 1 main_~x~0)} is VALID [2022-04-27 11:52:22,550 INFO L290 TraceCheckUtils]: 16: Hoare triple {2398#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,550 INFO L272 TraceCheckUtils]: 17: Hoare triple {2417#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,550 INFO L290 TraceCheckUtils]: 18: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,551 INFO L290 TraceCheckUtils]: 19: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,551 INFO L290 TraceCheckUtils]: 20: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,551 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2361#true} {2417#(<= 1 main_~a~0)} #80#return; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,551 INFO L272 TraceCheckUtils]: 22: Hoare triple {2417#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,551 INFO L290 TraceCheckUtils]: 23: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,551 INFO L290 TraceCheckUtils]: 25: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,552 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2361#true} {2417#(<= 1 main_~a~0)} #82#return; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {2417#(<= 1 main_~a~0)} assume !false; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {2417#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {2454#(<= 1 main_~c~0)} assume !false; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,553 INFO L272 TraceCheckUtils]: 30: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,553 INFO L290 TraceCheckUtils]: 32: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,553 INFO L290 TraceCheckUtils]: 33: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,554 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #84#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,554 INFO L272 TraceCheckUtils]: 35: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,554 INFO L290 TraceCheckUtils]: 36: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,554 INFO L290 TraceCheckUtils]: 37: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,554 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #86#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,555 INFO L272 TraceCheckUtils]: 40: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,555 INFO L290 TraceCheckUtils]: 41: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,555 INFO L290 TraceCheckUtils]: 43: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,555 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #88#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,556 INFO L272 TraceCheckUtils]: 45: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,556 INFO L290 TraceCheckUtils]: 46: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,556 INFO L290 TraceCheckUtils]: 47: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,556 INFO L290 TraceCheckUtils]: 48: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,556 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #90#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,557 INFO L290 TraceCheckUtils]: 50: Hoare triple {2454#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,557 INFO L290 TraceCheckUtils]: 51: Hoare triple {2454#(<= 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; {2524#(<= 1 main_~b~0)} is VALID [2022-04-27 11:52:22,558 INFO L290 TraceCheckUtils]: 52: Hoare triple {2524#(<= 1 main_~b~0)} assume !false; {2524#(<= 1 main_~b~0)} is VALID [2022-04-27 11:52:22,558 INFO L290 TraceCheckUtils]: 53: Hoare triple {2524#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2362#false} is VALID [2022-04-27 11:52:22,558 INFO L272 TraceCheckUtils]: 54: Hoare triple {2362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2362#false} is VALID [2022-04-27 11:52:22,558 INFO L290 TraceCheckUtils]: 55: Hoare triple {2362#false} ~cond := #in~cond; {2362#false} is VALID [2022-04-27 11:52:22,558 INFO L290 TraceCheckUtils]: 56: Hoare triple {2362#false} assume 0 == ~cond; {2362#false} is VALID [2022-04-27 11:52:22,558 INFO L290 TraceCheckUtils]: 57: Hoare triple {2362#false} assume !false; {2362#false} is VALID [2022-04-27 11:52:22,558 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-27 11:52:22,558 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:52:22,795 INFO L290 TraceCheckUtils]: 57: Hoare triple {2362#false} assume !false; {2362#false} is VALID [2022-04-27 11:52:22,795 INFO L290 TraceCheckUtils]: 56: Hoare triple {2362#false} assume 0 == ~cond; {2362#false} is VALID [2022-04-27 11:52:22,795 INFO L290 TraceCheckUtils]: 55: Hoare triple {2362#false} ~cond := #in~cond; {2362#false} is VALID [2022-04-27 11:52:22,795 INFO L272 TraceCheckUtils]: 54: Hoare triple {2362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2362#false} is VALID [2022-04-27 11:52:22,797 INFO L290 TraceCheckUtils]: 53: Hoare triple {2524#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2362#false} is VALID [2022-04-27 11:52:22,797 INFO L290 TraceCheckUtils]: 52: Hoare triple {2524#(<= 1 main_~b~0)} assume !false; {2524#(<= 1 main_~b~0)} is VALID [2022-04-27 11:52:22,798 INFO L290 TraceCheckUtils]: 51: Hoare triple {2454#(<= 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; {2524#(<= 1 main_~b~0)} is VALID [2022-04-27 11:52:22,798 INFO L290 TraceCheckUtils]: 50: Hoare triple {2454#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,799 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #90#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,799 INFO L290 TraceCheckUtils]: 48: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,799 INFO L290 TraceCheckUtils]: 47: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,799 INFO L290 TraceCheckUtils]: 46: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,799 INFO L272 TraceCheckUtils]: 45: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,801 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #88#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,801 INFO L290 TraceCheckUtils]: 43: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,801 INFO L290 TraceCheckUtils]: 41: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,801 INFO L272 TraceCheckUtils]: 40: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,801 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #86#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,801 INFO L290 TraceCheckUtils]: 38: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,802 INFO L290 TraceCheckUtils]: 37: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,802 INFO L290 TraceCheckUtils]: 36: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,802 INFO L272 TraceCheckUtils]: 35: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,805 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2361#true} {2454#(<= 1 main_~c~0)} #84#return; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,805 INFO L290 TraceCheckUtils]: 32: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,806 INFO L272 TraceCheckUtils]: 30: Hoare triple {2454#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {2454#(<= 1 main_~c~0)} assume !false; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,806 INFO L290 TraceCheckUtils]: 28: Hoare triple {2417#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2454#(<= 1 main_~c~0)} is VALID [2022-04-27 11:52:22,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {2417#(<= 1 main_~a~0)} assume !false; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,807 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2361#true} {2417#(<= 1 main_~a~0)} #82#return; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,807 INFO L290 TraceCheckUtils]: 25: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,807 INFO L290 TraceCheckUtils]: 24: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,807 INFO L290 TraceCheckUtils]: 23: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,807 INFO L272 TraceCheckUtils]: 22: Hoare triple {2417#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,807 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2361#true} {2417#(<= 1 main_~a~0)} #80#return; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,808 INFO L272 TraceCheckUtils]: 17: Hoare triple {2417#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,808 INFO L290 TraceCheckUtils]: 16: Hoare triple {2398#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2417#(<= 1 main_~a~0)} is VALID [2022-04-27 11:52:22,808 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2361#true} {2398#(<= 1 main_~x~0)} #78#return; {2398#(<= 1 main_~x~0)} is VALID [2022-04-27 11:52:22,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {2361#true} assume !(0 == ~cond); {2361#true} is VALID [2022-04-27 11:52:22,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {2361#true} ~cond := #in~cond; {2361#true} is VALID [2022-04-27 11:52:22,809 INFO L272 TraceCheckUtils]: 11: Hoare triple {2398#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,809 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2391#(not (= |assume_abort_if_not_#in~cond| 0))} {2361#true} #76#return; {2398#(<= 1 main_~x~0)} is VALID [2022-04-27 11:52:22,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {2391#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2391#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:52:22,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {2693#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2391#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:52:22,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {2361#true} ~cond := #in~cond; {2693#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 11:52:22,810 INFO L272 TraceCheckUtils]: 6: Hoare triple {2361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2361#true} is VALID [2022-04-27 11:52:22,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {2361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {2361#true} is VALID [2022-04-27 11:52:22,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {2361#true} call #t~ret6 := main(); {2361#true} is VALID [2022-04-27 11:52:22,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2361#true} {2361#true} #96#return; {2361#true} is VALID [2022-04-27 11:52:22,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {2361#true} assume true; {2361#true} is VALID [2022-04-27 11:52:22,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {2361#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); {2361#true} is VALID [2022-04-27 11:52:22,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {2361#true} call ULTIMATE.init(); {2361#true} is VALID [2022-04-27 11:52:22,811 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-27 11:52:22,811 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:22,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [75987967] [2022-04-27 11:52:22,811 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:22,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [711858450] [2022-04-27 11:52:22,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [711858450] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:52:22,811 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:52:22,811 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 11:52:22,811 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [898471228] [2022-04-27 11:52:22,811 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:52:22,812 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-04-27 11:52:22,812 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:22,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 11:52:22,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:22,840 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 11:52:22,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:22,840 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 11:52:22,840 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:52:22,841 INFO L87 Difference]: Start difference. First operand 56 states and 66 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 11:52:23,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:23,429 INFO L93 Difference]: Finished difference Result 103 states and 141 transitions. [2022-04-27 11:52:23,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 11:52:23,429 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-04-27 11:52:23,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:23,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 11:52:23,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-27 11:52:23,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 11:52:23,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-27 11:52:23,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 105 transitions. [2022-04-27 11:52:23,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:23,534 INFO L225 Difference]: With dead ends: 103 [2022-04-27 11:52:23,534 INFO L226 Difference]: Without dead ends: 95 [2022-04-27 11:52:23,534 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 107 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:52:23,534 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 32 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 204 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:23,535 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 204 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:52:23,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-27 11:52:23,629 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 86. [2022-04-27 11:52:23,630 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:23,630 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 86 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 30 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:23,630 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 86 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 30 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:23,630 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 86 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 30 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:23,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:23,633 INFO L93 Difference]: Finished difference Result 95 states and 132 transitions. [2022-04-27 11:52:23,633 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 132 transitions. [2022-04-27 11:52:23,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:23,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:23,634 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 30 states have call predecessors, (30), 30 states have call successors, (30) Second operand 95 states. [2022-04-27 11:52:23,634 INFO L87 Difference]: Start difference. First operand has 86 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 30 states have call predecessors, (30), 30 states have call successors, (30) Second operand 95 states. [2022-04-27 11:52:23,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:23,637 INFO L93 Difference]: Finished difference Result 95 states and 132 transitions. [2022-04-27 11:52:23,637 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 132 transitions. [2022-04-27 11:52:23,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:23,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:23,638 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:23,638 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:23,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 46 states have (on average 1.1956521739130435) internal successors, (55), 47 states have internal predecessors, (55), 32 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 30 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 11:52:23,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 117 transitions. [2022-04-27 11:52:23,640 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 117 transitions. Word has length 58 [2022-04-27 11:52:23,640 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:23,640 INFO L495 AbstractCegarLoop]: Abstraction has 86 states and 117 transitions. [2022-04-27 11:52:23,641 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 11:52:23,641 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 117 transitions. [2022-04-27 11:52:23,641 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 11:52:23,641 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:23,641 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:23,658 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 11:52:23,859 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:52:23,859 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:23,859 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:23,859 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 1 times [2022-04-27 11:52:23,859 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:23,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [433634991] [2022-04-27 11:52:23,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:23,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:23,869 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:23,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [259367223] [2022-04-27 11:52:23,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:23,869 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:23,869 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:23,870 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:52:23,871 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:52:23,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:23,910 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 11:52:23,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:23,920 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:27,463 INFO L272 TraceCheckUtils]: 0: Hoare triple {3216#true} call ULTIMATE.init(); {3216#true} is VALID [2022-04-27 11:52:27,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {3216#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); {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3216#true} {3216#true} #96#return; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L272 TraceCheckUtils]: 4: Hoare triple {3216#true} call #t~ret6 := main(); {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 5: Hoare triple {3216#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L272 TraceCheckUtils]: 6: Hoare triple {3216#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3216#true} {3216#true} #76#return; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L272 TraceCheckUtils]: 11: Hoare triple {3216#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 12: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,464 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3216#true} {3216#true} #78#return; {3216#true} is VALID [2022-04-27 11:52:27,465 INFO L290 TraceCheckUtils]: 16: Hoare triple {3216#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3269#(and (= 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:52:27,465 INFO L272 TraceCheckUtils]: 17: Hoare triple {3269#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,465 INFO L290 TraceCheckUtils]: 18: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,465 INFO L290 TraceCheckUtils]: 19: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,465 INFO L290 TraceCheckUtils]: 20: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,466 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3216#true} {3269#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #80#return; {3269#(and (= 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:52:27,466 INFO L272 TraceCheckUtils]: 22: Hoare triple {3269#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,466 INFO L290 TraceCheckUtils]: 23: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,466 INFO L290 TraceCheckUtils]: 24: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,466 INFO L290 TraceCheckUtils]: 25: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,467 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3216#true} {3269#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {3269#(and (= 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:52:27,467 INFO L290 TraceCheckUtils]: 27: Hoare triple {3269#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {3269#(and (= 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:52:27,467 INFO L290 TraceCheckUtils]: 28: Hoare triple {3269#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3306#(and (= 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:52:27,468 INFO L290 TraceCheckUtils]: 29: Hoare triple {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {3306#(and (= 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:52:27,468 INFO L272 TraceCheckUtils]: 30: Hoare triple {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,468 INFO L290 TraceCheckUtils]: 31: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,468 INFO L290 TraceCheckUtils]: 32: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,468 INFO L290 TraceCheckUtils]: 33: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,469 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3216#true} {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #84#return; {3306#(and (= 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:52:27,469 INFO L272 TraceCheckUtils]: 35: Hoare triple {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,469 INFO L290 TraceCheckUtils]: 36: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,469 INFO L290 TraceCheckUtils]: 37: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,470 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3216#true} {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {3306#(and (= 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:52:27,470 INFO L272 TraceCheckUtils]: 40: Hoare triple {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,470 INFO L290 TraceCheckUtils]: 41: Hoare triple {3216#true} ~cond := #in~cond; {3346#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:27,471 INFO L290 TraceCheckUtils]: 42: Hoare triple {3346#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:27,471 INFO L290 TraceCheckUtils]: 43: Hoare triple {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:27,471 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {3306#(and (= 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:52:27,472 INFO L272 TraceCheckUtils]: 45: Hoare triple {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,472 INFO L290 TraceCheckUtils]: 46: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,472 INFO L290 TraceCheckUtils]: 47: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,472 INFO L290 TraceCheckUtils]: 48: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,472 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {3216#true} {3306#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {3306#(and (= 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:52:27,473 INFO L290 TraceCheckUtils]: 50: Hoare triple {3306#(and (= 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); {3306#(and (= 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:52:27,473 INFO L290 TraceCheckUtils]: 51: Hoare triple {3306#(and (= 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; {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:52:27,474 INFO L290 TraceCheckUtils]: 52: Hoare triple {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:52:27,474 INFO L290 TraceCheckUtils]: 53: Hoare triple {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:52:27,474 INFO L290 TraceCheckUtils]: 54: Hoare triple {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:52:27,475 INFO L272 TraceCheckUtils]: 55: Hoare triple {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:27,475 INFO L290 TraceCheckUtils]: 56: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:27,475 INFO L290 TraceCheckUtils]: 57: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:27,475 INFO L290 TraceCheckUtils]: 58: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:27,475 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3216#true} {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #84#return; {3378#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 11:52:27,476 INFO L272 TraceCheckUtils]: 60: Hoare triple {3378#(and (= 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)); {3406#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:27,476 INFO L290 TraceCheckUtils]: 61: Hoare triple {3406#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3410#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:27,477 INFO L290 TraceCheckUtils]: 62: Hoare triple {3410#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3217#false} is VALID [2022-04-27 11:52:27,477 INFO L290 TraceCheckUtils]: 63: Hoare triple {3217#false} assume !false; {3217#false} is VALID [2022-04-27 11:52:27,477 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-27 11:52:27,477 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:52:41,857 INFO L290 TraceCheckUtils]: 63: Hoare triple {3217#false} assume !false; {3217#false} is VALID [2022-04-27 11:52:41,857 INFO L290 TraceCheckUtils]: 62: Hoare triple {3410#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3217#false} is VALID [2022-04-27 11:52:41,858 INFO L290 TraceCheckUtils]: 61: Hoare triple {3406#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3410#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:41,858 INFO L272 TraceCheckUtils]: 60: Hoare triple {3426#(= 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)); {3406#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:41,859 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3216#true} {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:52:41,859 INFO L290 TraceCheckUtils]: 58: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,859 INFO L290 TraceCheckUtils]: 57: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,859 INFO L290 TraceCheckUtils]: 56: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,859 INFO L272 TraceCheckUtils]: 55: Hoare triple {3426#(= main_~a~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)); {3216#true} is VALID [2022-04-27 11:52:41,860 INFO L290 TraceCheckUtils]: 54: Hoare triple {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:52:41,861 INFO L290 TraceCheckUtils]: 53: Hoare triple {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:52:41,861 INFO L290 TraceCheckUtils]: 52: Hoare triple {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:52:41,862 INFO L290 TraceCheckUtils]: 51: Hoare triple {3454#(= 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; {3426#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 11:52:41,862 INFO L290 TraceCheckUtils]: 50: Hoare triple {3454#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {3454#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:41,863 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {3216#true} {3454#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #90#return; {3454#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:41,863 INFO L290 TraceCheckUtils]: 48: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,863 INFO L290 TraceCheckUtils]: 47: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,863 INFO L290 TraceCheckUtils]: 46: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,863 INFO L272 TraceCheckUtils]: 45: Hoare triple {3454#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,863 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} {3216#true} #88#return; {3454#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:41,864 INFO L290 TraceCheckUtils]: 43: Hoare triple {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:41,864 INFO L290 TraceCheckUtils]: 42: Hoare triple {3485#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3350#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:41,864 INFO L290 TraceCheckUtils]: 41: Hoare triple {3216#true} ~cond := #in~cond; {3485#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:52:41,864 INFO L272 TraceCheckUtils]: 40: Hoare triple {3216#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3216#true} {3216#true} #86#return; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 38: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 37: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L272 TraceCheckUtils]: 35: Hoare triple {3216#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3216#true} {3216#true} #84#return; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 33: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 32: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 31: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L272 TraceCheckUtils]: 30: Hoare triple {3216#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 29: Hoare triple {3216#true} assume !false; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 28: Hoare triple {3216#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {3216#true} assume !false; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3216#true} {3216#true} #82#return; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 25: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,865 INFO L290 TraceCheckUtils]: 24: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 23: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L272 TraceCheckUtils]: 22: Hoare triple {3216#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3216#true} {3216#true} #80#return; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 20: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 19: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L272 TraceCheckUtils]: 17: Hoare triple {3216#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {3216#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3216#true} {3216#true} #78#return; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L272 TraceCheckUtils]: 11: Hoare triple {3216#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3216#true} {3216#true} #76#return; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,866 INFO L290 TraceCheckUtils]: 8: Hoare triple {3216#true} assume !(0 == ~cond); {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {3216#true} ~cond := #in~cond; {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L272 TraceCheckUtils]: 6: Hoare triple {3216#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {3216#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {3216#true} call #t~ret6 := main(); {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3216#true} {3216#true} #96#return; {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {3216#true} assume true; {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {3216#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); {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {3216#true} call ULTIMATE.init(); {3216#true} is VALID [2022-04-27 11:52:41,867 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-27 11:52:41,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:41,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [433634991] [2022-04-27 11:52:41,867 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:41,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [259367223] [2022-04-27 11:52:41,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [259367223] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:52:41,868 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:52:41,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-27 11:52:41,868 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1514518607] [2022-04-27 11:52:41,868 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:52:41,868 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) Word has length 64 [2022-04-27 11:52:41,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:41,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:52:41,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:41,917 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 11:52:41,918 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:41,918 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 11:52:41,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-27 11:52:41,918 INFO L87 Difference]: Start difference. First operand 86 states and 117 transitions. Second operand has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:52:43,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:43,100 INFO L93 Difference]: Finished difference Result 129 states and 182 transitions. [2022-04-27 11:52:43,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 11:52:43,101 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) Word has length 64 [2022-04-27 11:52:43,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:43,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:52:43,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 104 transitions. [2022-04-27 11:52:43,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:52:43,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 104 transitions. [2022-04-27 11:52:43,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 104 transitions. [2022-04-27 11:52:43,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:43,200 INFO L225 Difference]: With dead ends: 129 [2022-04-27 11:52:43,200 INFO L226 Difference]: Without dead ends: 125 [2022-04-27 11:52:43,201 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 120 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2022-04-27 11:52:43,201 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 30 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 395 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 444 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 395 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:43,201 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 235 Invalid, 444 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 395 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 11:52:43,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-27 11:52:43,280 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 93. [2022-04-27 11:52:43,280 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:43,280 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 93 states, 50 states have (on average 1.18) internal successors, (59), 52 states have internal predecessors, (59), 34 states have call successors, (34), 9 states have call predecessors, (34), 8 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 11:52:43,280 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 93 states, 50 states have (on average 1.18) internal successors, (59), 52 states have internal predecessors, (59), 34 states have call successors, (34), 9 states have call predecessors, (34), 8 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 11:52:43,281 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 93 states, 50 states have (on average 1.18) internal successors, (59), 52 states have internal predecessors, (59), 34 states have call successors, (34), 9 states have call predecessors, (34), 8 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 11:52:43,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:43,284 INFO L93 Difference]: Finished difference Result 125 states and 176 transitions. [2022-04-27 11:52:43,284 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 176 transitions. [2022-04-27 11:52:43,284 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:43,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:43,285 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 50 states have (on average 1.18) internal successors, (59), 52 states have internal predecessors, (59), 34 states have call successors, (34), 9 states have call predecessors, (34), 8 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) Second operand 125 states. [2022-04-27 11:52:43,288 INFO L87 Difference]: Start difference. First operand has 93 states, 50 states have (on average 1.18) internal successors, (59), 52 states have internal predecessors, (59), 34 states have call successors, (34), 9 states have call predecessors, (34), 8 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) Second operand 125 states. [2022-04-27 11:52:43,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:43,291 INFO L93 Difference]: Finished difference Result 125 states and 176 transitions. [2022-04-27 11:52:43,291 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 176 transitions. [2022-04-27 11:52:43,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:43,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:43,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:43,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:43,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 50 states have (on average 1.18) internal successors, (59), 52 states have internal predecessors, (59), 34 states have call successors, (34), 9 states have call predecessors, (34), 8 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 11:52:43,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 125 transitions. [2022-04-27 11:52:43,294 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 125 transitions. Word has length 64 [2022-04-27 11:52:43,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:43,295 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 125 transitions. [2022-04-27 11:52:43,295 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-27 11:52:43,295 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 125 transitions. [2022-04-27 11:52:43,295 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-27 11:52:43,295 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:43,295 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:52:43,311 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 11:52:43,511 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:52:43,511 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:43,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:43,512 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 2 times [2022-04-27 11:52:43,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:43,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1791738767] [2022-04-27 11:52:43,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:43,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:43,527 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:43,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1266913396] [2022-04-27 11:52:43,527 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:52:43,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:43,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:43,530 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:52:43,530 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:52:43,585 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:52:43,585 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:52:43,586 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-27 11:52:43,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:43,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:44,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {4231#true} call ULTIMATE.init(); {4231#true} is VALID [2022-04-27 11:52:44,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {4231#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); {4231#true} is VALID [2022-04-27 11:52:44,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4231#true} {4231#true} #96#return; {4231#true} is VALID [2022-04-27 11:52:44,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {4231#true} call #t~ret6 := main(); {4231#true} is VALID [2022-04-27 11:52:44,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {4231#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {4231#true} is VALID [2022-04-27 11:52:44,203 INFO L272 TraceCheckUtils]: 6: Hoare triple {4231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,203 INFO L290 TraceCheckUtils]: 7: Hoare triple {4231#true} ~cond := #in~cond; {4257#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 11:52:44,203 INFO L290 TraceCheckUtils]: 8: Hoare triple {4257#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4261#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:52:44,203 INFO L290 TraceCheckUtils]: 9: Hoare triple {4261#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4261#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 11:52:44,204 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4261#(not (= |assume_abort_if_not_#in~cond| 0))} {4231#true} #76#return; {4268#(<= 1 main_~x~0)} is VALID [2022-04-27 11:52:44,204 INFO L272 TraceCheckUtils]: 11: Hoare triple {4268#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,204 INFO L290 TraceCheckUtils]: 12: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,204 INFO L290 TraceCheckUtils]: 14: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,204 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4231#true} {4268#(<= 1 main_~x~0)} #78#return; {4268#(<= 1 main_~x~0)} is VALID [2022-04-27 11:52:44,205 INFO L290 TraceCheckUtils]: 16: Hoare triple {4268#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4287#(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 11:52:44,205 INFO L272 TraceCheckUtils]: 17: Hoare triple {4287#(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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,205 INFO L290 TraceCheckUtils]: 18: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,205 INFO L290 TraceCheckUtils]: 19: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,205 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4231#true} {4287#(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))} #80#return; {4287#(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 11:52:44,205 INFO L272 TraceCheckUtils]: 22: Hoare triple {4287#(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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,206 INFO L290 TraceCheckUtils]: 23: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,206 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4231#true} {4287#(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))} #82#return; {4287#(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 11:52:44,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {4287#(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; {4287#(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 11:52:44,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {4287#(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);~c~0 := ~a~0;~k~0 := 0; {4324#(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 11:52:44,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {4324#(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; {4324#(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 11:52:44,207 INFO L272 TraceCheckUtils]: 30: Hoare triple {4324#(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))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,207 INFO L290 TraceCheckUtils]: 33: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,208 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4231#true} {4324#(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))} #84#return; {4324#(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 11:52:44,208 INFO L272 TraceCheckUtils]: 35: Hoare triple {4324#(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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,208 INFO L290 TraceCheckUtils]: 37: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,208 INFO L290 TraceCheckUtils]: 38: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,209 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4231#true} {4324#(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))} #86#return; {4324#(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 11:52:44,209 INFO L272 TraceCheckUtils]: 40: Hoare triple {4324#(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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,209 INFO L290 TraceCheckUtils]: 41: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,209 INFO L290 TraceCheckUtils]: 42: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,209 INFO L290 TraceCheckUtils]: 43: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,210 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4231#true} {4324#(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))} #88#return; {4324#(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 11:52:44,210 INFO L272 TraceCheckUtils]: 45: Hoare triple {4324#(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))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,210 INFO L290 TraceCheckUtils]: 46: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,210 INFO L290 TraceCheckUtils]: 47: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,210 INFO L290 TraceCheckUtils]: 48: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,210 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4231#true} {4324#(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))} #90#return; {4324#(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 11:52:44,211 INFO L290 TraceCheckUtils]: 50: Hoare triple {4324#(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); {4391#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:52:44,211 INFO L290 TraceCheckUtils]: 51: Hoare triple {4391#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~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; {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:52:44,212 INFO L290 TraceCheckUtils]: 52: Hoare triple {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:52:44,212 INFO L290 TraceCheckUtils]: 53: Hoare triple {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:52:44,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:52:44,212 INFO L272 TraceCheckUtils]: 55: Hoare triple {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,212 INFO L290 TraceCheckUtils]: 56: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,213 INFO L290 TraceCheckUtils]: 57: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,213 INFO L290 TraceCheckUtils]: 58: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,213 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4231#true} {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #84#return; {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:52:44,213 INFO L272 TraceCheckUtils]: 60: Hoare triple {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:44,213 INFO L290 TraceCheckUtils]: 61: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,213 INFO L290 TraceCheckUtils]: 62: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,213 INFO L290 TraceCheckUtils]: 63: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,214 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4231#true} {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #86#return; {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 11:52:44,214 INFO L272 TraceCheckUtils]: 65: Hoare triple {4395#(and (= main_~s~0 0) (<= 1 main_~x~0) (not (<= main_~y~0 main_~x~0)) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:44,215 INFO L290 TraceCheckUtils]: 66: Hoare triple {4438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:44,215 INFO L290 TraceCheckUtils]: 67: Hoare triple {4442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4232#false} is VALID [2022-04-27 11:52:44,215 INFO L290 TraceCheckUtils]: 68: Hoare triple {4232#false} assume !false; {4232#false} is VALID [2022-04-27 11:52:44,215 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-27 11:52:44,215 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:52:44,644 INFO L290 TraceCheckUtils]: 68: Hoare triple {4232#false} assume !false; {4232#false} is VALID [2022-04-27 11:52:44,645 INFO L290 TraceCheckUtils]: 67: Hoare triple {4442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4232#false} is VALID [2022-04-27 11:52:44,645 INFO L290 TraceCheckUtils]: 66: Hoare triple {4438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:44,645 INFO L272 TraceCheckUtils]: 65: Hoare triple {4458#(= 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)); {4438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:44,646 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4231#true} {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:44,646 INFO L290 TraceCheckUtils]: 63: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,646 INFO L290 TraceCheckUtils]: 62: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,646 INFO L290 TraceCheckUtils]: 61: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,646 INFO L272 TraceCheckUtils]: 60: Hoare triple {4458#(= 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)); {4231#true} is VALID [2022-04-27 11:52:44,646 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4231#true} {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:44,646 INFO L290 TraceCheckUtils]: 58: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:44,646 INFO L290 TraceCheckUtils]: 57: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:44,647 INFO L290 TraceCheckUtils]: 56: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:44,647 INFO L272 TraceCheckUtils]: 55: Hoare triple {4458#(= 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)); {4231#true} is VALID [2022-04-27 11:52:44,647 INFO L290 TraceCheckUtils]: 54: Hoare triple {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:44,647 INFO L290 TraceCheckUtils]: 53: Hoare triple {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:44,647 INFO L290 TraceCheckUtils]: 52: Hoare triple {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:52:46,649 WARN L290 TraceCheckUtils]: 51: Hoare triple {4501#(= (+ (* (+ (* (* 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; {4458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-27 11:52:46,649 INFO L290 TraceCheckUtils]: 50: Hoare triple {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {4501#(= (+ (* (+ (* (* 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:52:46,650 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4231#true} {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} #90#return; {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 11:52:46,650 INFO L290 TraceCheckUtils]: 48: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,650 INFO L290 TraceCheckUtils]: 47: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,650 INFO L290 TraceCheckUtils]: 46: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,650 INFO L272 TraceCheckUtils]: 45: Hoare triple {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4231#true} {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} #88#return; {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 11:52:46,651 INFO L290 TraceCheckUtils]: 43: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L290 TraceCheckUtils]: 42: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L290 TraceCheckUtils]: 41: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L272 TraceCheckUtils]: 40: Hoare triple {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4231#true} {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} #86#return; {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 11:52:46,651 INFO L290 TraceCheckUtils]: 38: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L290 TraceCheckUtils]: 37: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,651 INFO L272 TraceCheckUtils]: 35: Hoare triple {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,652 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4231#true} {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} #84#return; {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 11:52:46,652 INFO L290 TraceCheckUtils]: 33: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,652 INFO L290 TraceCheckUtils]: 32: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,652 INFO L290 TraceCheckUtils]: 31: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,652 INFO L272 TraceCheckUtils]: 30: Hoare triple {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,652 INFO L290 TraceCheckUtils]: 29: Hoare triple {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} assume !false; {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 11:52:46,653 INFO L290 TraceCheckUtils]: 28: Hoare triple {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4505#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 11:52:46,653 INFO L290 TraceCheckUtils]: 27: Hoare triple {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 11:52:46,653 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4231#true} {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #82#return; {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 11:52:46,654 INFO L290 TraceCheckUtils]: 25: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,654 INFO L290 TraceCheckUtils]: 24: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,654 INFO L290 TraceCheckUtils]: 23: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,654 INFO L272 TraceCheckUtils]: 22: Hoare triple {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,654 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4231#true} {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #80#return; {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 11:52:46,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,654 INFO L290 TraceCheckUtils]: 19: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,654 INFO L290 TraceCheckUtils]: 18: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,654 INFO L272 TraceCheckUtils]: 17: Hoare triple {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 16: Hoare triple {4231#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4572#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 11:52:46,655 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4231#true} {4231#true} #78#return; {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 12: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L272 TraceCheckUtils]: 11: Hoare triple {4231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4231#true} {4231#true} #76#return; {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {4231#true} assume !(0 == ~cond); {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {4231#true} ~cond := #in~cond; {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {4231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {4231#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {4231#true} is VALID [2022-04-27 11:52:46,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {4231#true} call #t~ret6 := main(); {4231#true} is VALID [2022-04-27 11:52:46,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4231#true} {4231#true} #96#return; {4231#true} is VALID [2022-04-27 11:52:46,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {4231#true} assume true; {4231#true} is VALID [2022-04-27 11:52:46,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {4231#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); {4231#true} is VALID [2022-04-27 11:52:46,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {4231#true} call ULTIMATE.init(); {4231#true} is VALID [2022-04-27 11:52:46,656 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 11:52:46,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:52:46,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1791738767] [2022-04-27 11:52:46,656 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:52:46,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1266913396] [2022-04-27 11:52:46,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1266913396] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:52:46,657 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:52:46,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-27 11:52:46,659 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2019472200] [2022-04-27 11:52:46,659 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:52:46,662 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2) internal successors, (33), 13 states have internal predecessors, (33), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 69 [2022-04-27 11:52:46,662 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:52:46,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.2) internal successors, (33), 13 states have internal predecessors, (33), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 11:52:46,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:46,793 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 11:52:46,793 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:52:46,794 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 11:52:46,794 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:52:46,794 INFO L87 Difference]: Start difference. First operand 93 states and 125 transitions. Second operand has 15 states, 15 states have (on average 2.2) internal successors, (33), 13 states have internal predecessors, (33), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 11:52:53,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:53,574 INFO L93 Difference]: Finished difference Result 229 states and 335 transitions. [2022-04-27 11:52:53,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 11:52:53,574 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2) internal successors, (33), 13 states have internal predecessors, (33), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 69 [2022-04-27 11:52:53,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:52:53,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2) internal successors, (33), 13 states have internal predecessors, (33), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 11:52:53,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 168 transitions. [2022-04-27 11:52:53,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2) internal successors, (33), 13 states have internal predecessors, (33), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 11:52:53,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 168 transitions. [2022-04-27 11:52:53,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 168 transitions. [2022-04-27 11:52:53,809 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:52:53,813 INFO L225 Difference]: With dead ends: 229 [2022-04-27 11:52:53,813 INFO L226 Difference]: Without dead ends: 227 [2022-04-27 11:52:53,814 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 123 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=225, Invalid=767, Unknown=0, NotChecked=0, Total=992 [2022-04-27 11:52:53,814 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 92 mSDsluCounter, 244 mSDsCounter, 0 mSdLazyCounter, 422 mSolverCounterSat, 151 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 96 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 573 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 151 IncrementalHoareTripleChecker+Valid, 422 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:52:53,814 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [96 Valid, 302 Invalid, 573 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [151 Valid, 422 Invalid, 0 Unknown, 0 Unchecked, 2.7s Time] [2022-04-27 11:52:53,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-27 11:52:54,045 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 178. [2022-04-27 11:52:54,046 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:52:54,046 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 178 states, 97 states have (on average 1.2164948453608246) internal successors, (118), 100 states have internal predecessors, (118), 69 states have call successors, (69), 12 states have call predecessors, (69), 11 states have return successors, (67), 65 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-27 11:52:54,046 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 178 states, 97 states have (on average 1.2164948453608246) internal successors, (118), 100 states have internal predecessors, (118), 69 states have call successors, (69), 12 states have call predecessors, (69), 11 states have return successors, (67), 65 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-27 11:52:54,047 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 178 states, 97 states have (on average 1.2164948453608246) internal successors, (118), 100 states have internal predecessors, (118), 69 states have call successors, (69), 12 states have call predecessors, (69), 11 states have return successors, (67), 65 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-27 11:52:54,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:54,072 INFO L93 Difference]: Finished difference Result 227 states and 333 transitions. [2022-04-27 11:52:54,072 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 333 transitions. [2022-04-27 11:52:54,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:54,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:54,075 INFO L74 IsIncluded]: Start isIncluded. First operand has 178 states, 97 states have (on average 1.2164948453608246) internal successors, (118), 100 states have internal predecessors, (118), 69 states have call successors, (69), 12 states have call predecessors, (69), 11 states have return successors, (67), 65 states have call predecessors, (67), 67 states have call successors, (67) Second operand 227 states. [2022-04-27 11:52:54,075 INFO L87 Difference]: Start difference. First operand has 178 states, 97 states have (on average 1.2164948453608246) internal successors, (118), 100 states have internal predecessors, (118), 69 states have call successors, (69), 12 states have call predecessors, (69), 11 states have return successors, (67), 65 states have call predecessors, (67), 67 states have call successors, (67) Second operand 227 states. [2022-04-27 11:52:54,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:52:54,090 INFO L93 Difference]: Finished difference Result 227 states and 333 transitions. [2022-04-27 11:52:54,090 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 333 transitions. [2022-04-27 11:52:54,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:52:54,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:52:54,091 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:52:54,091 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:52:54,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 178 states, 97 states have (on average 1.2164948453608246) internal successors, (118), 100 states have internal predecessors, (118), 69 states have call successors, (69), 12 states have call predecessors, (69), 11 states have return successors, (67), 65 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-27 11:52:54,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 178 states to 178 states and 254 transitions. [2022-04-27 11:52:54,101 INFO L78 Accepts]: Start accepts. Automaton has 178 states and 254 transitions. Word has length 69 [2022-04-27 11:52:54,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:52:54,101 INFO L495 AbstractCegarLoop]: Abstraction has 178 states and 254 transitions. [2022-04-27 11:52:54,101 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.2) internal successors, (33), 13 states have internal predecessors, (33), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 11:52:54,101 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 254 transitions. [2022-04-27 11:52:54,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-27 11:52:54,102 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:52:54,102 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 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:52:54,120 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:52:54,318 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:52:54,318 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:52:54,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:52:54,319 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 3 times [2022-04-27 11:52:54,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:52:54,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [739518420] [2022-04-27 11:52:54,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:52:54,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:52:54,327 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:52:54,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [409606833] [2022-04-27 11:52:54,328 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:52:54,328 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:52:54,328 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:52:54,331 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:52:54,334 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:52:54,374 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 11:52:54,374 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:52:54,375 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-27 11:52:54,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:52:54,388 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:52:58,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {5804#true} call ULTIMATE.init(); {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {5804#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); {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5804#true} {5804#true} #96#return; {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L272 TraceCheckUtils]: 4: Hoare triple {5804#true} call #t~ret6 := main(); {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L290 TraceCheckUtils]: 5: Hoare triple {5804#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L272 TraceCheckUtils]: 6: Hoare triple {5804#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L290 TraceCheckUtils]: 7: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5804#true} {5804#true} #76#return; {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L272 TraceCheckUtils]: 11: Hoare triple {5804#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L290 TraceCheckUtils]: 14: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5804#true} {5804#true} #78#return; {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L290 TraceCheckUtils]: 16: Hoare triple {5804#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:52:58,972 INFO L272 TraceCheckUtils]: 17: Hoare triple {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,973 INFO L290 TraceCheckUtils]: 20: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,973 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5804#true} {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #80#return; {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:52:58,973 INFO L272 TraceCheckUtils]: 22: Hoare triple {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,973 INFO L290 TraceCheckUtils]: 23: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,973 INFO L290 TraceCheckUtils]: 24: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,973 INFO L290 TraceCheckUtils]: 25: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,974 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5804#true} {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #82#return; {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:52:58,974 INFO L290 TraceCheckUtils]: 27: Hoare triple {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:52:58,975 INFO L290 TraceCheckUtils]: 28: Hoare triple {5857#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:52:58,975 INFO L290 TraceCheckUtils]: 29: Hoare triple {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !false; {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:52:58,975 INFO L272 TraceCheckUtils]: 30: Hoare triple {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,975 INFO L290 TraceCheckUtils]: 31: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,975 INFO L290 TraceCheckUtils]: 32: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,975 INFO L290 TraceCheckUtils]: 33: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,976 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5804#true} {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #84#return; {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:52:58,976 INFO L272 TraceCheckUtils]: 35: Hoare triple {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,976 INFO L290 TraceCheckUtils]: 36: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,976 INFO L290 TraceCheckUtils]: 37: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,976 INFO L290 TraceCheckUtils]: 38: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,977 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5804#true} {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #86#return; {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:52:58,977 INFO L272 TraceCheckUtils]: 40: Hoare triple {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,977 INFO L290 TraceCheckUtils]: 41: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,977 INFO L290 TraceCheckUtils]: 42: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,977 INFO L290 TraceCheckUtils]: 43: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,978 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5804#true} {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #88#return; {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:52:58,978 INFO L272 TraceCheckUtils]: 45: Hoare triple {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,978 INFO L290 TraceCheckUtils]: 46: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,978 INFO L290 TraceCheckUtils]: 47: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,978 INFO L290 TraceCheckUtils]: 48: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,979 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {5804#true} {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #90#return; {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:52:58,979 INFO L290 TraceCheckUtils]: 50: Hoare triple {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:52:58,980 INFO L290 TraceCheckUtils]: 51: Hoare triple {5894#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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; {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:52:58,980 INFO L290 TraceCheckUtils]: 52: Hoare triple {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:52:58,980 INFO L290 TraceCheckUtils]: 53: Hoare triple {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:52:58,981 INFO L290 TraceCheckUtils]: 54: Hoare triple {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:52:58,981 INFO L272 TraceCheckUtils]: 55: Hoare triple {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,981 INFO L290 TraceCheckUtils]: 56: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,981 INFO L290 TraceCheckUtils]: 57: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,981 INFO L290 TraceCheckUtils]: 58: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,981 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5804#true} {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:52:58,982 INFO L272 TraceCheckUtils]: 60: Hoare triple {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,982 INFO L290 TraceCheckUtils]: 61: Hoare triple {5804#true} ~cond := #in~cond; {5804#true} is VALID [2022-04-27 11:52:58,982 INFO L290 TraceCheckUtils]: 62: Hoare triple {5804#true} assume !(0 == ~cond); {5804#true} is VALID [2022-04-27 11:52:58,982 INFO L290 TraceCheckUtils]: 63: Hoare triple {5804#true} assume true; {5804#true} is VALID [2022-04-27 11:52:58,982 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {5804#true} {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:52:58,982 INFO L272 TraceCheckUtils]: 65: Hoare triple {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5804#true} is VALID [2022-04-27 11:52:58,983 INFO L290 TraceCheckUtils]: 66: Hoare triple {5804#true} ~cond := #in~cond; {6010#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:58,983 INFO L290 TraceCheckUtils]: 67: Hoare triple {6010#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6014#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:58,983 INFO L290 TraceCheckUtils]: 68: Hoare triple {6014#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6014#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:52:58,984 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {6014#(not (= |__VERIFIER_assert_#in~cond| 0))} {5964#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {6021#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:52:58,986 INFO L272 TraceCheckUtils]: 70: Hoare triple {6021#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6025#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:52:58,986 INFO L290 TraceCheckUtils]: 71: Hoare triple {6025#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6029#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:52:58,987 INFO L290 TraceCheckUtils]: 72: Hoare triple {6029#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5805#false} is VALID [2022-04-27 11:52:58,987 INFO L290 TraceCheckUtils]: 73: Hoare triple {5805#false} assume !false; {5805#false} is VALID [2022-04-27 11:52:58,987 INFO L134 CoverageAnalysis]: Checked inductivity of 129 backedges. 31 proven. 8 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-27 11:52:58,987 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:53:42,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:53:42,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [739518420] [2022-04-27 11:53:42,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:53:42,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [409606833] [2022-04-27 11:53:42,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [409606833] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:53:42,030 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 11:53:42,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-27 11:53:42,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1205068268] [2022-04-27 11:53:42,030 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 11:53:42,030 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-27 11:53:42,030 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:53:42,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-27 11:53:42,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:42,072 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 11:53:42,072 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:53:42,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 11:53:42,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-04-27 11:53:42,072 INFO L87 Difference]: Start difference. First operand 178 states and 254 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-27 11:53:43,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:43,278 INFO L93 Difference]: Finished difference Result 210 states and 293 transitions. [2022-04-27 11:53:43,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 11:53:43,278 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-27 11:53:43,278 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:53:43,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-27 11:53:43,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 91 transitions. [2022-04-27 11:53:43,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-27 11:53:43,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 91 transitions. [2022-04-27 11:53:43,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 91 transitions. [2022-04-27 11:53:43,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:53:43,366 INFO L225 Difference]: With dead ends: 210 [2022-04-27 11:53:43,366 INFO L226 Difference]: Without dead ends: 208 [2022-04-27 11:53:43,367 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:53:43,367 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 316 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 331 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 316 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:53:43,367 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 178 Invalid, 331 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 316 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 11:53:43,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-27 11:53:43,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 205. [2022-04-27 11:53:43,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:53:43,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 205 states, 113 states have (on average 1.2035398230088497) internal successors, (136), 116 states have internal predecessors, (136), 77 states have call successors, (77), 15 states have call predecessors, (77), 14 states have return successors, (75), 73 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 11:53:43,541 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 205 states, 113 states have (on average 1.2035398230088497) internal successors, (136), 116 states have internal predecessors, (136), 77 states have call successors, (77), 15 states have call predecessors, (77), 14 states have return successors, (75), 73 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 11:53:43,541 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 205 states, 113 states have (on average 1.2035398230088497) internal successors, (136), 116 states have internal predecessors, (136), 77 states have call successors, (77), 15 states have call predecessors, (77), 14 states have return successors, (75), 73 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 11:53:43,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:43,545 INFO L93 Difference]: Finished difference Result 208 states and 291 transitions. [2022-04-27 11:53:43,546 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 291 transitions. [2022-04-27 11:53:43,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:43,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:43,547 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 113 states have (on average 1.2035398230088497) internal successors, (136), 116 states have internal predecessors, (136), 77 states have call successors, (77), 15 states have call predecessors, (77), 14 states have return successors, (75), 73 states have call predecessors, (75), 75 states have call successors, (75) Second operand 208 states. [2022-04-27 11:53:43,547 INFO L87 Difference]: Start difference. First operand has 205 states, 113 states have (on average 1.2035398230088497) internal successors, (136), 116 states have internal predecessors, (136), 77 states have call successors, (77), 15 states have call predecessors, (77), 14 states have return successors, (75), 73 states have call predecessors, (75), 75 states have call successors, (75) Second operand 208 states. [2022-04-27 11:53:43,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:53:43,556 INFO L93 Difference]: Finished difference Result 208 states and 291 transitions. [2022-04-27 11:53:43,556 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 291 transitions. [2022-04-27 11:53:43,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:53:43,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:53:43,557 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:53:43,557 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:53:43,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 113 states have (on average 1.2035398230088497) internal successors, (136), 116 states have internal predecessors, (136), 77 states have call successors, (77), 15 states have call predecessors, (77), 14 states have return successors, (75), 73 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 11:53:43,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 288 transitions. [2022-04-27 11:53:43,562 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 288 transitions. Word has length 74 [2022-04-27 11:53:43,564 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:53:43,564 INFO L495 AbstractCegarLoop]: Abstraction has 205 states and 288 transitions. [2022-04-27 11:53:43,564 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-27 11:53:43,564 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 288 transitions. [2022-04-27 11:53:43,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-27 11:53:43,566 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:53:43,566 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:53:43,583 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:53:43,771 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:53:43,772 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:53:43,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:53:43,772 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 1 times [2022-04-27 11:53:43,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:53:43,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1745562077] [2022-04-27 11:53:43,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:53:43,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:53:43,780 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:53:43,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [70874350] [2022-04-27 11:53:43,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:53:43,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:53:43,781 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:53:43,781 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:53:43,784 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:53:43,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:53:43,830 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-27 11:53:43,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:53:43,841 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:53:44,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {7133#true} call ULTIMATE.init(); {7133#true} is VALID [2022-04-27 11:53:44,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {7133#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); {7133#true} is VALID [2022-04-27 11:53:44,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7133#true} {7133#true} #96#return; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L272 TraceCheckUtils]: 4: Hoare triple {7133#true} call #t~ret6 := main(); {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {7133#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L272 TraceCheckUtils]: 6: Hoare triple {7133#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L290 TraceCheckUtils]: 7: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7133#true} {7133#true} #76#return; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L272 TraceCheckUtils]: 11: Hoare triple {7133#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,341 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7133#true} {7133#true} #78#return; {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L290 TraceCheckUtils]: 16: Hoare triple {7133#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7186#(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:53:44,342 INFO L272 TraceCheckUtils]: 17: Hoare triple {7186#(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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7133#true} {7186#(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))} #80#return; {7186#(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:53:44,342 INFO L272 TraceCheckUtils]: 22: Hoare triple {7186#(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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L290 TraceCheckUtils]: 23: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L290 TraceCheckUtils]: 24: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,343 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7133#true} {7186#(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))} #82#return; {7186#(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:53:44,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {7186#(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; {7186#(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:53:44,343 INFO L290 TraceCheckUtils]: 28: Hoare triple {7186#(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);~c~0 := ~a~0;~k~0 := 0; {7223#(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:53:44,344 INFO L290 TraceCheckUtils]: 29: Hoare triple {7223#(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; {7223#(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:53:44,344 INFO L272 TraceCheckUtils]: 30: Hoare triple {7223#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,344 INFO L290 TraceCheckUtils]: 33: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,344 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7133#true} {7223#(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))} #84#return; {7223#(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:53:44,344 INFO L272 TraceCheckUtils]: 35: Hoare triple {7223#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,344 INFO L290 TraceCheckUtils]: 36: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,344 INFO L290 TraceCheckUtils]: 37: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,345 INFO L290 TraceCheckUtils]: 38: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,354 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7133#true} {7223#(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))} #86#return; {7223#(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:53:44,354 INFO L272 TraceCheckUtils]: 40: Hoare triple {7223#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,354 INFO L290 TraceCheckUtils]: 41: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,354 INFO L290 TraceCheckUtils]: 42: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,354 INFO L290 TraceCheckUtils]: 43: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,355 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7133#true} {7223#(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))} #88#return; {7223#(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:53:44,355 INFO L272 TraceCheckUtils]: 45: Hoare triple {7223#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,355 INFO L290 TraceCheckUtils]: 46: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,355 INFO L290 TraceCheckUtils]: 47: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,355 INFO L290 TraceCheckUtils]: 48: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,355 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {7133#true} {7223#(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))} #90#return; {7223#(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:53:44,356 INFO L290 TraceCheckUtils]: 50: Hoare triple {7223#(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);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 11:53:44,356 INFO L290 TraceCheckUtils]: 51: Hoare triple {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 11:53:44,356 INFO L272 TraceCheckUtils]: 52: Hoare triple {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,356 INFO L290 TraceCheckUtils]: 53: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,356 INFO L290 TraceCheckUtils]: 54: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,356 INFO L290 TraceCheckUtils]: 55: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,357 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7133#true} {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 11:53:44,357 INFO L272 TraceCheckUtils]: 57: Hoare triple {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,357 INFO L290 TraceCheckUtils]: 58: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,357 INFO L290 TraceCheckUtils]: 59: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,357 INFO L290 TraceCheckUtils]: 60: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,357 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7133#true} {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 11:53:44,357 INFO L272 TraceCheckUtils]: 62: Hoare triple {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,357 INFO L290 TraceCheckUtils]: 63: Hoare triple {7133#true} ~cond := #in~cond; {7330#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:53:44,358 INFO L290 TraceCheckUtils]: 64: Hoare triple {7330#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:53:44,371 INFO L290 TraceCheckUtils]: 65: Hoare triple {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:53:44,372 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} {7290#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} #88#return; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))) (= main_~p~0 1))} is VALID [2022-04-27 11:53:44,372 INFO L272 TraceCheckUtils]: 67: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:53:44,372 INFO L290 TraceCheckUtils]: 68: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:53:44,372 INFO L290 TraceCheckUtils]: 69: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:53:44,372 INFO L290 TraceCheckUtils]: 70: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:53:44,372 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {7133#true} {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))) (= main_~p~0 1))} #90#return; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))) (= main_~p~0 1))} is VALID [2022-04-27 11:53:44,373 INFO L290 TraceCheckUtils]: 72: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))) (= main_~p~0 1))} is VALID [2022-04-27 11:53:44,373 INFO L290 TraceCheckUtils]: 73: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~q~0 0) (= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~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; {7363#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 11:53:44,373 INFO L290 TraceCheckUtils]: 74: Hoare triple {7363#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !false; {7363#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 11:53:44,373 INFO L290 TraceCheckUtils]: 75: Hoare triple {7363#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {7370#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 11:53:44,374 INFO L272 TraceCheckUtils]: 76: Hoare triple {7370#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:53:44,374 INFO L290 TraceCheckUtils]: 77: Hoare triple {7374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:53:44,374 INFO L290 TraceCheckUtils]: 78: Hoare triple {7378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7134#false} is VALID [2022-04-27 11:53:44,374 INFO L290 TraceCheckUtils]: 79: Hoare triple {7134#false} assume !false; {7134#false} is VALID [2022-04-27 11:53:44,375 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 33 proven. 12 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-27 11:53:44,375 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:54:26,649 INFO L290 TraceCheckUtils]: 79: Hoare triple {7134#false} assume !false; {7134#false} is VALID [2022-04-27 11:54:26,649 INFO L290 TraceCheckUtils]: 78: Hoare triple {7378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7134#false} is VALID [2022-04-27 11:54:26,650 INFO L290 TraceCheckUtils]: 77: Hoare triple {7374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:26,650 INFO L272 TraceCheckUtils]: 76: Hoare triple {7394#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:54:26,651 INFO L290 TraceCheckUtils]: 75: Hoare triple {7398#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {7394#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 11:54:26,651 INFO L290 TraceCheckUtils]: 74: Hoare triple {7398#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {7398#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 11:54:28,652 WARN L290 TraceCheckUtils]: 73: Hoare triple {7405#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~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; {7398#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-27 11:54:28,653 INFO L290 TraceCheckUtils]: 72: Hoare triple {7405#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {7405#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 11:54:28,654 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {7133#true} {7405#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #90#return; {7405#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 11:54:28,654 INFO L290 TraceCheckUtils]: 70: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:28,654 INFO L290 TraceCheckUtils]: 69: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:28,654 INFO L290 TraceCheckUtils]: 68: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:28,654 INFO L272 TraceCheckUtils]: 67: Hoare triple {7405#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:28,655 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #88#return; {7405#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 11:54:28,655 INFO L290 TraceCheckUtils]: 65: Hoare triple {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:28,656 INFO L290 TraceCheckUtils]: 64: Hoare triple {7437#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7334#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:28,656 INFO L290 TraceCheckUtils]: 63: Hoare triple {7133#true} ~cond := #in~cond; {7437#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:54:28,656 INFO L272 TraceCheckUtils]: 62: Hoare triple {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:28,657 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7133#true} {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #86#return; {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 11:54:28,657 INFO L290 TraceCheckUtils]: 60: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:28,657 INFO L290 TraceCheckUtils]: 59: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:28,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:28,657 INFO L272 TraceCheckUtils]: 57: Hoare triple {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:28,658 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7133#true} {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #84#return; {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 11:54:28,658 INFO L290 TraceCheckUtils]: 55: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:28,658 INFO L290 TraceCheckUtils]: 54: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:28,658 INFO L290 TraceCheckUtils]: 53: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:28,658 INFO L272 TraceCheckUtils]: 52: Hoare triple {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:28,658 INFO L290 TraceCheckUtils]: 51: Hoare triple {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 11:54:29,428 INFO L290 TraceCheckUtils]: 50: Hoare triple {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7427#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 11:54:29,429 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {7133#true} {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #90#return; {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,429 INFO L290 TraceCheckUtils]: 48: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,429 INFO L290 TraceCheckUtils]: 47: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,429 INFO L290 TraceCheckUtils]: 46: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,429 INFO L272 TraceCheckUtils]: 45: Hoare triple {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,430 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7133#true} {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #88#return; {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,430 INFO L290 TraceCheckUtils]: 43: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,430 INFO L290 TraceCheckUtils]: 42: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,430 INFO L290 TraceCheckUtils]: 41: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,430 INFO L272 TraceCheckUtils]: 40: Hoare triple {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,431 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7133#true} {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #86#return; {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,431 INFO L290 TraceCheckUtils]: 38: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,431 INFO L290 TraceCheckUtils]: 37: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,431 INFO L290 TraceCheckUtils]: 36: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,431 INFO L272 TraceCheckUtils]: 35: Hoare triple {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,431 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7133#true} {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #84#return; {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,432 INFO L290 TraceCheckUtils]: 33: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,432 INFO L290 TraceCheckUtils]: 32: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,432 INFO L272 TraceCheckUtils]: 30: Hoare triple {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,432 INFO L290 TraceCheckUtils]: 29: Hoare triple {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !false; {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,433 INFO L290 TraceCheckUtils]: 28: Hoare triple {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7477#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !false; {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,434 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7133#true} {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #82#return; {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,434 INFO L290 TraceCheckUtils]: 25: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,434 INFO L290 TraceCheckUtils]: 23: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,434 INFO L272 TraceCheckUtils]: 22: Hoare triple {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,435 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7133#true} {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #80#return; {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,435 INFO L290 TraceCheckUtils]: 20: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,435 INFO L272 TraceCheckUtils]: 17: Hoare triple {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {7133#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7544#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 11:54:29,436 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7133#true} {7133#true} #78#return; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 12: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L272 TraceCheckUtils]: 11: Hoare triple {7133#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7133#true} {7133#true} #76#return; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 9: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 8: Hoare triple {7133#true} assume !(0 == ~cond); {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {7133#true} ~cond := #in~cond; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L272 TraceCheckUtils]: 6: Hoare triple {7133#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {7133#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {7133#true} call #t~ret6 := main(); {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7133#true} {7133#true} #96#return; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {7133#true} assume true; {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {7133#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); {7133#true} is VALID [2022-04-27 11:54:29,436 INFO L272 TraceCheckUtils]: 0: Hoare triple {7133#true} call ULTIMATE.init(); {7133#true} is VALID [2022-04-27 11:54:29,437 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 33 proven. 12 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-27 11:54:29,437 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:54:29,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1745562077] [2022-04-27 11:54:29,437 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:54:29,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [70874350] [2022-04-27 11:54:29,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [70874350] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:54:29,437 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:54:29,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-27 11:54:29,437 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [777091749] [2022-04-27 11:54:29,438 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:54:29,438 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.176470588235294) internal successors, (37), 18 states have internal predecessors, (37), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Word has length 80 [2022-04-27 11:54:29,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:54:29,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 2.176470588235294) internal successors, (37), 18 states have internal predecessors, (37), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-27 11:54:29,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:54:29,816 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 11:54:29,816 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:54:29,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 11:54:29,817 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=284, Unknown=0, NotChecked=0, Total=342 [2022-04-27 11:54:29,817 INFO L87 Difference]: Start difference. First operand 205 states and 288 transitions. Second operand has 19 states, 17 states have (on average 2.176470588235294) internal successors, (37), 18 states have internal predecessors, (37), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-27 11:54:36,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:36,751 INFO L93 Difference]: Finished difference Result 307 states and 440 transitions. [2022-04-27 11:54:36,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-27 11:54:36,751 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.176470588235294) internal successors, (37), 18 states have internal predecessors, (37), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Word has length 80 [2022-04-27 11:54:36,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:54:36,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.176470588235294) internal successors, (37), 18 states have internal predecessors, (37), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-27 11:54:36,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 164 transitions. [2022-04-27 11:54:36,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.176470588235294) internal successors, (37), 18 states have internal predecessors, (37), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-27 11:54:36,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 164 transitions. [2022-04-27 11:54:36,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 164 transitions. [2022-04-27 11:54:37,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:54:37,145 INFO L225 Difference]: With dead ends: 307 [2022-04-27 11:54:37,145 INFO L226 Difference]: Without dead ends: 298 [2022-04-27 11:54:37,146 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 141 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=222, Invalid=1038, Unknown=0, NotChecked=0, Total=1260 [2022-04-27 11:54:37,146 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 65 mSDsluCounter, 252 mSDsCounter, 0 mSdLazyCounter, 904 mSolverCounterSat, 164 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 295 SdHoareTripleChecker+Invalid, 1068 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 164 IncrementalHoareTripleChecker+Valid, 904 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-27 11:54:37,147 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [67 Valid, 295 Invalid, 1068 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [164 Valid, 904 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-27 11:54:37,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 298 states. [2022-04-27 11:54:37,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 298 to 295. [2022-04-27 11:54:37,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:54:37,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 298 states. Second operand has 295 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 167 states have internal predecessors, (198), 113 states have call successors, (113), 18 states have call predecessors, (113), 17 states have return successors, (111), 109 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 11:54:37,593 INFO L74 IsIncluded]: Start isIncluded. First operand 298 states. Second operand has 295 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 167 states have internal predecessors, (198), 113 states have call successors, (113), 18 states have call predecessors, (113), 17 states have return successors, (111), 109 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 11:54:37,594 INFO L87 Difference]: Start difference. First operand 298 states. Second operand has 295 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 167 states have internal predecessors, (198), 113 states have call successors, (113), 18 states have call predecessors, (113), 17 states have return successors, (111), 109 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 11:54:37,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:37,601 INFO L93 Difference]: Finished difference Result 298 states and 426 transitions. [2022-04-27 11:54:37,601 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 426 transitions. [2022-04-27 11:54:37,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:54:37,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:54:37,603 INFO L74 IsIncluded]: Start isIncluded. First operand has 295 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 167 states have internal predecessors, (198), 113 states have call successors, (113), 18 states have call predecessors, (113), 17 states have return successors, (111), 109 states have call predecessors, (111), 111 states have call successors, (111) Second operand 298 states. [2022-04-27 11:54:37,603 INFO L87 Difference]: Start difference. First operand has 295 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 167 states have internal predecessors, (198), 113 states have call successors, (113), 18 states have call predecessors, (113), 17 states have return successors, (111), 109 states have call predecessors, (111), 111 states have call successors, (111) Second operand 298 states. [2022-04-27 11:54:37,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:54:37,610 INFO L93 Difference]: Finished difference Result 298 states and 426 transitions. [2022-04-27 11:54:37,610 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 426 transitions. [2022-04-27 11:54:37,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:54:37,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:54:37,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:54:37,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:54:37,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 295 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 167 states have internal predecessors, (198), 113 states have call successors, (113), 18 states have call predecessors, (113), 17 states have return successors, (111), 109 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 11:54:37,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 295 states to 295 states and 422 transitions. [2022-04-27 11:54:37,620 INFO L78 Accepts]: Start accepts. Automaton has 295 states and 422 transitions. Word has length 80 [2022-04-27 11:54:37,620 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:54:37,620 INFO L495 AbstractCegarLoop]: Abstraction has 295 states and 422 transitions. [2022-04-27 11:54:37,620 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 2.176470588235294) internal successors, (37), 18 states have internal predecessors, (37), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-27 11:54:37,620 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 422 transitions. [2022-04-27 11:54:37,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-27 11:54:37,621 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:54:37,621 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:54:37,637 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-27 11:54:37,837 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:37,837 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:54:37,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:54:37,837 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 1 times [2022-04-27 11:54:37,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:54:37,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1764966377] [2022-04-27 11:54:37,838 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:54:37,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:54:37,855 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:54:37,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1534494334] [2022-04-27 11:54:37,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:54:37,855 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:54:37,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:54:37,857 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:37,858 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:37,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:54:37,934 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-27 11:54:37,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:54:37,951 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:54:38,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {9226#true} call ULTIMATE.init(); {9226#true} is VALID [2022-04-27 11:54:38,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {9226#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); {9226#true} is VALID [2022-04-27 11:54:38,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9226#true} {9226#true} #96#return; {9226#true} is VALID [2022-04-27 11:54:38,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {9226#true} call #t~ret6 := main(); {9226#true} is VALID [2022-04-27 11:54:38,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {9226#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {9226#true} is VALID [2022-04-27 11:54:38,858 INFO L272 TraceCheckUtils]: 6: Hoare triple {9226#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9226#true} {9226#true} #76#return; {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L272 TraceCheckUtils]: 11: Hoare triple {9226#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L290 TraceCheckUtils]: 12: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L290 TraceCheckUtils]: 13: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9226#true} {9226#true} #78#return; {9226#true} is VALID [2022-04-27 11:54:38,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {9226#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,859 INFO L272 TraceCheckUtils]: 17: Hoare triple {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,860 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9226#true} {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,860 INFO L272 TraceCheckUtils]: 22: Hoare triple {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,860 INFO L290 TraceCheckUtils]: 23: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,861 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9226#true} {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,862 INFO L290 TraceCheckUtils]: 28: Hoare triple {9279#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,862 INFO L290 TraceCheckUtils]: 29: Hoare triple {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,863 INFO L272 TraceCheckUtils]: 30: Hoare triple {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,863 INFO L290 TraceCheckUtils]: 33: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,863 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9226#true} {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,864 INFO L272 TraceCheckUtils]: 35: Hoare triple {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {9226#true} is VALID [2022-04-27 11:54:38,864 INFO L290 TraceCheckUtils]: 36: Hoare triple {9226#true} ~cond := #in~cond; {9341#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:38,864 INFO L290 TraceCheckUtils]: 37: Hoare triple {9341#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:38,864 INFO L290 TraceCheckUtils]: 38: Hoare triple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:38,865 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,865 INFO L272 TraceCheckUtils]: 40: Hoare triple {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~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)); {9226#true} is VALID [2022-04-27 11:54:38,865 INFO L290 TraceCheckUtils]: 41: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,865 INFO L290 TraceCheckUtils]: 42: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,865 INFO L290 TraceCheckUtils]: 43: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,866 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9226#true} {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,866 INFO L272 TraceCheckUtils]: 45: Hoare triple {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,866 INFO L290 TraceCheckUtils]: 46: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,866 INFO L290 TraceCheckUtils]: 47: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,866 INFO L290 TraceCheckUtils]: 48: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,867 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {9226#true} {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,868 INFO L290 TraceCheckUtils]: 50: Hoare triple {9316#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9385#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,869 INFO L290 TraceCheckUtils]: 51: Hoare triple {9385#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {9385#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,869 INFO L272 TraceCheckUtils]: 52: Hoare triple {9385#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,869 INFO L290 TraceCheckUtils]: 53: Hoare triple {9226#true} ~cond := #in~cond; {9341#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:38,869 INFO L290 TraceCheckUtils]: 54: Hoare triple {9341#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:38,869 INFO L290 TraceCheckUtils]: 55: Hoare triple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:38,870 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} {9385#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,871 INFO L272 TraceCheckUtils]: 57: Hoare triple {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,871 INFO L290 TraceCheckUtils]: 58: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,871 INFO L290 TraceCheckUtils]: 59: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,871 INFO L290 TraceCheckUtils]: 60: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,871 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9226#true} {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} #86#return; {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,872 INFO L272 TraceCheckUtils]: 62: Hoare triple {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,872 INFO L290 TraceCheckUtils]: 63: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,872 INFO L290 TraceCheckUtils]: 64: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,872 INFO L290 TraceCheckUtils]: 65: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,872 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {9226#true} {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} #88#return; {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,872 INFO L272 TraceCheckUtils]: 67: Hoare triple {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,873 INFO L290 TraceCheckUtils]: 68: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,873 INFO L290 TraceCheckUtils]: 69: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,873 INFO L290 TraceCheckUtils]: 70: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,873 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {9226#true} {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} #90#return; {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,874 INFO L290 TraceCheckUtils]: 72: Hoare triple {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 11:54:38,874 INFO L290 TraceCheckUtils]: 73: Hoare triple {9404#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 main_~y~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; {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:54:38,875 INFO L290 TraceCheckUtils]: 74: Hoare triple {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:54:38,875 INFO L290 TraceCheckUtils]: 75: Hoare triple {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:54:38,876 INFO L290 TraceCheckUtils]: 76: Hoare triple {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:54:38,876 INFO L272 TraceCheckUtils]: 77: Hoare triple {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,876 INFO L290 TraceCheckUtils]: 78: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,876 INFO L290 TraceCheckUtils]: 79: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,876 INFO L290 TraceCheckUtils]: 80: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,876 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9226#true} {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:54:38,877 INFO L272 TraceCheckUtils]: 82: Hoare triple {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,877 INFO L290 TraceCheckUtils]: 83: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:54:38,877 INFO L290 TraceCheckUtils]: 84: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:54:38,877 INFO L290 TraceCheckUtils]: 85: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:54:38,877 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9226#true} {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:54:38,877 INFO L272 TraceCheckUtils]: 87: Hoare triple {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:54:38,878 INFO L290 TraceCheckUtils]: 88: Hoare triple {9226#true} ~cond := #in~cond; {9341#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:38,878 INFO L290 TraceCheckUtils]: 89: Hoare triple {9341#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:38,878 INFO L290 TraceCheckUtils]: 90: Hoare triple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:54:38,879 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 11:54:38,881 INFO L272 TraceCheckUtils]: 92: Hoare triple {9456#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9514#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:54:38,881 INFO L290 TraceCheckUtils]: 93: Hoare triple {9514#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9518#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:54:38,881 INFO L290 TraceCheckUtils]: 94: Hoare triple {9518#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9227#false} is VALID [2022-04-27 11:54:38,881 INFO L290 TraceCheckUtils]: 95: Hoare triple {9227#false} assume !false; {9227#false} is VALID [2022-04-27 11:54:38,882 INFO L134 CoverageAnalysis]: Checked inductivity of 284 backedges. 55 proven. 57 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-27 11:54:38,882 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:55:19,447 INFO L290 TraceCheckUtils]: 95: Hoare triple {9227#false} assume !false; {9227#false} is VALID [2022-04-27 11:55:19,447 INFO L290 TraceCheckUtils]: 94: Hoare triple {9518#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9227#false} is VALID [2022-04-27 11:55:19,448 INFO L290 TraceCheckUtils]: 93: Hoare triple {9514#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9518#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:55:19,448 INFO L272 TraceCheckUtils]: 92: Hoare triple {9534#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9514#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:55:19,449 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #88#return; {9534#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} is VALID [2022-04-27 11:55:19,449 INFO L290 TraceCheckUtils]: 90: Hoare triple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:19,449 INFO L290 TraceCheckUtils]: 89: Hoare triple {9548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:19,450 INFO L290 TraceCheckUtils]: 88: Hoare triple {9226#true} ~cond := #in~cond; {9548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:55:19,450 INFO L272 TraceCheckUtils]: 87: Hoare triple {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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)); {9226#true} is VALID [2022-04-27 11:55:19,450 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9226#true} {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #86#return; {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:19,450 INFO L290 TraceCheckUtils]: 85: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:19,451 INFO L290 TraceCheckUtils]: 84: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:19,451 INFO L290 TraceCheckUtils]: 83: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:19,451 INFO L272 TraceCheckUtils]: 82: Hoare triple {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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)); {9226#true} is VALID [2022-04-27 11:55:19,451 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9226#true} {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #84#return; {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:19,451 INFO L290 TraceCheckUtils]: 80: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:19,451 INFO L290 TraceCheckUtils]: 79: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:19,451 INFO L290 TraceCheckUtils]: 78: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:19,451 INFO L272 TraceCheckUtils]: 77: Hoare triple {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:19,452 INFO L290 TraceCheckUtils]: 76: Hoare triple {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:19,452 INFO L290 TraceCheckUtils]: 75: Hoare triple {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:19,452 INFO L290 TraceCheckUtils]: 74: Hoare triple {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:55:21,454 WARN L290 TraceCheckUtils]: 73: Hoare triple {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} ~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; {9538#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-27 11:55:21,455 INFO L290 TraceCheckUtils]: 72: Hoare triple {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} assume !(~c~0 >= ~b~0); {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 11:55:21,456 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {9226#true} {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #90#return; {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 11:55:21,456 INFO L290 TraceCheckUtils]: 70: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,456 INFO L290 TraceCheckUtils]: 69: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,456 INFO L290 TraceCheckUtils]: 68: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,456 INFO L272 TraceCheckUtils]: 67: Hoare triple {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,457 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {9226#true} {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #88#return; {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 11:55:21,457 INFO L290 TraceCheckUtils]: 65: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,457 INFO L290 TraceCheckUtils]: 64: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,457 INFO L290 TraceCheckUtils]: 63: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,457 INFO L272 TraceCheckUtils]: 62: Hoare triple {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,458 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9226#true} {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #86#return; {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 11:55:21,458 INFO L290 TraceCheckUtils]: 60: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,458 INFO L290 TraceCheckUtils]: 59: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,458 INFO L290 TraceCheckUtils]: 58: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,458 INFO L272 TraceCheckUtils]: 57: Hoare triple {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,459 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} {9646#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #84#return; {9594#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 11:55:21,459 INFO L290 TraceCheckUtils]: 55: Hoare triple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:21,460 INFO L290 TraceCheckUtils]: 54: Hoare triple {9548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:21,460 INFO L290 TraceCheckUtils]: 53: Hoare triple {9226#true} ~cond := #in~cond; {9548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:55:21,460 INFO L272 TraceCheckUtils]: 52: Hoare triple {9646#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= 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)); {9226#true} is VALID [2022-04-27 11:55:21,461 INFO L290 TraceCheckUtils]: 51: Hoare triple {9646#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !false; {9646#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-27 11:55:21,513 INFO L290 TraceCheckUtils]: 50: Hoare triple {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9646#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-27 11:55:21,514 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {9226#true} {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #90#return; {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-27 11:55:21,515 INFO L290 TraceCheckUtils]: 48: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,515 INFO L290 TraceCheckUtils]: 47: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,515 INFO L290 TraceCheckUtils]: 46: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,515 INFO L272 TraceCheckUtils]: 45: Hoare triple {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,515 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9226#true} {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #88#return; {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-27 11:55:21,516 INFO L290 TraceCheckUtils]: 43: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,516 INFO L290 TraceCheckUtils]: 42: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,516 INFO L290 TraceCheckUtils]: 41: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,516 INFO L272 TraceCheckUtils]: 40: Hoare triple {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,517 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #86#return; {9665#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-27 11:55:21,517 INFO L290 TraceCheckUtils]: 38: Hoare triple {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:21,517 INFO L290 TraceCheckUtils]: 37: Hoare triple {9548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9345#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:55:21,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {9226#true} ~cond := #in~cond; {9548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:55:21,518 INFO L272 TraceCheckUtils]: 35: Hoare triple {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,519 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9226#true} {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #84#return; {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-27 11:55:21,519 INFO L290 TraceCheckUtils]: 33: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,519 INFO L290 TraceCheckUtils]: 32: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,519 INFO L272 TraceCheckUtils]: 30: Hoare triple {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,519 INFO L290 TraceCheckUtils]: 29: Hoare triple {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} assume !false; {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-27 11:55:21,620 INFO L290 TraceCheckUtils]: 28: Hoare triple {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9699#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-27 11:55:21,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} assume !false; {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} is VALID [2022-04-27 11:55:21,622 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9226#true} {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} #82#return; {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} is VALID [2022-04-27 11:55:21,622 INFO L290 TraceCheckUtils]: 25: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,622 INFO L290 TraceCheckUtils]: 24: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,622 INFO L290 TraceCheckUtils]: 23: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,622 INFO L272 TraceCheckUtils]: 22: Hoare triple {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,623 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9226#true} {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} #80#return; {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} is VALID [2022-04-27 11:55:21,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,623 INFO L290 TraceCheckUtils]: 19: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,623 INFO L290 TraceCheckUtils]: 18: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,623 INFO L272 TraceCheckUtils]: 17: Hoare triple {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {9226#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9733#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) (* (- 1) main_~q~0 main_~x~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} is VALID [2022-04-27 11:55:21,624 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9226#true} {9226#true} #78#return; {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 12: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L272 TraceCheckUtils]: 11: Hoare triple {9226#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9226#true} {9226#true} #76#return; {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {9226#true} assume !(0 == ~cond); {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {9226#true} ~cond := #in~cond; {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L272 TraceCheckUtils]: 6: Hoare triple {9226#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {9226#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {9226#true} is VALID [2022-04-27 11:55:21,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {9226#true} call #t~ret6 := main(); {9226#true} is VALID [2022-04-27 11:55:21,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9226#true} {9226#true} #96#return; {9226#true} is VALID [2022-04-27 11:55:21,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {9226#true} assume true; {9226#true} is VALID [2022-04-27 11:55:21,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {9226#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); {9226#true} is VALID [2022-04-27 11:55:21,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {9226#true} call ULTIMATE.init(); {9226#true} is VALID [2022-04-27 11:55:21,625 INFO L134 CoverageAnalysis]: Checked inductivity of 284 backedges. 55 proven. 57 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-27 11:55:21,625 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:55:21,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1764966377] [2022-04-27 11:55:21,625 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:55:21,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1534494334] [2022-04-27 11:55:21,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1534494334] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:55:21,626 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:55:21,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 19 [2022-04-27 11:55:21,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [421736839] [2022-04-27 11:55:21,626 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:55:21,626 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 16 states have internal predecessors, (39), 13 states have call successors, (32), 2 states have call predecessors, (32), 2 states have return successors, (29), 11 states have call predecessors, (29), 12 states have call successors, (29) Word has length 96 [2022-04-27 11:55:21,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:55:21,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 16 states have internal predecessors, (39), 13 states have call successors, (32), 2 states have call predecessors, (32), 2 states have return successors, (29), 11 states have call predecessors, (29), 12 states have call successors, (29) [2022-04-27 11:55:25,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 98 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 11:55:25,784 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 11:55:25,784 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:55:25,785 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 11:55:25,785 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=263, Unknown=0, NotChecked=0, Total=342 [2022-04-27 11:55:25,785 INFO L87 Difference]: Start difference. First operand 295 states and 422 transitions. Second operand has 19 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 16 states have internal predecessors, (39), 13 states have call successors, (32), 2 states have call predecessors, (32), 2 states have return successors, (29), 11 states have call predecessors, (29), 12 states have call successors, (29) [2022-04-27 11:56:24,986 WARN L232 SmtUtils]: Spent 29.32s on a formula simplification that was a NOOP. DAG size: 92 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 11:56:27,790 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:29,796 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:38,742 WARN L232 SmtUtils]: Spent 5.65s on a formula simplification that was a NOOP. DAG size: 67 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 11:56:41,068 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:46,077 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:00,234 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.41s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:07,305 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:11,571 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:13,579 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:15,705 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:19,569 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:26,903 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:57:28,993 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:46,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:57:46,205 INFO L93 Difference]: Finished difference Result 343 states and 495 transitions. [2022-04-27 11:57:46,205 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 11:57:46,205 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 16 states have internal predecessors, (39), 13 states have call successors, (32), 2 states have call predecessors, (32), 2 states have return successors, (29), 11 states have call predecessors, (29), 12 states have call successors, (29) Word has length 96 [2022-04-27 11:57:46,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:57:46,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 16 states have internal predecessors, (39), 13 states have call successors, (32), 2 states have call predecessors, (32), 2 states have return successors, (29), 11 states have call predecessors, (29), 12 states have call successors, (29) [2022-04-27 11:57:46,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 155 transitions. [2022-04-27 11:57:46,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 16 states have internal predecessors, (39), 13 states have call successors, (32), 2 states have call predecessors, (32), 2 states have return successors, (29), 11 states have call predecessors, (29), 12 states have call successors, (29) [2022-04-27 11:57:46,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 155 transitions. [2022-04-27 11:57:46,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 155 transitions. [2022-04-27 11:58:02,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 147 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2022-04-27 11:58:02,508 INFO L225 Difference]: With dead ends: 343 [2022-04-27 11:58:02,508 INFO L226 Difference]: Without dead ends: 341 [2022-04-27 11:58:02,511 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 172 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 194 ImplicationChecksByTransitivity, 60.8s TimeCoverageRelationStatistics Valid=229, Invalid=697, Unknown=4, NotChecked=0, Total=930 [2022-04-27 11:58:02,512 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 81 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 781 mSolverCounterSat, 133 mSolverCounterUnsat, 10 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 32.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 263 SdHoareTripleChecker+Invalid, 924 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 133 IncrementalHoareTripleChecker+Valid, 781 IncrementalHoareTripleChecker+Invalid, 10 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 32.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:58:02,512 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [94 Valid, 263 Invalid, 924 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [133 Valid, 781 Invalid, 10 Unknown, 0 Unchecked, 32.4s Time] [2022-04-27 11:58:02,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 341 states. [2022-04-27 11:58:02,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 341 to 336. [2022-04-27 11:58:02,985 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:58:02,986 INFO L82 GeneralOperation]: Start isEquivalent. First operand 341 states. Second operand has 336 states, 183 states have (on average 1.2131147540983607) internal successors, (222), 189 states have internal predecessors, (222), 134 states have call successors, (134), 19 states have call predecessors, (134), 18 states have return successors, (132), 127 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-27 11:58:02,986 INFO L74 IsIncluded]: Start isIncluded. First operand 341 states. Second operand has 336 states, 183 states have (on average 1.2131147540983607) internal successors, (222), 189 states have internal predecessors, (222), 134 states have call successors, (134), 19 states have call predecessors, (134), 18 states have return successors, (132), 127 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-27 11:58:02,987 INFO L87 Difference]: Start difference. First operand 341 states. Second operand has 336 states, 183 states have (on average 1.2131147540983607) internal successors, (222), 189 states have internal predecessors, (222), 134 states have call successors, (134), 19 states have call predecessors, (134), 18 states have return successors, (132), 127 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-27 11:58:02,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:58:02,995 INFO L93 Difference]: Finished difference Result 341 states and 493 transitions. [2022-04-27 11:58:02,995 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 493 transitions. [2022-04-27 11:58:02,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:58:02,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:58:02,997 INFO L74 IsIncluded]: Start isIncluded. First operand has 336 states, 183 states have (on average 1.2131147540983607) internal successors, (222), 189 states have internal predecessors, (222), 134 states have call successors, (134), 19 states have call predecessors, (134), 18 states have return successors, (132), 127 states have call predecessors, (132), 132 states have call successors, (132) Second operand 341 states. [2022-04-27 11:58:02,997 INFO L87 Difference]: Start difference. First operand has 336 states, 183 states have (on average 1.2131147540983607) internal successors, (222), 189 states have internal predecessors, (222), 134 states have call successors, (134), 19 states have call predecessors, (134), 18 states have return successors, (132), 127 states have call predecessors, (132), 132 states have call successors, (132) Second operand 341 states. [2022-04-27 11:58:03,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:58:03,006 INFO L93 Difference]: Finished difference Result 341 states and 493 transitions. [2022-04-27 11:58:03,006 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 493 transitions. [2022-04-27 11:58:03,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:58:03,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:58:03,007 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:58:03,007 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:58:03,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 336 states, 183 states have (on average 1.2131147540983607) internal successors, (222), 189 states have internal predecessors, (222), 134 states have call successors, (134), 19 states have call predecessors, (134), 18 states have return successors, (132), 127 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-27 11:58:03,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 336 states to 336 states and 488 transitions. [2022-04-27 11:58:03,017 INFO L78 Accepts]: Start accepts. Automaton has 336 states and 488 transitions. Word has length 96 [2022-04-27 11:58:03,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:58:03,018 INFO L495 AbstractCegarLoop]: Abstraction has 336 states and 488 transitions. [2022-04-27 11:58:03,018 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 16 states have internal predecessors, (39), 13 states have call successors, (32), 2 states have call predecessors, (32), 2 states have return successors, (29), 11 states have call predecessors, (29), 12 states have call successors, (29) [2022-04-27 11:58:03,018 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 488 transitions. [2022-04-27 11:58:03,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-27 11:58:03,018 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:58:03,019 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:58:03,041 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:58:03,230 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:58:03,231 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:58:03,231 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:58:03,231 INFO L85 PathProgramCache]: Analyzing trace with hash -452504748, now seen corresponding path program 4 times [2022-04-27 11:58:03,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:58:03,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [99283509] [2022-04-27 11:58:03,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:58:03,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:58:03,241 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:58:03,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [556790777] [2022-04-27 11:58:03,242 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:58:03,242 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:58:03,242 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:58:03,246 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:58:03,247 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:58:03,291 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:58:03,291 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:58:03,292 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 11:58:03,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:58:03,307 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:58:03,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {11623#true} call ULTIMATE.init(); {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {11623#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); {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11623#true} {11623#true} #96#return; {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L272 TraceCheckUtils]: 4: Hoare triple {11623#true} call #t~ret6 := main(); {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L290 TraceCheckUtils]: 5: Hoare triple {11623#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L272 TraceCheckUtils]: 6: Hoare triple {11623#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11623#true} {11623#true} #76#return; {11623#true} is VALID [2022-04-27 11:58:03,500 INFO L272 TraceCheckUtils]: 11: Hoare triple {11623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 12: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 13: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 14: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11623#true} {11623#true} #78#return; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 16: Hoare triple {11623#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L272 TraceCheckUtils]: 17: Hoare triple {11623#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 18: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 19: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11623#true} {11623#true} #80#return; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L272 TraceCheckUtils]: 22: Hoare triple {11623#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 23: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 24: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 25: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11623#true} {11623#true} #82#return; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 27: Hoare triple {11623#true} assume !false; {11623#true} is VALID [2022-04-27 11:58:03,501 INFO L290 TraceCheckUtils]: 28: Hoare triple {11623#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 29: Hoare triple {11623#true} assume !false; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L272 TraceCheckUtils]: 30: Hoare triple {11623#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 32: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 33: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11623#true} {11623#true} #84#return; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L272 TraceCheckUtils]: 35: Hoare triple {11623#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 36: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 37: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 38: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11623#true} {11623#true} #86#return; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L272 TraceCheckUtils]: 40: Hoare triple {11623#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 41: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 42: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L290 TraceCheckUtils]: 43: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11623#true} {11623#true} #88#return; {11623#true} is VALID [2022-04-27 11:58:03,502 INFO L272 TraceCheckUtils]: 45: Hoare triple {11623#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,503 INFO L290 TraceCheckUtils]: 46: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,503 INFO L290 TraceCheckUtils]: 47: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,503 INFO L290 TraceCheckUtils]: 48: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,503 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11623#true} {11623#true} #90#return; {11623#true} is VALID [2022-04-27 11:58:03,503 INFO L290 TraceCheckUtils]: 50: Hoare triple {11623#true} assume !(~c~0 >= ~b~0); {11778#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 11:58:03,503 INFO L290 TraceCheckUtils]: 51: Hoare triple {11778#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11782#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 11:58:03,504 INFO L290 TraceCheckUtils]: 52: Hoare triple {11782#(< main_~b~0 main_~a~0)} assume !false; {11782#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 11:58:03,504 INFO L290 TraceCheckUtils]: 53: Hoare triple {11782#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11789#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:58:03,504 INFO L290 TraceCheckUtils]: 54: Hoare triple {11789#(< main_~b~0 main_~c~0)} assume !false; {11789#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:58:03,504 INFO L272 TraceCheckUtils]: 55: Hoare triple {11789#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,504 INFO L290 TraceCheckUtils]: 56: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,504 INFO L290 TraceCheckUtils]: 57: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,504 INFO L290 TraceCheckUtils]: 58: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,505 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11623#true} {11789#(< main_~b~0 main_~c~0)} #84#return; {11789#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:58:03,505 INFO L272 TraceCheckUtils]: 60: Hoare triple {11789#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,505 INFO L290 TraceCheckUtils]: 61: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,505 INFO L290 TraceCheckUtils]: 62: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,505 INFO L290 TraceCheckUtils]: 63: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,506 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11623#true} {11789#(< main_~b~0 main_~c~0)} #86#return; {11789#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:58:03,506 INFO L272 TraceCheckUtils]: 65: Hoare triple {11789#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,519 INFO L290 TraceCheckUtils]: 66: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,519 INFO L290 TraceCheckUtils]: 67: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,519 INFO L290 TraceCheckUtils]: 68: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,520 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11623#true} {11789#(< main_~b~0 main_~c~0)} #88#return; {11789#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:58:03,520 INFO L272 TraceCheckUtils]: 70: Hoare triple {11789#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11623#true} is VALID [2022-04-27 11:58:03,520 INFO L290 TraceCheckUtils]: 71: Hoare triple {11623#true} ~cond := #in~cond; {11623#true} is VALID [2022-04-27 11:58:03,520 INFO L290 TraceCheckUtils]: 72: Hoare triple {11623#true} assume !(0 == ~cond); {11623#true} is VALID [2022-04-27 11:58:03,520 INFO L290 TraceCheckUtils]: 73: Hoare triple {11623#true} assume true; {11623#true} is VALID [2022-04-27 11:58:03,521 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11623#true} {11789#(< main_~b~0 main_~c~0)} #90#return; {11789#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 75: Hoare triple {11789#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 76: Hoare triple {11624#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; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 77: Hoare triple {11624#false} assume !false; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 78: Hoare triple {11624#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 79: Hoare triple {11624#false} assume !false; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L272 TraceCheckUtils]: 80: Hoare triple {11624#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 81: Hoare triple {11624#false} ~cond := #in~cond; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 82: Hoare triple {11624#false} assume !(0 == ~cond); {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 83: Hoare triple {11624#false} assume true; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11624#false} {11624#false} #84#return; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L272 TraceCheckUtils]: 85: Hoare triple {11624#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 86: Hoare triple {11624#false} ~cond := #in~cond; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 87: Hoare triple {11624#false} assume !(0 == ~cond); {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 88: Hoare triple {11624#false} assume true; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11624#false} {11624#false} #86#return; {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L272 TraceCheckUtils]: 90: Hoare triple {11624#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11624#false} is VALID [2022-04-27 11:58:03,522 INFO L290 TraceCheckUtils]: 91: Hoare triple {11624#false} ~cond := #in~cond; {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L290 TraceCheckUtils]: 92: Hoare triple {11624#false} assume !(0 == ~cond); {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L290 TraceCheckUtils]: 93: Hoare triple {11624#false} assume true; {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {11624#false} {11624#false} #88#return; {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L272 TraceCheckUtils]: 95: Hoare triple {11624#false} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L290 TraceCheckUtils]: 96: Hoare triple {11624#false} ~cond := #in~cond; {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L290 TraceCheckUtils]: 97: Hoare triple {11624#false} assume 0 == ~cond; {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L290 TraceCheckUtils]: 98: Hoare triple {11624#false} assume !false; {11624#false} is VALID [2022-04-27 11:58:03,523 INFO L134 CoverageAnalysis]: Checked inductivity of 289 backedges. 135 proven. 0 refuted. 0 times theorem prover too weak. 154 trivial. 0 not checked. [2022-04-27 11:58:03,523 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 11:58:03,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:58:03,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [99283509] [2022-04-27 11:58:03,523 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:58:03,524 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [556790777] [2022-04-27 11:58:03,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [556790777] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:58:03,524 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:58:03,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:58:03,524 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1405027227] [2022-04-27 11:58:03,524 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:58:03,524 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 99 [2022-04-27 11:58:03,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:58:03,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-27 11:58:03,569 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:58:03,570 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:58:03,570 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:58:03,570 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:58:03,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:58:03,570 INFO L87 Difference]: Start difference. First operand 336 states and 488 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-27 11:58:04,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:58:04,210 INFO L93 Difference]: Finished difference Result 410 states and 590 transitions. [2022-04-27 11:58:04,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:58:04,210 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 99 [2022-04-27 11:58:04,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:58:04,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-27 11:58:04,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-27 11:58:04,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-27 11:58:04,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-27 11:58:04,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-27 11:58:04,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:58:04,303 INFO L225 Difference]: With dead ends: 410 [2022-04-27 11:58:04,303 INFO L226 Difference]: Without dead ends: 239 [2022-04-27 11:58:04,305 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-27 11:58:04,307 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 6 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:58:04,307 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 141 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:58:04,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 239 states. [2022-04-27 11:58:04,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 239 to 215. [2022-04-27 11:58:04,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:58:04,590 INFO L82 GeneralOperation]: Start isEquivalent. First operand 239 states. Second operand has 215 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 119 states have internal predecessors, (133), 79 states have call successors, (79), 19 states have call predecessors, (79), 18 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:58:04,590 INFO L74 IsIncluded]: Start isIncluded. First operand 239 states. Second operand has 215 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 119 states have internal predecessors, (133), 79 states have call successors, (79), 19 states have call predecessors, (79), 18 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:58:04,590 INFO L87 Difference]: Start difference. First operand 239 states. Second operand has 215 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 119 states have internal predecessors, (133), 79 states have call successors, (79), 19 states have call predecessors, (79), 18 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:58:04,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:58:04,596 INFO L93 Difference]: Finished difference Result 239 states and 323 transitions. [2022-04-27 11:58:04,596 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 323 transitions. [2022-04-27 11:58:04,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:58:04,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:58:04,597 INFO L74 IsIncluded]: Start isIncluded. First operand has 215 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 119 states have internal predecessors, (133), 79 states have call successors, (79), 19 states have call predecessors, (79), 18 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) Second operand 239 states. [2022-04-27 11:58:04,597 INFO L87 Difference]: Start difference. First operand has 215 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 119 states have internal predecessors, (133), 79 states have call successors, (79), 19 states have call predecessors, (79), 18 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) Second operand 239 states. [2022-04-27 11:58:04,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:58:04,602 INFO L93 Difference]: Finished difference Result 239 states and 323 transitions. [2022-04-27 11:58:04,602 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 323 transitions. [2022-04-27 11:58:04,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:58:04,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:58:04,603 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:58:04,603 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:58:04,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 215 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 119 states have internal predecessors, (133), 79 states have call successors, (79), 19 states have call predecessors, (79), 18 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:58:04,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 215 states to 215 states and 289 transitions. [2022-04-27 11:58:04,609 INFO L78 Accepts]: Start accepts. Automaton has 215 states and 289 transitions. Word has length 99 [2022-04-27 11:58:04,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:58:04,609 INFO L495 AbstractCegarLoop]: Abstraction has 215 states and 289 transitions. [2022-04-27 11:58:04,609 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-27 11:58:04,609 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 289 transitions. [2022-04-27 11:58:04,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-27 11:58:04,610 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:58:04,610 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 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:04,629 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-27 11:58:04,827 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:58:04,828 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:58:04,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:58:04,828 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 2 times [2022-04-27 11:58:04,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:58:04,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1969514912] [2022-04-27 11:58:04,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:58:04,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:58:04,841 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:58:04,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2112934399] [2022-04-27 11:58:04,842 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:58:04,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:58:04,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:58:04,843 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:58:04,844 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:58:04,904 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:58:04,904 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:58:04,906 INFO L263 TraceCheckSpWp]: Trace formula consists of 295 conjuncts, 76 conjunts are in the unsatisfiable core [2022-04-27 11:58:04,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:58:04,925 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:58:05,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {13405#true} call ULTIMATE.init(); {13405#true} is VALID [2022-04-27 11:58:05,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {13405#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); {13405#true} is VALID [2022-04-27 11:58:05,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13405#true} {13405#true} #96#return; {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {13405#true} call #t~ret6 := main(); {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {13405#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L272 TraceCheckUtils]: 6: Hoare triple {13405#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L290 TraceCheckUtils]: 7: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13405#true} {13405#true} #76#return; {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L272 TraceCheckUtils]: 11: Hoare triple {13405#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L290 TraceCheckUtils]: 12: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,903 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13405#true} {13405#true} #78#return; {13405#true} is VALID [2022-04-27 11:58:05,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {13405#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13458#(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:58:05,904 INFO L272 TraceCheckUtils]: 17: Hoare triple {13458#(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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,905 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13405#true} {13458#(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))} #80#return; {13458#(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:58:05,905 INFO L272 TraceCheckUtils]: 22: Hoare triple {13458#(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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,905 INFO L290 TraceCheckUtils]: 23: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,905 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13405#true} {13458#(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))} #82#return; {13458#(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:58:05,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {13458#(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; {13458#(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:58:05,906 INFO L290 TraceCheckUtils]: 28: Hoare triple {13458#(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);~c~0 := ~a~0;~k~0 := 0; {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:58:05,907 INFO L290 TraceCheckUtils]: 29: Hoare triple {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:58:05,907 INFO L272 TraceCheckUtils]: 30: Hoare triple {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,907 INFO L290 TraceCheckUtils]: 31: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,907 INFO L290 TraceCheckUtils]: 32: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,907 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13405#true} {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 11:58:05,908 INFO L272 TraceCheckUtils]: 35: Hoare triple {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,908 INFO L290 TraceCheckUtils]: 36: Hoare triple {13405#true} ~cond := #in~cond; {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:05,908 INFO L290 TraceCheckUtils]: 37: Hoare triple {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,908 INFO L290 TraceCheckUtils]: 38: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,909 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13495#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {13531#(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:58:05,909 INFO L272 TraceCheckUtils]: 40: Hoare triple {13531#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,909 INFO L290 TraceCheckUtils]: 41: Hoare triple {13405#true} ~cond := #in~cond; {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:05,910 INFO L290 TraceCheckUtils]: 42: Hoare triple {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,910 INFO L290 TraceCheckUtils]: 43: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,910 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13531#(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))} #88#return; {13531#(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:58:05,910 INFO L272 TraceCheckUtils]: 45: Hoare triple {13531#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,911 INFO L290 TraceCheckUtils]: 46: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,911 INFO L290 TraceCheckUtils]: 47: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,911 INFO L290 TraceCheckUtils]: 48: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,917 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {13405#true} {13531#(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))} #90#return; {13531#(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:58:05,918 INFO L290 TraceCheckUtils]: 50: Hoare triple {13531#(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); {13531#(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:58:05,918 INFO L290 TraceCheckUtils]: 51: Hoare triple {13531#(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; {13568#(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:58:05,919 INFO L290 TraceCheckUtils]: 52: Hoare triple {13568#(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; {13568#(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:58:05,919 INFO L290 TraceCheckUtils]: 53: Hoare triple {13568#(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);~c~0 := ~a~0;~k~0 := 0; {13575#(and (= main_~c~0 main_~a~0) (= 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:58:05,919 INFO L290 TraceCheckUtils]: 54: Hoare triple {13575#(and (= main_~c~0 main_~a~0) (= 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; {13575#(and (= main_~c~0 main_~a~0) (= 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:58:05,919 INFO L272 TraceCheckUtils]: 55: Hoare triple {13575#(and (= main_~c~0 main_~a~0) (= 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))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,919 INFO L290 TraceCheckUtils]: 56: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,919 INFO L290 TraceCheckUtils]: 57: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,919 INFO L290 TraceCheckUtils]: 58: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,920 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13405#true} {13575#(and (= main_~c~0 main_~a~0) (= 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))} #84#return; {13575#(and (= main_~c~0 main_~a~0) (= 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:58:05,920 INFO L272 TraceCheckUtils]: 60: Hoare triple {13575#(and (= main_~c~0 main_~a~0) (= 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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,920 INFO L290 TraceCheckUtils]: 61: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,920 INFO L290 TraceCheckUtils]: 62: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,920 INFO L290 TraceCheckUtils]: 63: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,920 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13405#true} {13575#(and (= main_~c~0 main_~a~0) (= 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))} #86#return; {13575#(and (= main_~c~0 main_~a~0) (= 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:58:05,921 INFO L272 TraceCheckUtils]: 65: Hoare triple {13575#(and (= main_~c~0 main_~a~0) (= 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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,921 INFO L290 TraceCheckUtils]: 66: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,921 INFO L290 TraceCheckUtils]: 67: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,921 INFO L290 TraceCheckUtils]: 68: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,921 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13405#true} {13575#(and (= main_~c~0 main_~a~0) (= 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))} #88#return; {13575#(and (= main_~c~0 main_~a~0) (= 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:58:05,921 INFO L272 TraceCheckUtils]: 70: Hoare triple {13575#(and (= main_~c~0 main_~a~0) (= 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))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,921 INFO L290 TraceCheckUtils]: 71: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,921 INFO L290 TraceCheckUtils]: 72: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,921 INFO L290 TraceCheckUtils]: 73: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,922 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13405#true} {13575#(and (= main_~c~0 main_~a~0) (= 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))} #90#return; {13575#(and (= main_~c~0 main_~a~0) (= 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:58:05,923 INFO L290 TraceCheckUtils]: 75: Hoare triple {13575#(and (= main_~c~0 main_~a~0) (= 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 !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13642#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~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:58:05,923 INFO L290 TraceCheckUtils]: 76: Hoare triple {13642#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {13642#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~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:58:05,924 INFO L272 TraceCheckUtils]: 77: Hoare triple {13642#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,924 INFO L290 TraceCheckUtils]: 78: Hoare triple {13405#true} ~cond := #in~cond; {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:05,924 INFO L290 TraceCheckUtils]: 79: Hoare triple {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,924 INFO L290 TraceCheckUtils]: 80: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,925 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13642#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #84#return; {13661#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~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:58:05,925 INFO L272 TraceCheckUtils]: 82: Hoare triple {13661#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,926 INFO L290 TraceCheckUtils]: 83: Hoare triple {13405#true} ~cond := #in~cond; {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:05,926 INFO L290 TraceCheckUtils]: 84: Hoare triple {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,926 INFO L290 TraceCheckUtils]: 85: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,941 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13661#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #86#return; {13677#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~b~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 11:58:05,941 INFO L272 TraceCheckUtils]: 87: Hoare triple {13677#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~b~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,964 INFO L290 TraceCheckUtils]: 88: Hoare triple {13405#true} ~cond := #in~cond; {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:05,964 INFO L290 TraceCheckUtils]: 89: Hoare triple {13520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,965 INFO L290 TraceCheckUtils]: 90: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:58:05,967 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13677#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~b~0 (* main_~b~0 main_~k~0)))} #88#return; {13693#(and (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:58:05,967 INFO L272 TraceCheckUtils]: 92: Hoare triple {13693#(and (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,967 INFO L290 TraceCheckUtils]: 93: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,967 INFO L290 TraceCheckUtils]: 94: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,968 INFO L290 TraceCheckUtils]: 95: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,968 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {13405#true} {13693#(and (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 1) (= main_~q~0 1))} #90#return; {13693#(and (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:58:05,968 INFO L290 TraceCheckUtils]: 97: Hoare triple {13693#(and (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 1) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {13693#(and (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 1) (= main_~q~0 1))} is VALID [2022-04-27 11:58:05,974 INFO L290 TraceCheckUtils]: 98: Hoare triple {13693#(and (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 1) (= 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; {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} is VALID [2022-04-27 11:58:05,975 INFO L290 TraceCheckUtils]: 99: Hoare triple {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} assume !false; {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} is VALID [2022-04-27 11:58:05,975 INFO L290 TraceCheckUtils]: 100: Hoare triple {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} is VALID [2022-04-27 11:58:05,975 INFO L290 TraceCheckUtils]: 101: Hoare triple {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} assume !false; {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} is VALID [2022-04-27 11:58:05,975 INFO L272 TraceCheckUtils]: 102: Hoare triple {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,975 INFO L290 TraceCheckUtils]: 103: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,975 INFO L290 TraceCheckUtils]: 104: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,976 INFO L290 TraceCheckUtils]: 105: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,976 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {13405#true} {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} #84#return; {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} is VALID [2022-04-27 11:58:05,976 INFO L272 TraceCheckUtils]: 107: Hoare triple {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:58:05,977 INFO L290 TraceCheckUtils]: 108: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:58:05,977 INFO L290 TraceCheckUtils]: 109: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:58:05,977 INFO L290 TraceCheckUtils]: 110: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:58:05,977 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {13405#true} {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} #86#return; {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} is VALID [2022-04-27 11:58:05,978 INFO L272 TraceCheckUtils]: 112: Hoare triple {13715#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ (* main_~y~0 (* (- 1) main_~q~0) 0) (* main_~x~0 (* (- 1) main_~q~0) 1)) main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13758#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:58:05,978 INFO L290 TraceCheckUtils]: 113: Hoare triple {13758#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13762#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:58:05,978 INFO L290 TraceCheckUtils]: 114: Hoare triple {13762#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13406#false} is VALID [2022-04-27 11:58:05,978 INFO L290 TraceCheckUtils]: 115: Hoare triple {13406#false} assume !false; {13406#false} is VALID [2022-04-27 11:58:05,979 INFO L134 CoverageAnalysis]: Checked inductivity of 453 backedges. 83 proven. 117 refuted. 0 times theorem prover too weak. 253 trivial. 0 not checked. [2022-04-27 11:58:05,979 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:58:54,987 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:59:26,662 INFO L290 TraceCheckUtils]: 115: Hoare triple {13406#false} assume !false; {13406#false} is VALID [2022-04-27 11:59:26,663 INFO L290 TraceCheckUtils]: 114: Hoare triple {13762#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13406#false} is VALID [2022-04-27 11:59:26,663 INFO L290 TraceCheckUtils]: 113: Hoare triple {13758#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13762#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:59:26,664 INFO L272 TraceCheckUtils]: 112: Hoare triple {13778#(= 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)); {13758#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:59:26,664 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {13405#true} {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:59:26,664 INFO L290 TraceCheckUtils]: 110: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:26,664 INFO L290 TraceCheckUtils]: 109: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:26,664 INFO L290 TraceCheckUtils]: 108: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:26,664 INFO L272 TraceCheckUtils]: 107: Hoare triple {13778#(= 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)); {13405#true} is VALID [2022-04-27 11:59:26,665 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {13405#true} {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:59:26,665 INFO L290 TraceCheckUtils]: 105: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:26,665 INFO L290 TraceCheckUtils]: 104: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:26,665 INFO L290 TraceCheckUtils]: 103: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:26,665 INFO L272 TraceCheckUtils]: 102: Hoare triple {13778#(= 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)); {13405#true} is VALID [2022-04-27 11:59:26,666 INFO L290 TraceCheckUtils]: 101: Hoare triple {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:59:26,666 INFO L290 TraceCheckUtils]: 100: Hoare triple {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:59:26,666 INFO L290 TraceCheckUtils]: 99: Hoare triple {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 11:59:28,669 WARN L290 TraceCheckUtils]: 98: Hoare triple {13821#(= (+ (* (+ (* (* 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; {13778#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-27 11:59:28,670 INFO L290 TraceCheckUtils]: 97: Hoare triple {13821#(= (+ (* (+ (* (* 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); {13821#(= (+ (* (+ (* (* 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:59:28,671 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {13405#true} {13821#(= (+ (* (+ (* (* 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)} #90#return; {13821#(= (+ (* (+ (* (* 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:59:28,671 INFO L290 TraceCheckUtils]: 95: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,671 INFO L290 TraceCheckUtils]: 94: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,671 INFO L290 TraceCheckUtils]: 93: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,671 INFO L272 TraceCheckUtils]: 92: Hoare triple {13821#(= (+ (* (+ (* (* 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)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,672 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13843#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #88#return; {13821#(= (+ (* (+ (* (* 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:59:28,672 INFO L290 TraceCheckUtils]: 90: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:28,672 INFO L290 TraceCheckUtils]: 89: Hoare triple {13853#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:28,673 INFO L290 TraceCheckUtils]: 88: Hoare triple {13405#true} ~cond := #in~cond; {13853#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:59:28,673 INFO L272 TraceCheckUtils]: 87: Hoare triple {13843#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,674 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13860#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~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)))))} #86#return; {13843#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:59:28,674 INFO L290 TraceCheckUtils]: 85: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:28,674 INFO L290 TraceCheckUtils]: 84: Hoare triple {13853#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:28,675 INFO L290 TraceCheckUtils]: 83: Hoare triple {13405#true} ~cond := #in~cond; {13853#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:59:28,675 INFO L272 TraceCheckUtils]: 82: Hoare triple {13860#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,691 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} {13405#true} #84#return; {13860#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 11:59:28,691 INFO L290 TraceCheckUtils]: 80: Hoare triple {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 79: Hoare triple {13853#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 78: Hoare triple {13405#true} ~cond := #in~cond; {13853#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:59:28,692 INFO L272 TraceCheckUtils]: 77: Hoare triple {13405#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 76: Hoare triple {13405#true} assume !false; {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 75: Hoare triple {13405#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13405#true} {13405#true} #90#return; {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 73: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 72: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 71: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L272 TraceCheckUtils]: 70: Hoare triple {13405#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13405#true} {13405#true} #88#return; {13405#true} is VALID [2022-04-27 11:59:28,692 INFO L290 TraceCheckUtils]: 68: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 67: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 66: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L272 TraceCheckUtils]: 65: Hoare triple {13405#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13405#true} {13405#true} #86#return; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 63: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 62: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 61: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L272 TraceCheckUtils]: 60: Hoare triple {13405#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13405#true} {13405#true} #84#return; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 58: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 57: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 56: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L272 TraceCheckUtils]: 55: Hoare triple {13405#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 54: Hoare triple {13405#true} assume !false; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 53: Hoare triple {13405#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 52: Hoare triple {13405#true} assume !false; {13405#true} is VALID [2022-04-27 11:59:28,693 INFO L290 TraceCheckUtils]: 51: Hoare triple {13405#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; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 50: Hoare triple {13405#true} assume !(~c~0 >= ~b~0); {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {13405#true} {13405#true} #90#return; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 48: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 47: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 46: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L272 TraceCheckUtils]: 45: Hoare triple {13405#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13405#true} {13405#true} #88#return; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 43: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 42: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 41: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L272 TraceCheckUtils]: 40: Hoare triple {13405#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13405#true} {13405#true} #86#return; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 38: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 37: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 36: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L272 TraceCheckUtils]: 35: Hoare triple {13405#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13405#true} {13405#true} #84#return; {13405#true} is VALID [2022-04-27 11:59:28,694 INFO L290 TraceCheckUtils]: 33: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 32: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L272 TraceCheckUtils]: 30: Hoare triple {13405#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 29: Hoare triple {13405#true} assume !false; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 28: Hoare triple {13405#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 27: Hoare triple {13405#true} assume !false; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13405#true} {13405#true} #82#return; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 25: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 24: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 23: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L272 TraceCheckUtils]: 22: Hoare triple {13405#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13405#true} {13405#true} #80#return; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 19: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 18: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L272 TraceCheckUtils]: 17: Hoare triple {13405#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L290 TraceCheckUtils]: 16: Hoare triple {13405#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13405#true} is VALID [2022-04-27 11:59:28,695 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13405#true} {13405#true} #78#return; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 12: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L272 TraceCheckUtils]: 11: Hoare triple {13405#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13405#true} {13405#true} #76#return; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {13405#true} assume !(0 == ~cond); {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {13405#true} ~cond := #in~cond; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L272 TraceCheckUtils]: 6: Hoare triple {13405#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {13405#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {13405#true} call #t~ret6 := main(); {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13405#true} {13405#true} #96#return; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {13405#true} assume true; {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {13405#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); {13405#true} is VALID [2022-04-27 11:59:28,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {13405#true} call ULTIMATE.init(); {13405#true} is VALID [2022-04-27 11:59:28,697 INFO L134 CoverageAnalysis]: Checked inductivity of 453 backedges. 120 proven. 32 refuted. 0 times theorem prover too weak. 301 trivial. 0 not checked. [2022-04-27 11:59:28,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:59:28,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1969514912] [2022-04-27 11:59:28,697 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 11:59:28,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2112934399] [2022-04-27 11:59:28,697 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2112934399] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:59:28,697 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 11:59:28,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-27 11:59:28,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [539264225] [2022-04-27 11:59:28,697 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 11:59:28,698 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 16 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 13 states have call predecessors, (31), 14 states have call successors, (31) Word has length 116 [2022-04-27 11:59:28,700 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:59:28,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 16 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 13 states have call predecessors, (31), 14 states have call successors, (31) [2022-04-27 11:59:28,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:59:28,907 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 11:59:28,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:59:28,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 11:59:28,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=341, Unknown=0, NotChecked=0, Total=420 [2022-04-27 11:59:28,908 INFO L87 Difference]: Start difference. First operand 215 states and 289 transitions. Second operand has 21 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 16 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 13 states have call predecessors, (31), 14 states have call successors, (31) [2022-04-27 11:59:33,680 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 11:59:35,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:59:35,162 INFO L93 Difference]: Finished difference Result 246 states and 326 transitions. [2022-04-27 11:59:35,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 11:59:35,162 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 16 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 13 states have call predecessors, (31), 14 states have call successors, (31) Word has length 116 [2022-04-27 11:59:35,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:59:35,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 16 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 13 states have call predecessors, (31), 14 states have call successors, (31) [2022-04-27 11:59:35,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 130 transitions. [2022-04-27 11:59:35,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 16 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 13 states have call predecessors, (31), 14 states have call successors, (31) [2022-04-27 11:59:35,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 130 transitions. [2022-04-27 11:59:35,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 130 transitions. [2022-04-27 11:59:36,009 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:59:36,013 INFO L225 Difference]: With dead ends: 246 [2022-04-27 11:59:36,013 INFO L226 Difference]: Without dead ends: 244 [2022-04-27 11:59:36,013 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 211 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 158 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=158, Invalid=712, Unknown=0, NotChecked=0, Total=870 [2022-04-27 11:59:36,014 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 45 mSDsluCounter, 254 mSDsCounter, 0 mSdLazyCounter, 748 mSolverCounterSat, 125 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 301 SdHoareTripleChecker+Invalid, 873 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 125 IncrementalHoareTripleChecker+Valid, 748 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:59:36,014 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 301 Invalid, 873 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [125 Valid, 748 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-27 11:59:36,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states. [2022-04-27 11:59:36,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 227. [2022-04-27 11:59:36,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:59:36,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 244 states. Second operand has 227 states, 126 states have (on average 1.126984126984127) internal successors, (142), 128 states have internal predecessors, (142), 79 states have call successors, (79), 22 states have call predecessors, (79), 21 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:59:36,330 INFO L74 IsIncluded]: Start isIncluded. First operand 244 states. Second operand has 227 states, 126 states have (on average 1.126984126984127) internal successors, (142), 128 states have internal predecessors, (142), 79 states have call successors, (79), 22 states have call predecessors, (79), 21 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:59:36,330 INFO L87 Difference]: Start difference. First operand 244 states. Second operand has 227 states, 126 states have (on average 1.126984126984127) internal successors, (142), 128 states have internal predecessors, (142), 79 states have call successors, (79), 22 states have call predecessors, (79), 21 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:59:36,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:59:36,335 INFO L93 Difference]: Finished difference Result 244 states and 324 transitions. [2022-04-27 11:59:36,335 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 324 transitions. [2022-04-27 11:59:36,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:59:36,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:59:36,337 INFO L74 IsIncluded]: Start isIncluded. First operand has 227 states, 126 states have (on average 1.126984126984127) internal successors, (142), 128 states have internal predecessors, (142), 79 states have call successors, (79), 22 states have call predecessors, (79), 21 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) Second operand 244 states. [2022-04-27 11:59:36,337 INFO L87 Difference]: Start difference. First operand has 227 states, 126 states have (on average 1.126984126984127) internal successors, (142), 128 states have internal predecessors, (142), 79 states have call successors, (79), 22 states have call predecessors, (79), 21 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) Second operand 244 states. [2022-04-27 11:59:36,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:59:36,342 INFO L93 Difference]: Finished difference Result 244 states and 324 transitions. [2022-04-27 11:59:36,342 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 324 transitions. [2022-04-27 11:59:36,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:59:36,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:59:36,343 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:59:36,343 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:59:36,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 227 states, 126 states have (on average 1.126984126984127) internal successors, (142), 128 states have internal predecessors, (142), 79 states have call successors, (79), 22 states have call predecessors, (79), 21 states have return successors, (77), 76 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-27 11:59:36,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 227 states to 227 states and 298 transitions. [2022-04-27 11:59:36,349 INFO L78 Accepts]: Start accepts. Automaton has 227 states and 298 transitions. Word has length 116 [2022-04-27 11:59:36,349 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:59:36,349 INFO L495 AbstractCegarLoop]: Abstraction has 227 states and 298 transitions. [2022-04-27 11:59:36,349 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 16 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 13 states have call predecessors, (31), 14 states have call successors, (31) [2022-04-27 11:59:36,349 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 298 transitions. [2022-04-27 11:59:36,350 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-27 11:59:36,350 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:59:36,350 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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:59:36,374 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:59:36,574 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:59:36,574 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:59:36,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:59:36,575 INFO L85 PathProgramCache]: Analyzing trace with hash -1787495061, now seen corresponding path program 2 times [2022-04-27 11:59:36,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:59:36,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422873263] [2022-04-27 11:59:36,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:59:36,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:59:36,588 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 11:59:36,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1174769743] [2022-04-27 11:59:36,588 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:59:36,588 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:59:36,588 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:59:36,589 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:59:36,590 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:59:36,647 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:59:36,647 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:59:36,649 INFO L263 TraceCheckSpWp]: Trace formula consists of 315 conjuncts, 76 conjunts are in the unsatisfiable core [2022-04-27 11:59:36,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:59:36,671 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:59:52,570 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:59:52,623 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:59:52,780 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 11:59:53,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {15367#true} call ULTIMATE.init(); {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {15367#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); {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15367#true} {15367#true} #96#return; {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {15367#true} call #t~ret6 := main(); {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {15367#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L272 TraceCheckUtils]: 6: Hoare triple {15367#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15367#true} {15367#true} #76#return; {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L272 TraceCheckUtils]: 11: Hoare triple {15367#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L290 TraceCheckUtils]: 12: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15367#true} {15367#true} #78#return; {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L290 TraceCheckUtils]: 16: Hoare triple {15367#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:59:53,431 INFO L272 TraceCheckUtils]: 17: Hoare triple {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,432 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15367#true} {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #80#return; {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:59:53,432 INFO L272 TraceCheckUtils]: 22: Hoare triple {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,433 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15367#true} {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:59:53,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 11:59:53,434 INFO L290 TraceCheckUtils]: 28: Hoare triple {15420#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:59:53,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:59:53,434 INFO L272 TraceCheckUtils]: 30: Hoare triple {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,434 INFO L290 TraceCheckUtils]: 32: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,434 INFO L290 TraceCheckUtils]: 33: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,435 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {15367#true} {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #84#return; {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:59:53,435 INFO L272 TraceCheckUtils]: 35: Hoare triple {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,435 INFO L290 TraceCheckUtils]: 36: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,435 INFO L290 TraceCheckUtils]: 37: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,436 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {15367#true} {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:59:53,436 INFO L272 TraceCheckUtils]: 40: Hoare triple {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,436 INFO L290 TraceCheckUtils]: 41: Hoare triple {15367#true} ~cond := #in~cond; {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:59:53,436 INFO L290 TraceCheckUtils]: 42: Hoare triple {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,437 INFO L290 TraceCheckUtils]: 43: Hoare triple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,437 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:59:53,437 INFO L272 TraceCheckUtils]: 45: Hoare triple {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,437 INFO L290 TraceCheckUtils]: 46: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,438 INFO L290 TraceCheckUtils]: 47: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,438 INFO L290 TraceCheckUtils]: 48: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,438 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {15367#true} {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:59:53,439 INFO L290 TraceCheckUtils]: 50: Hoare triple {15457#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {15526#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 11:59:53,440 INFO L290 TraceCheckUtils]: 51: Hoare triple {15526#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15530#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,440 INFO L290 TraceCheckUtils]: 52: Hoare triple {15530#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15530#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {15530#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,441 INFO L290 TraceCheckUtils]: 54: Hoare triple {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,441 INFO L272 TraceCheckUtils]: 55: Hoare triple {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,441 INFO L290 TraceCheckUtils]: 56: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,441 INFO L290 TraceCheckUtils]: 57: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,441 INFO L290 TraceCheckUtils]: 58: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,442 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15367#true} {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #84#return; {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,442 INFO L272 TraceCheckUtils]: 60: Hoare triple {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,442 INFO L290 TraceCheckUtils]: 61: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,442 INFO L290 TraceCheckUtils]: 62: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,442 INFO L290 TraceCheckUtils]: 63: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,443 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {15367#true} {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #86#return; {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,443 INFO L272 TraceCheckUtils]: 65: Hoare triple {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,443 INFO L290 TraceCheckUtils]: 66: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,443 INFO L290 TraceCheckUtils]: 67: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,443 INFO L290 TraceCheckUtils]: 68: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,444 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15367#true} {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #88#return; {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,444 INFO L272 TraceCheckUtils]: 70: Hoare triple {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,444 INFO L290 TraceCheckUtils]: 71: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,444 INFO L290 TraceCheckUtils]: 72: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,444 INFO L290 TraceCheckUtils]: 73: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,445 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15367#true} {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #90#return; {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,446 INFO L290 TraceCheckUtils]: 75: Hoare triple {15537#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,446 INFO L290 TraceCheckUtils]: 76: Hoare triple {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,446 INFO L272 TraceCheckUtils]: 77: Hoare triple {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,446 INFO L290 TraceCheckUtils]: 78: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,446 INFO L290 TraceCheckUtils]: 79: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,446 INFO L290 TraceCheckUtils]: 80: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,447 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {15367#true} {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #84#return; {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,447 INFO L272 TraceCheckUtils]: 82: Hoare triple {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,447 INFO L290 TraceCheckUtils]: 83: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,447 INFO L290 TraceCheckUtils]: 84: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,447 INFO L290 TraceCheckUtils]: 85: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,448 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15367#true} {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #86#return; {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,448 INFO L272 TraceCheckUtils]: 87: Hoare triple {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,448 INFO L290 TraceCheckUtils]: 88: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,448 INFO L290 TraceCheckUtils]: 89: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,448 INFO L290 TraceCheckUtils]: 90: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,449 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {15367#true} {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #88#return; {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,449 INFO L272 TraceCheckUtils]: 92: Hoare triple {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,449 INFO L290 TraceCheckUtils]: 93: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,449 INFO L290 TraceCheckUtils]: 94: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,449 INFO L290 TraceCheckUtils]: 95: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,450 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15367#true} {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #90#return; {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 11:59:53,451 INFO L290 TraceCheckUtils]: 97: Hoare triple {15604#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {15671#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} is VALID [2022-04-27 11:59:53,451 INFO L290 TraceCheckUtils]: 98: Hoare triple {15671#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} assume !false; {15671#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} is VALID [2022-04-27 11:59:53,451 INFO L272 TraceCheckUtils]: 99: Hoare triple {15671#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,452 INFO L290 TraceCheckUtils]: 100: Hoare triple {15367#true} ~cond := #in~cond; {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:59:53,452 INFO L290 TraceCheckUtils]: 101: Hoare triple {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,452 INFO L290 TraceCheckUtils]: 102: Hoare triple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,453 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} {15671#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} #84#return; {15690#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} is VALID [2022-04-27 11:59:53,453 INFO L272 TraceCheckUtils]: 104: Hoare triple {15690#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,453 INFO L290 TraceCheckUtils]: 105: Hoare triple {15367#true} ~cond := #in~cond; {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:59:53,454 INFO L290 TraceCheckUtils]: 106: Hoare triple {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,454 INFO L290 TraceCheckUtils]: 107: Hoare triple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,455 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} {15690#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0))} #86#return; {15706#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-27 11:59:53,455 INFO L272 TraceCheckUtils]: 109: Hoare triple {15706#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,456 INFO L290 TraceCheckUtils]: 110: Hoare triple {15367#true} ~cond := #in~cond; {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:59:53,456 INFO L290 TraceCheckUtils]: 111: Hoare triple {15497#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,456 INFO L290 TraceCheckUtils]: 112: Hoare triple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:59:53,457 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} {15706#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} #88#return; {15722#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-27 11:59:53,457 INFO L272 TraceCheckUtils]: 114: Hoare triple {15722#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 11:59:53,457 INFO L290 TraceCheckUtils]: 115: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 11:59:53,457 INFO L290 TraceCheckUtils]: 116: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 11:59:53,457 INFO L290 TraceCheckUtils]: 117: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 11:59:53,459 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {15367#true} {15722#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} #90#return; {15722#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-27 11:59:53,461 INFO L290 TraceCheckUtils]: 119: Hoare triple {15722#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {15741#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 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))) (= (+ (* 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))) (= main_~r~0 1))} is VALID [2022-04-27 11:59:53,471 INFO L290 TraceCheckUtils]: 120: Hoare triple {15741#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* 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))) (= main_~s~0 0) (= main_~p~0 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))) (= (+ (* 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))) (= main_~r~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; {15745#(and (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (< main_~b~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) (+ main_~y~0 (* (+ main_~q~0 (* main_~k~0 (div (* (- 1) main_~q~0) main_~k~0))) main_~x~0))) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (= main_~s~0 1))} is VALID [2022-04-27 11:59:53,472 INFO L290 TraceCheckUtils]: 121: Hoare triple {15745#(and (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (< main_~b~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) (+ main_~y~0 (* (+ main_~q~0 (* main_~k~0 (div (* (- 1) main_~q~0) main_~k~0))) main_~x~0))) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (= main_~s~0 1))} assume !false; {15745#(and (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (< main_~b~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) (+ main_~y~0 (* (+ main_~q~0 (* main_~k~0 (div (* (- 1) main_~q~0) main_~k~0))) main_~x~0))) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (= main_~s~0 1))} is VALID [2022-04-27 11:59:53,473 INFO L290 TraceCheckUtils]: 122: Hoare triple {15745#(and (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (< main_~b~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) (+ main_~y~0 (* (+ main_~q~0 (* main_~k~0 (div (* (- 1) main_~q~0) main_~k~0))) main_~x~0))) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (= main_~s~0 1))} assume !(0 != ~b~0); {15752#(and (= main_~s~0 1) (exists ((main_~k~0 Int)) (and (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (< 0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (= (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) (+ main_~y~0 (* (+ main_~q~0 (* main_~k~0 (div (* (- 1) main_~q~0) main_~k~0))) main_~x~0))) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))))} is VALID [2022-04-27 11:59:53,475 INFO L272 TraceCheckUtils]: 123: Hoare triple {15752#(and (= main_~s~0 1) (exists ((main_~k~0 Int)) (and (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (< 0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (= (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) (+ main_~y~0 (* (+ main_~q~0 (* main_~k~0 (div (* (- 1) main_~q~0) main_~k~0))) main_~x~0))) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {15756#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:59:53,475 INFO L290 TraceCheckUtils]: 124: Hoare triple {15756#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15760#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:59:53,475 INFO L290 TraceCheckUtils]: 125: Hoare triple {15760#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15368#false} is VALID [2022-04-27 11:59:53,475 INFO L290 TraceCheckUtils]: 126: Hoare triple {15368#false} assume !false; {15368#false} is VALID [2022-04-27 11:59:53,476 INFO L134 CoverageAnalysis]: Checked inductivity of 579 backedges. 133 proven. 86 refuted. 0 times theorem prover too weak. 360 trivial. 0 not checked. [2022-04-27 11:59:53,476 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:01:40,759 INFO L290 TraceCheckUtils]: 126: Hoare triple {15368#false} assume !false; {15368#false} is VALID [2022-04-27 12:01:40,760 INFO L290 TraceCheckUtils]: 125: Hoare triple {15760#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15368#false} is VALID [2022-04-27 12:01:40,760 INFO L290 TraceCheckUtils]: 124: Hoare triple {15756#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15760#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:01:40,761 INFO L272 TraceCheckUtils]: 123: Hoare triple {15776#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {15756#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:01:40,761 INFO L290 TraceCheckUtils]: 122: Hoare triple {15780#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {15776#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 12:01:40,762 INFO L290 TraceCheckUtils]: 121: Hoare triple {15780#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {15780#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 12:01:42,545 INFO L290 TraceCheckUtils]: 120: Hoare triple {15787#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~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; {15780#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 12:01:42,546 INFO L290 TraceCheckUtils]: 119: Hoare triple {15791#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {15787#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 12:01:42,546 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {15367#true} {15791#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #90#return; {15791#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 12:01:42,547 INFO L290 TraceCheckUtils]: 117: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,547 INFO L290 TraceCheckUtils]: 116: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,547 INFO L290 TraceCheckUtils]: 115: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,547 INFO L272 TraceCheckUtils]: 114: Hoare triple {15791#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,563 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} {15810#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #88#return; {15791#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 12:01:42,565 INFO L290 TraceCheckUtils]: 112: Hoare triple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:01:42,566 INFO L290 TraceCheckUtils]: 111: Hoare triple {15820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:01:42,566 INFO L290 TraceCheckUtils]: 110: Hoare triple {15367#true} ~cond := #in~cond; {15820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:01:42,566 INFO L272 TraceCheckUtils]: 109: Hoare triple {15810#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,568 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} {15827#(or (not (= main_~c~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_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #86#return; {15810#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 12:01:42,568 INFO L290 TraceCheckUtils]: 107: Hoare triple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:01:42,568 INFO L290 TraceCheckUtils]: 106: Hoare triple {15820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:01:42,569 INFO L290 TraceCheckUtils]: 105: Hoare triple {15367#true} ~cond := #in~cond; {15820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:01:42,569 INFO L272 TraceCheckUtils]: 104: Hoare triple {15827#(or (not (= main_~c~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_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,613 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} {15367#true} #84#return; {15827#(or (not (= main_~c~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_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 12:01:42,614 INFO L290 TraceCheckUtils]: 102: Hoare triple {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:01:42,614 INFO L290 TraceCheckUtils]: 101: Hoare triple {15820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15501#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 100: Hoare triple {15367#true} ~cond := #in~cond; {15820#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:01:42,615 INFO L272 TraceCheckUtils]: 99: Hoare triple {15367#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 98: Hoare triple {15367#true} assume !false; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 97: Hoare triple {15367#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15367#true} {15367#true} #90#return; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 95: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 94: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 93: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L272 TraceCheckUtils]: 92: Hoare triple {15367#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {15367#true} {15367#true} #88#return; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 90: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 89: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L290 TraceCheckUtils]: 88: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L272 TraceCheckUtils]: 87: Hoare triple {15367#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,615 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15367#true} {15367#true} #86#return; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 85: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 84: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 83: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L272 TraceCheckUtils]: 82: Hoare triple {15367#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {15367#true} {15367#true} #84#return; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 80: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 79: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L272 TraceCheckUtils]: 77: Hoare triple {15367#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 76: Hoare triple {15367#true} assume !false; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 75: Hoare triple {15367#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15367#true} {15367#true} #90#return; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 73: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 72: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L290 TraceCheckUtils]: 71: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L272 TraceCheckUtils]: 70: Hoare triple {15367#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,616 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15367#true} {15367#true} #88#return; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 68: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 67: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 66: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L272 TraceCheckUtils]: 65: Hoare triple {15367#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {15367#true} {15367#true} #86#return; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 63: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 62: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 61: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L272 TraceCheckUtils]: 60: Hoare triple {15367#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15367#true} {15367#true} #84#return; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 58: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 57: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 56: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L272 TraceCheckUtils]: 55: Hoare triple {15367#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 54: Hoare triple {15367#true} assume !false; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {15367#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15367#true} is VALID [2022-04-27 12:01:42,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {15367#true} assume !false; {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L290 TraceCheckUtils]: 51: Hoare triple {15367#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; {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L290 TraceCheckUtils]: 50: Hoare triple {15367#true} assume !(~c~0 >= ~b~0); {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {15367#true} {15367#true} #90#return; {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L290 TraceCheckUtils]: 48: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L290 TraceCheckUtils]: 47: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L290 TraceCheckUtils]: 46: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L272 TraceCheckUtils]: 45: Hoare triple {15367#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {15367#true} {15367#true} #88#return; {15367#true} is VALID [2022-04-27 12:01:42,618 INFO L290 TraceCheckUtils]: 43: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L290 TraceCheckUtils]: 42: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L290 TraceCheckUtils]: 41: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L272 TraceCheckUtils]: 40: Hoare triple {15367#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {15367#true} {15367#true} #86#return; {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L290 TraceCheckUtils]: 37: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L290 TraceCheckUtils]: 36: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L272 TraceCheckUtils]: 35: Hoare triple {15367#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {15367#true} {15367#true} #84#return; {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L290 TraceCheckUtils]: 33: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 31: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L272 TraceCheckUtils]: 30: Hoare triple {15367#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {15367#true} assume !false; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 28: Hoare triple {15367#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 27: Hoare triple {15367#true} assume !false; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15367#true} {15367#true} #82#return; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L272 TraceCheckUtils]: 22: Hoare triple {15367#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15367#true} {15367#true} #80#return; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L272 TraceCheckUtils]: 17: Hoare triple {15367#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {15367#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {15367#true} is VALID [2022-04-27 12:01:42,624 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15367#true} {15367#true} #78#return; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 14: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 13: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 12: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L272 TraceCheckUtils]: 11: Hoare triple {15367#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15367#true} {15367#true} #76#return; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L272 TraceCheckUtils]: 6: Hoare triple {15367#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {15367#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {15367#true} call #t~ret6 := main(); {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15367#true} {15367#true} #96#return; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {15367#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); {15367#true} is VALID [2022-04-27 12:01:42,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {15367#true} call ULTIMATE.init(); {15367#true} is VALID [2022-04-27 12:01:42,635 INFO L134 CoverageAnalysis]: Checked inductivity of 579 backedges. 154 proven. 12 refuted. 0 times theorem prover too weak. 413 trivial. 0 not checked. [2022-04-27 12:01:42,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:01:42,635 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [422873263] [2022-04-27 12:01:42,635 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:01:42,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1174769743] [2022-04-27 12:01:42,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1174769743] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:01:42,636 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:01:42,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 12] total 26 [2022-04-27 12:01:42,636 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1902218531] [2022-04-27 12:01:42,636 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:01:42,638 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 20 states have (on average 2.25) internal successors, (45), 19 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 11 states have call predecessors, (31), 12 states have call successors, (31) Word has length 127 [2022-04-27 12:01:42,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:01:42,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 20 states have (on average 2.25) internal successors, (45), 19 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 11 states have call predecessors, (31), 12 states have call successors, (31) [2022-04-27 12:01:43,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:01:43,256 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-27 12:01:43,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:01:43,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-27 12:01:43,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=537, Unknown=0, NotChecked=0, Total=650 [2022-04-27 12:01:43,257 INFO L87 Difference]: Start difference. First operand 227 states and 298 transitions. Second operand has 26 states, 20 states have (on average 2.25) internal successors, (45), 19 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 11 states have call predecessors, (31), 12 states have call successors, (31) [2022-04-27 12:01:52,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:01:52,088 INFO L93 Difference]: Finished difference Result 261 states and 340 transitions. [2022-04-27 12:01:52,088 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 12:01:52,088 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 20 states have (on average 2.25) internal successors, (45), 19 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 11 states have call predecessors, (31), 12 states have call successors, (31) Word has length 127 [2022-04-27 12:01:52,088 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:01:52,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 20 states have (on average 2.25) internal successors, (45), 19 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 11 states have call predecessors, (31), 12 states have call successors, (31) [2022-04-27 12:01:52,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 141 transitions. [2022-04-27 12:01:52,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 20 states have (on average 2.25) internal successors, (45), 19 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 11 states have call predecessors, (31), 12 states have call successors, (31) [2022-04-27 12:01:52,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 141 transitions. [2022-04-27 12:01:52,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 141 transitions. [2022-04-27 12:01:52,468 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 12:01:52,472 INFO L225 Difference]: With dead ends: 261 [2022-04-27 12:01:52,472 INFO L226 Difference]: Without dead ends: 253 [2022-04-27 12:01:52,473 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 272 GetRequests, 228 SyntacticMatches, 1 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 408 ImplicationChecksByTransitivity, 5.5s TimeCoverageRelationStatistics Valid=359, Invalid=1621, Unknown=0, NotChecked=0, Total=1980 [2022-04-27 12:01:52,473 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 72 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 642 mSolverCounterSat, 160 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 867 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 160 IncrementalHoareTripleChecker+Valid, 642 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 65 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:01:52,474 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [78 Valid, 231 Invalid, 867 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [160 Valid, 642 Invalid, 0 Unknown, 65 Unchecked, 2.0s Time] [2022-04-27 12:01:52,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2022-04-27 12:01:52,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 204. [2022-04-27 12:01:52,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:01:52,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand has 204 states, 118 states have (on average 1.076271186440678) internal successors, (127), 119 states have internal predecessors, (127), 62 states have call successors, (62), 24 states have call predecessors, (62), 23 states have return successors, (61), 60 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 12:01:52,879 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand has 204 states, 118 states have (on average 1.076271186440678) internal successors, (127), 119 states have internal predecessors, (127), 62 states have call successors, (62), 24 states have call predecessors, (62), 23 states have return successors, (61), 60 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 12:01:52,879 INFO L87 Difference]: Start difference. First operand 253 states. Second operand has 204 states, 118 states have (on average 1.076271186440678) internal successors, (127), 119 states have internal predecessors, (127), 62 states have call successors, (62), 24 states have call predecessors, (62), 23 states have return successors, (61), 60 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 12:01:52,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:01:52,900 INFO L93 Difference]: Finished difference Result 253 states and 329 transitions. [2022-04-27 12:01:52,900 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 329 transitions. [2022-04-27 12:01:52,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:01:52,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:01:52,901 INFO L74 IsIncluded]: Start isIncluded. First operand has 204 states, 118 states have (on average 1.076271186440678) internal successors, (127), 119 states have internal predecessors, (127), 62 states have call successors, (62), 24 states have call predecessors, (62), 23 states have return successors, (61), 60 states have call predecessors, (61), 61 states have call successors, (61) Second operand 253 states. [2022-04-27 12:01:52,901 INFO L87 Difference]: Start difference. First operand has 204 states, 118 states have (on average 1.076271186440678) internal successors, (127), 119 states have internal predecessors, (127), 62 states have call successors, (62), 24 states have call predecessors, (62), 23 states have return successors, (61), 60 states have call predecessors, (61), 61 states have call successors, (61) Second operand 253 states. [2022-04-27 12:01:52,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:01:52,906 INFO L93 Difference]: Finished difference Result 253 states and 329 transitions. [2022-04-27 12:01:52,906 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 329 transitions. [2022-04-27 12:01:52,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:01:52,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:01:52,907 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:01:52,907 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:01:52,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 204 states, 118 states have (on average 1.076271186440678) internal successors, (127), 119 states have internal predecessors, (127), 62 states have call successors, (62), 24 states have call predecessors, (62), 23 states have return successors, (61), 60 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 12:01:52,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 204 states to 204 states and 250 transitions. [2022-04-27 12:01:52,927 INFO L78 Accepts]: Start accepts. Automaton has 204 states and 250 transitions. Word has length 127 [2022-04-27 12:01:52,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:01:52,927 INFO L495 AbstractCegarLoop]: Abstraction has 204 states and 250 transitions. [2022-04-27 12:01:52,928 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 20 states have (on average 2.25) internal successors, (45), 19 states have internal predecessors, (45), 14 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 11 states have call predecessors, (31), 12 states have call successors, (31) [2022-04-27 12:01:52,928 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 250 transitions. [2022-04-27 12:01:52,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 169 [2022-04-27 12:01:52,929 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:01:52,930 INFO L195 NwaCegarLoop]: trace histogram [24, 23, 23, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:01:52,963 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:53,130 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:53,130 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:01:53,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:01:53,131 INFO L85 PathProgramCache]: Analyzing trace with hash -931001923, now seen corresponding path program 3 times [2022-04-27 12:01:53,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:01:53,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2041199648] [2022-04-27 12:01:53,131 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:01:53,131 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:01:53,149 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:01:53,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2109726428] [2022-04-27 12:01:53,149 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 12:01:53,149 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:01:53,149 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:01:53,165 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:53,195 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:54,688 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 12:01:54,688 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:01:54,690 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 12:01:54,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:01:54,735 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:02:02,118 INFO L272 TraceCheckUtils]: 0: Hoare triple {17414#true} call ULTIMATE.init(); {17414#true} is VALID [2022-04-27 12:02:02,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {17414#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); {17414#true} is VALID [2022-04-27 12:02:02,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17414#true} {17414#true} #96#return; {17414#true} is VALID [2022-04-27 12:02:02,119 INFO L272 TraceCheckUtils]: 4: Hoare triple {17414#true} call #t~ret6 := main(); {17414#true} is VALID [2022-04-27 12:02:02,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {17414#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {17414#true} is VALID [2022-04-27 12:02:02,119 INFO L272 TraceCheckUtils]: 6: Hoare triple {17414#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {17414#true} ~cond := #in~cond; {17440#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:02:02,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {17440#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17444#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:02:02,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {17444#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17444#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:02:02,120 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17444#(not (= |assume_abort_if_not_#in~cond| 0))} {17414#true} #76#return; {17451#(<= 1 main_~x~0)} is VALID [2022-04-27 12:02:02,120 INFO L272 TraceCheckUtils]: 11: Hoare triple {17451#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,120 INFO L290 TraceCheckUtils]: 12: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,121 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17414#true} {17451#(<= 1 main_~x~0)} #78#return; {17451#(<= 1 main_~x~0)} is VALID [2022-04-27 12:02:02,121 INFO L290 TraceCheckUtils]: 16: Hoare triple {17451#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,121 INFO L272 TraceCheckUtils]: 17: Hoare triple {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,121 INFO L290 TraceCheckUtils]: 19: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,122 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17414#true} {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #80#return; {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,122 INFO L272 TraceCheckUtils]: 22: Hoare triple {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,122 INFO L290 TraceCheckUtils]: 23: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,122 INFO L290 TraceCheckUtils]: 25: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,122 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17414#true} {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #82#return; {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {17470#(and (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,124 INFO L272 TraceCheckUtils]: 30: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,124 INFO L290 TraceCheckUtils]: 31: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,124 INFO L290 TraceCheckUtils]: 32: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,124 INFO L290 TraceCheckUtils]: 33: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,124 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,125 INFO L272 TraceCheckUtils]: 35: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,125 INFO L290 TraceCheckUtils]: 36: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,125 INFO L290 TraceCheckUtils]: 37: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,125 INFO L290 TraceCheckUtils]: 38: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,125 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,125 INFO L272 TraceCheckUtils]: 40: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,125 INFO L290 TraceCheckUtils]: 41: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,125 INFO L290 TraceCheckUtils]: 42: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,125 INFO L290 TraceCheckUtils]: 43: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,126 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,126 INFO L272 TraceCheckUtils]: 45: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,126 INFO L290 TraceCheckUtils]: 46: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,126 INFO L290 TraceCheckUtils]: 47: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,126 INFO L290 TraceCheckUtils]: 48: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,132 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,133 INFO L290 TraceCheckUtils]: 50: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,133 INFO L290 TraceCheckUtils]: 52: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,134 INFO L290 TraceCheckUtils]: 53: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,134 INFO L290 TraceCheckUtils]: 54: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,134 INFO L272 TraceCheckUtils]: 55: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,134 INFO L290 TraceCheckUtils]: 56: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,134 INFO L290 TraceCheckUtils]: 57: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,134 INFO L290 TraceCheckUtils]: 58: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,135 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,135 INFO L272 TraceCheckUtils]: 60: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,135 INFO L290 TraceCheckUtils]: 61: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,135 INFO L290 TraceCheckUtils]: 62: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,135 INFO L290 TraceCheckUtils]: 63: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,136 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,136 INFO L272 TraceCheckUtils]: 65: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,136 INFO L290 TraceCheckUtils]: 66: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,136 INFO L290 TraceCheckUtils]: 67: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,136 INFO L290 TraceCheckUtils]: 68: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,137 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,137 INFO L272 TraceCheckUtils]: 70: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,137 INFO L290 TraceCheckUtils]: 71: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,137 INFO L290 TraceCheckUtils]: 72: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,137 INFO L290 TraceCheckUtils]: 73: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,137 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,138 INFO L290 TraceCheckUtils]: 75: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,138 INFO L290 TraceCheckUtils]: 76: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,138 INFO L272 TraceCheckUtils]: 77: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,138 INFO L290 TraceCheckUtils]: 78: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,138 INFO L290 TraceCheckUtils]: 79: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,138 INFO L290 TraceCheckUtils]: 80: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,139 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,139 INFO L272 TraceCheckUtils]: 82: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,139 INFO L290 TraceCheckUtils]: 83: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,139 INFO L290 TraceCheckUtils]: 84: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,139 INFO L290 TraceCheckUtils]: 85: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,140 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,140 INFO L272 TraceCheckUtils]: 87: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,140 INFO L290 TraceCheckUtils]: 88: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,140 INFO L290 TraceCheckUtils]: 89: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,140 INFO L290 TraceCheckUtils]: 90: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,141 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,141 INFO L272 TraceCheckUtils]: 92: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,141 INFO L290 TraceCheckUtils]: 93: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,141 INFO L290 TraceCheckUtils]: 94: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,141 INFO L290 TraceCheckUtils]: 95: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,141 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {17414#true} {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,142 INFO L290 TraceCheckUtils]: 97: Hoare triple {17507#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {17715#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,142 INFO L290 TraceCheckUtils]: 98: Hoare triple {17715#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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; {17719#(and (< main_~b~0 main_~a~0) (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,143 INFO L290 TraceCheckUtils]: 99: Hoare triple {17719#(and (< main_~b~0 main_~a~0) (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17719#(and (< main_~b~0 main_~a~0) (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,143 INFO L290 TraceCheckUtils]: 100: Hoare triple {17719#(and (< main_~b~0 main_~a~0) (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,143 INFO L290 TraceCheckUtils]: 101: Hoare triple {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,144 INFO L272 TraceCheckUtils]: 102: Hoare triple {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,144 INFO L290 TraceCheckUtils]: 103: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,144 INFO L290 TraceCheckUtils]: 104: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,144 INFO L290 TraceCheckUtils]: 105: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,144 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {17414#true} {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,144 INFO L272 TraceCheckUtils]: 107: Hoare triple {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,144 INFO L290 TraceCheckUtils]: 108: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,144 INFO L290 TraceCheckUtils]: 109: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,145 INFO L290 TraceCheckUtils]: 110: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,145 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {17414#true} {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,145 INFO L272 TraceCheckUtils]: 112: Hoare triple {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,145 INFO L290 TraceCheckUtils]: 113: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,145 INFO L290 TraceCheckUtils]: 114: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,145 INFO L290 TraceCheckUtils]: 115: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,146 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {17414#true} {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,146 INFO L272 TraceCheckUtils]: 117: Hoare triple {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,146 INFO L290 TraceCheckUtils]: 118: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,146 INFO L290 TraceCheckUtils]: 119: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,146 INFO L290 TraceCheckUtils]: 120: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,147 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {17414#true} {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,148 INFO L290 TraceCheckUtils]: 122: Hoare triple {17726#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (< main_~b~0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,149 INFO L290 TraceCheckUtils]: 123: Hoare triple {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,149 INFO L272 TraceCheckUtils]: 124: Hoare triple {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,149 INFO L290 TraceCheckUtils]: 125: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,149 INFO L290 TraceCheckUtils]: 126: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,149 INFO L290 TraceCheckUtils]: 127: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,150 INFO L284 TraceCheckUtils]: 128: Hoare quadruple {17414#true} {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,150 INFO L272 TraceCheckUtils]: 129: Hoare triple {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,150 INFO L290 TraceCheckUtils]: 130: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,150 INFO L290 TraceCheckUtils]: 131: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,150 INFO L290 TraceCheckUtils]: 132: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,150 INFO L284 TraceCheckUtils]: 133: Hoare quadruple {17414#true} {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,150 INFO L272 TraceCheckUtils]: 134: Hoare triple {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,150 INFO L290 TraceCheckUtils]: 135: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,151 INFO L290 TraceCheckUtils]: 136: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,151 INFO L290 TraceCheckUtils]: 137: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,151 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {17414#true} {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,151 INFO L272 TraceCheckUtils]: 139: Hoare triple {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,151 INFO L290 TraceCheckUtils]: 140: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,151 INFO L290 TraceCheckUtils]: 141: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,151 INFO L290 TraceCheckUtils]: 142: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,152 INFO L284 TraceCheckUtils]: 143: Hoare quadruple {17414#true} {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,152 INFO L290 TraceCheckUtils]: 144: Hoare triple {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,153 INFO L290 TraceCheckUtils]: 145: Hoare triple {17793#(and (not (= main_~y~0 0)) (< 0 main_~c~0) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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; {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,153 INFO L290 TraceCheckUtils]: 146: Hoare triple {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,154 INFO L290 TraceCheckUtils]: 147: Hoare triple {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,154 INFO L290 TraceCheckUtils]: 148: Hoare triple {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,154 INFO L272 TraceCheckUtils]: 149: Hoare triple {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,154 INFO L290 TraceCheckUtils]: 150: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,154 INFO L290 TraceCheckUtils]: 151: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,154 INFO L290 TraceCheckUtils]: 152: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,155 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {17414#true} {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,155 INFO L272 TraceCheckUtils]: 154: Hoare triple {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,155 INFO L290 TraceCheckUtils]: 155: Hoare triple {17414#true} ~cond := #in~cond; {17414#true} is VALID [2022-04-27 12:02:02,155 INFO L290 TraceCheckUtils]: 156: Hoare triple {17414#true} assume !(0 == ~cond); {17414#true} is VALID [2022-04-27 12:02:02,155 INFO L290 TraceCheckUtils]: 157: Hoare triple {17414#true} assume true; {17414#true} is VALID [2022-04-27 12:02:02,156 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {17414#true} {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,156 INFO L272 TraceCheckUtils]: 159: Hoare triple {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17414#true} is VALID [2022-04-27 12:02:02,156 INFO L290 TraceCheckUtils]: 160: Hoare triple {17414#true} ~cond := #in~cond; {17909#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:02:02,156 INFO L290 TraceCheckUtils]: 161: Hoare triple {17909#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17913#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:02:02,157 INFO L290 TraceCheckUtils]: 162: Hoare triple {17913#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17913#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:02:02,157 INFO L284 TraceCheckUtils]: 163: Hoare quadruple {17913#(not (= |__VERIFIER_assert_#in~cond| 0))} {17863#(and (not (= main_~y~0 0)) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {17920#(and (not (= main_~y~0 0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:02:02,171 INFO L272 TraceCheckUtils]: 164: Hoare triple {17920#(and (not (= main_~y~0 0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (< 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {17924#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:02:02,172 INFO L290 TraceCheckUtils]: 165: Hoare triple {17924#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17928#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:02:02,172 INFO L290 TraceCheckUtils]: 166: Hoare triple {17928#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17415#false} is VALID [2022-04-27 12:02:02,172 INFO L290 TraceCheckUtils]: 167: Hoare triple {17415#false} assume !false; {17415#false} is VALID [2022-04-27 12:02:02,173 INFO L134 CoverageAnalysis]: Checked inductivity of 1182 backedges. 168 proven. 35 refuted. 0 times theorem prover too weak. 979 trivial. 0 not checked. [2022-04-27 12:02:02,173 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:02:10,924 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:02:10,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2041199648] [2022-04-27 12:02:10,925 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:02:10,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2109726428] [2022-04-27 12:02:10,925 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2109726428] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 12:02:10,925 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:02:10,925 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2022-04-27 12:02:10,925 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2145384470] [2022-04-27 12:02:10,925 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 12:02:10,926 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.4375) internal successors, (39), 14 states have internal predecessors, (39), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) Word has length 168 [2022-04-27 12:02:10,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:02:10,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.4375) internal successors, (39), 14 states have internal predecessors, (39), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 12:02:11,102 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:11,102 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-27 12:02:11,102 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:02:11,102 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-27 12:02:11,103 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=281, Unknown=1, NotChecked=0, Total=342 [2022-04-27 12:02:11,103 INFO L87 Difference]: Start difference. First operand 204 states and 250 transitions. Second operand has 17 states, 16 states have (on average 2.4375) internal successors, (39), 14 states have internal predecessors, (39), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 12:02:54,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:54,834 INFO L93 Difference]: Finished difference Result 302 states and 402 transitions. [2022-04-27 12:02:54,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 12:02:54,834 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.4375) internal successors, (39), 14 states have internal predecessors, (39), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) Word has length 168 [2022-04-27 12:02:54,835 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:02:54,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.4375) internal successors, (39), 14 states have internal predecessors, (39), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 12:02:54,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 114 transitions. [2022-04-27 12:02:54,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.4375) internal successors, (39), 14 states have internal predecessors, (39), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 12:02:54,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 114 transitions. [2022-04-27 12:02:54,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 114 transitions. [2022-04-27 12:02:55,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:55,126 INFO L225 Difference]: With dead ends: 302 [2022-04-27 12:02:55,126 INFO L226 Difference]: Without dead ends: 300 [2022-04-27 12:02:55,127 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 154 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 211 ImplicationChecksByTransitivity, 10.1s TimeCoverageRelationStatistics Valid=212, Invalid=977, Unknown=1, NotChecked=0, Total=1190 [2022-04-27 12:02:55,127 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 33 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 872 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 15.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 927 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 872 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 15.4s IncrementalHoareTripleChecker+Time [2022-04-27 12:02:55,128 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 268 Invalid, 927 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 872 Invalid, 0 Unknown, 0 Unchecked, 15.4s Time] [2022-04-27 12:02:55,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 300 states. [2022-04-27 12:02:55,761 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 300 to 296. [2022-04-27 12:02:55,761 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:02:55,761 INFO L82 GeneralOperation]: Start isEquivalent. First operand 300 states. Second operand has 296 states, 159 states have (on average 1.1132075471698113) internal successors, (177), 161 states have internal predecessors, (177), 110 states have call successors, (110), 27 states have call predecessors, (110), 26 states have return successors, (109), 107 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-27 12:02:55,773 INFO L74 IsIncluded]: Start isIncluded. First operand 300 states. Second operand has 296 states, 159 states have (on average 1.1132075471698113) internal successors, (177), 161 states have internal predecessors, (177), 110 states have call successors, (110), 27 states have call predecessors, (110), 26 states have return successors, (109), 107 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-27 12:02:55,781 INFO L87 Difference]: Start difference. First operand 300 states. Second operand has 296 states, 159 states have (on average 1.1132075471698113) internal successors, (177), 161 states have internal predecessors, (177), 110 states have call successors, (110), 27 states have call predecessors, (110), 26 states have return successors, (109), 107 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-27 12:02:55,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:55,787 INFO L93 Difference]: Finished difference Result 300 states and 400 transitions. [2022-04-27 12:02:55,788 INFO L276 IsEmpty]: Start isEmpty. Operand 300 states and 400 transitions. [2022-04-27 12:02:55,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:55,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:55,789 INFO L74 IsIncluded]: Start isIncluded. First operand has 296 states, 159 states have (on average 1.1132075471698113) internal successors, (177), 161 states have internal predecessors, (177), 110 states have call successors, (110), 27 states have call predecessors, (110), 26 states have return successors, (109), 107 states have call predecessors, (109), 109 states have call successors, (109) Second operand 300 states. [2022-04-27 12:02:55,789 INFO L87 Difference]: Start difference. First operand has 296 states, 159 states have (on average 1.1132075471698113) internal successors, (177), 161 states have internal predecessors, (177), 110 states have call successors, (110), 27 states have call predecessors, (110), 26 states have return successors, (109), 107 states have call predecessors, (109), 109 states have call successors, (109) Second operand 300 states. [2022-04-27 12:02:55,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:55,807 INFO L93 Difference]: Finished difference Result 300 states and 400 transitions. [2022-04-27 12:02:55,807 INFO L276 IsEmpty]: Start isEmpty. Operand 300 states and 400 transitions. [2022-04-27 12:02:55,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:55,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:55,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:02:55,808 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:02:55,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 296 states, 159 states have (on average 1.1132075471698113) internal successors, (177), 161 states have internal predecessors, (177), 110 states have call successors, (110), 27 states have call predecessors, (110), 26 states have return successors, (109), 107 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-27 12:02:55,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 296 states to 296 states and 396 transitions. [2022-04-27 12:02:55,827 INFO L78 Accepts]: Start accepts. Automaton has 296 states and 396 transitions. Word has length 168 [2022-04-27 12:02:55,827 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:02:55,827 INFO L495 AbstractCegarLoop]: Abstraction has 296 states and 396 transitions. [2022-04-27 12:02:55,827 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.4375) internal successors, (39), 14 states have internal predecessors, (39), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 12:02:55,827 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 396 transitions. [2022-04-27 12:02:55,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 191 [2022-04-27 12:02:55,829 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:02:55,829 INFO L195 NwaCegarLoop]: trace histogram [28, 27, 27, 7, 7, 7, 7, 7, 7, 7, 7, 6, 4, 4, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:02:55,846 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-27 12:02:56,040 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:56,041 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:02:56,041 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:02:56,041 INFO L85 PathProgramCache]: Analyzing trace with hash -700015396, now seen corresponding path program 4 times [2022-04-27 12:02:56,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:02:56,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [681673978] [2022-04-27 12:02:56,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:56,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:02:56,059 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:02:56,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [305827403] [2022-04-27 12:02:56,060 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 12:02:56,060 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:02:56,060 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:02:56,079 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:56,119 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:56,652 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 12:02:56,652 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:02:56,656 INFO L263 TraceCheckSpWp]: Trace formula consists of 407 conjuncts, 111 conjunts are in the unsatisfiable core [2022-04-27 12:02:56,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:56,721 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:03:17,406 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:03:22,821 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:04:38,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {19527#true} call ULTIMATE.init(); {19527#true} is VALID [2022-04-27 12:04:38,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {19527#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); {19527#true} is VALID [2022-04-27 12:04:38,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19527#true} {19527#true} #96#return; {19527#true} is VALID [2022-04-27 12:04:38,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {19527#true} call #t~ret6 := main(); {19527#true} is VALID [2022-04-27 12:04:38,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {19527#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~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; {19527#true} is VALID [2022-04-27 12:04:38,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {19527#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19527#true} {19527#true} #76#return; {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L272 TraceCheckUtils]: 11: Hoare triple {19527#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19527#true} {19527#true} #78#return; {19527#true} is VALID [2022-04-27 12:04:38,446 INFO L290 TraceCheckUtils]: 16: Hoare triple {19527#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,447 INFO L272 TraceCheckUtils]: 17: Hoare triple {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,447 INFO L290 TraceCheckUtils]: 19: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,447 INFO L290 TraceCheckUtils]: 20: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,447 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {19527#true} {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,447 INFO L272 TraceCheckUtils]: 22: Hoare triple {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,447 INFO L290 TraceCheckUtils]: 23: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,448 INFO L290 TraceCheckUtils]: 24: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,448 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {19527#true} {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,449 INFO L290 TraceCheckUtils]: 27: Hoare triple {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {19580#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,450 INFO L290 TraceCheckUtils]: 29: Hoare triple {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,450 INFO L272 TraceCheckUtils]: 30: Hoare triple {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {19527#true} is VALID [2022-04-27 12:04:38,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,450 INFO L290 TraceCheckUtils]: 32: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,450 INFO L290 TraceCheckUtils]: 33: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,451 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {19527#true} {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #84#return; {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,451 INFO L272 TraceCheckUtils]: 35: Hoare triple {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {19527#true} is VALID [2022-04-27 12:04:38,451 INFO L290 TraceCheckUtils]: 36: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,451 INFO L290 TraceCheckUtils]: 37: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,451 INFO L290 TraceCheckUtils]: 38: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,451 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {19527#true} {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,452 INFO L272 TraceCheckUtils]: 40: Hoare triple {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {19527#true} is VALID [2022-04-27 12:04:38,452 INFO L290 TraceCheckUtils]: 41: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,452 INFO L290 TraceCheckUtils]: 42: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,452 INFO L290 TraceCheckUtils]: 43: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,452 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {19527#true} {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,452 INFO L272 TraceCheckUtils]: 45: Hoare triple {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,453 INFO L290 TraceCheckUtils]: 46: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,453 INFO L290 TraceCheckUtils]: 47: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,453 INFO L290 TraceCheckUtils]: 48: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,453 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {19527#true} {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,454 INFO L290 TraceCheckUtils]: 50: Hoare triple {19617#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {19684#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,454 INFO L290 TraceCheckUtils]: 51: Hoare triple {19684#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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; {19688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,455 INFO L290 TraceCheckUtils]: 52: Hoare triple {19688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {19688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,455 INFO L290 TraceCheckUtils]: 53: Hoare triple {19688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,456 INFO L290 TraceCheckUtils]: 54: Hoare triple {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,456 INFO L272 TraceCheckUtils]: 55: Hoare triple {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,456 INFO L290 TraceCheckUtils]: 56: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,456 INFO L290 TraceCheckUtils]: 57: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,456 INFO L290 TraceCheckUtils]: 58: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,457 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19527#true} {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,457 INFO L272 TraceCheckUtils]: 60: Hoare triple {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,457 INFO L290 TraceCheckUtils]: 61: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,457 INFO L290 TraceCheckUtils]: 62: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,457 INFO L290 TraceCheckUtils]: 63: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,458 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {19527#true} {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,458 INFO L272 TraceCheckUtils]: 65: Hoare triple {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,458 INFO L290 TraceCheckUtils]: 66: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,458 INFO L290 TraceCheckUtils]: 67: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,458 INFO L290 TraceCheckUtils]: 68: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,459 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {19527#true} {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,459 INFO L272 TraceCheckUtils]: 70: Hoare triple {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,459 INFO L290 TraceCheckUtils]: 71: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,459 INFO L290 TraceCheckUtils]: 72: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,459 INFO L290 TraceCheckUtils]: 73: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,460 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {19527#true} {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,461 INFO L290 TraceCheckUtils]: 75: Hoare triple {19695#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {19762#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,462 INFO L290 TraceCheckUtils]: 76: Hoare triple {19762#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {19762#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,462 INFO L272 TraceCheckUtils]: 77: Hoare triple {19762#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,462 INFO L290 TraceCheckUtils]: 78: Hoare triple {19527#true} ~cond := #in~cond; {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:38,462 INFO L290 TraceCheckUtils]: 79: Hoare triple {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,463 INFO L290 TraceCheckUtils]: 80: Hoare triple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,465 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} {19762#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,465 INFO L272 TraceCheckUtils]: 82: Hoare triple {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,465 INFO L290 TraceCheckUtils]: 83: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,465 INFO L290 TraceCheckUtils]: 84: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,465 INFO L290 TraceCheckUtils]: 85: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,466 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19527#true} {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,466 INFO L272 TraceCheckUtils]: 87: Hoare triple {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,466 INFO L290 TraceCheckUtils]: 88: Hoare triple {19527#true} ~cond := #in~cond; {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:38,466 INFO L290 TraceCheckUtils]: 89: Hoare triple {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,467 INFO L290 TraceCheckUtils]: 90: Hoare triple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,467 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,467 INFO L272 TraceCheckUtils]: 92: Hoare triple {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,468 INFO L290 TraceCheckUtils]: 93: Hoare triple {19527#true} ~cond := #in~cond; {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:38,468 INFO L290 TraceCheckUtils]: 94: Hoare triple {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,468 INFO L290 TraceCheckUtils]: 95: Hoare triple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,469 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,469 INFO L290 TraceCheckUtils]: 97: Hoare triple {19783#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {19832#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 12:04:38,472 INFO L290 TraceCheckUtils]: 98: Hoare triple {19832#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= main_~r~0 1) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~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; {19836#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (not (<= main_~a~0 (+ main_~y~0 (* main_~a~0 main_~q~0)))) (= main_~b~0 (+ main_~y~0 (* main_~a~0 main_~q~0))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,472 INFO L290 TraceCheckUtils]: 99: Hoare triple {19836#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (not (<= main_~a~0 (+ main_~y~0 (* main_~a~0 main_~q~0)))) (= main_~b~0 (+ main_~y~0 (* main_~a~0 main_~q~0))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {19836#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (not (<= main_~a~0 (+ main_~y~0 (* main_~a~0 main_~q~0)))) (= main_~b~0 (+ main_~y~0 (* main_~a~0 main_~q~0))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,473 INFO L290 TraceCheckUtils]: 100: Hoare triple {19836#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (not (<= main_~a~0 (+ main_~y~0 (* main_~a~0 main_~q~0)))) (= main_~b~0 (+ main_~y~0 (* main_~a~0 main_~q~0))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,474 INFO L290 TraceCheckUtils]: 101: Hoare triple {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,474 INFO L272 TraceCheckUtils]: 102: Hoare triple {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~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)); {19527#true} is VALID [2022-04-27 12:04:38,474 INFO L290 TraceCheckUtils]: 103: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,474 INFO L290 TraceCheckUtils]: 104: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,474 INFO L290 TraceCheckUtils]: 105: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,475 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {19527#true} {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #84#return; {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,475 INFO L272 TraceCheckUtils]: 107: Hoare triple {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~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)); {19527#true} is VALID [2022-04-27 12:04:38,475 INFO L290 TraceCheckUtils]: 108: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,475 INFO L290 TraceCheckUtils]: 109: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,475 INFO L290 TraceCheckUtils]: 110: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,476 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {19527#true} {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,476 INFO L272 TraceCheckUtils]: 112: Hoare triple {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~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)); {19527#true} is VALID [2022-04-27 12:04:38,476 INFO L290 TraceCheckUtils]: 113: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,476 INFO L290 TraceCheckUtils]: 114: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,476 INFO L290 TraceCheckUtils]: 115: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,477 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {19527#true} {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,477 INFO L272 TraceCheckUtils]: 117: Hoare triple {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,477 INFO L290 TraceCheckUtils]: 118: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,477 INFO L290 TraceCheckUtils]: 119: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,477 INFO L290 TraceCheckUtils]: 120: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,478 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {19527#true} {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,478 INFO L290 TraceCheckUtils]: 122: Hoare triple {19843#(and (= main_~r~0 0) (= (+ main_~y~0 (* main_~c~0 main_~q~0)) main_~b~0) (= main_~k~0 0) (< main_~x~0 main_~y~0) (not (<= main_~c~0 (+ main_~y~0 (* main_~c~0 main_~q~0)))) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,479 INFO L290 TraceCheckUtils]: 123: Hoare triple {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !false; {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,479 INFO L272 TraceCheckUtils]: 124: Hoare triple {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,479 INFO L290 TraceCheckUtils]: 125: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,479 INFO L290 TraceCheckUtils]: 126: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,479 INFO L290 TraceCheckUtils]: 127: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,480 INFO L284 TraceCheckUtils]: 128: Hoare quadruple {19527#true} {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #84#return; {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,480 INFO L272 TraceCheckUtils]: 129: Hoare triple {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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)); {19527#true} is VALID [2022-04-27 12:04:38,480 INFO L290 TraceCheckUtils]: 130: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,480 INFO L290 TraceCheckUtils]: 131: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,480 INFO L290 TraceCheckUtils]: 132: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,481 INFO L284 TraceCheckUtils]: 133: Hoare quadruple {19527#true} {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #86#return; {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,481 INFO L272 TraceCheckUtils]: 134: Hoare triple {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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)); {19527#true} is VALID [2022-04-27 12:04:38,481 INFO L290 TraceCheckUtils]: 135: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,481 INFO L290 TraceCheckUtils]: 136: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,481 INFO L290 TraceCheckUtils]: 137: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,482 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {19527#true} {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #88#return; {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,482 INFO L272 TraceCheckUtils]: 139: Hoare triple {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,482 INFO L290 TraceCheckUtils]: 140: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,482 INFO L290 TraceCheckUtils]: 141: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,482 INFO L290 TraceCheckUtils]: 142: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,483 INFO L284 TraceCheckUtils]: 143: Hoare quadruple {19527#true} {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #90#return; {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,485 INFO L290 TraceCheckUtils]: 144: Hoare triple {19910#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (< main_~x~0 main_~y~0) (not (<= main_~x~0 (+ (* main_~q~0 main_~x~0) main_~y~0))) (= main_~k~0 1) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,485 INFO L290 TraceCheckUtils]: 145: Hoare triple {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !false; {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,486 INFO L272 TraceCheckUtils]: 146: Hoare triple {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,486 INFO L290 TraceCheckUtils]: 147: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,486 INFO L290 TraceCheckUtils]: 148: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,486 INFO L290 TraceCheckUtils]: 149: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,486 INFO L284 TraceCheckUtils]: 150: Hoare quadruple {19527#true} {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #84#return; {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,487 INFO L272 TraceCheckUtils]: 151: Hoare triple {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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)); {19527#true} is VALID [2022-04-27 12:04:38,487 INFO L290 TraceCheckUtils]: 152: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,487 INFO L290 TraceCheckUtils]: 153: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,487 INFO L290 TraceCheckUtils]: 154: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,487 INFO L284 TraceCheckUtils]: 155: Hoare quadruple {19527#true} {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #86#return; {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,488 INFO L272 TraceCheckUtils]: 156: Hoare triple {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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)); {19527#true} is VALID [2022-04-27 12:04:38,488 INFO L290 TraceCheckUtils]: 157: Hoare triple {19527#true} ~cond := #in~cond; {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:38,488 INFO L290 TraceCheckUtils]: 158: Hoare triple {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,488 INFO L290 TraceCheckUtils]: 159: Hoare triple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,489 INFO L284 TraceCheckUtils]: 160: Hoare quadruple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} {19977#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (<= main_~s~0 (+ (* main_~q~0 main_~r~0) 1)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #88#return; {20026#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,489 INFO L272 TraceCheckUtils]: 161: Hoare triple {20026#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,490 INFO L290 TraceCheckUtils]: 162: Hoare triple {19527#true} ~cond := #in~cond; {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:38,490 INFO L290 TraceCheckUtils]: 163: Hoare triple {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,490 INFO L290 TraceCheckUtils]: 164: Hoare triple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,491 INFO L284 TraceCheckUtils]: 165: Hoare quadruple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} {20026#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #90#return; {20026#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,493 INFO L290 TraceCheckUtils]: 166: Hoare triple {20026#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~x~0) (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {20045#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (= main_~x~0 (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~c~0)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:04:38,497 INFO L290 TraceCheckUtils]: 167: Hoare triple {20045#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~r~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= (+ main_~q~0 1) 0) (= main_~x~0 (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~c~0)) (= main_~k~0 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~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; {20049#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} is VALID [2022-04-27 12:04:38,498 INFO L290 TraceCheckUtils]: 168: Hoare triple {20049#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} assume !false; {20049#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} is VALID [2022-04-27 12:04:38,499 INFO L290 TraceCheckUtils]: 169: Hoare triple {20049#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} is VALID [2022-04-27 12:04:38,499 INFO L290 TraceCheckUtils]: 170: Hoare triple {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} assume !false; {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} is VALID [2022-04-27 12:04:38,499 INFO L272 TraceCheckUtils]: 171: Hoare triple {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,499 INFO L290 TraceCheckUtils]: 172: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,499 INFO L290 TraceCheckUtils]: 173: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,499 INFO L290 TraceCheckUtils]: 174: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,500 INFO L284 TraceCheckUtils]: 175: Hoare quadruple {19527#true} {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} #84#return; {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} is VALID [2022-04-27 12:04:38,500 INFO L272 TraceCheckUtils]: 176: Hoare triple {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,500 INFO L290 TraceCheckUtils]: 177: Hoare triple {19527#true} ~cond := #in~cond; {19527#true} is VALID [2022-04-27 12:04:38,500 INFO L290 TraceCheckUtils]: 178: Hoare triple {19527#true} assume !(0 == ~cond); {19527#true} is VALID [2022-04-27 12:04:38,500 INFO L290 TraceCheckUtils]: 179: Hoare triple {19527#true} assume true; {19527#true} is VALID [2022-04-27 12:04:38,501 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {19527#true} {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} #86#return; {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} is VALID [2022-04-27 12:04:38,501 INFO L272 TraceCheckUtils]: 181: Hoare triple {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19527#true} is VALID [2022-04-27 12:04:38,501 INFO L290 TraceCheckUtils]: 182: Hoare triple {19527#true} ~cond := #in~cond; {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:38,502 INFO L290 TraceCheckUtils]: 183: Hoare triple {19772#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,502 INFO L290 TraceCheckUtils]: 184: Hoare triple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:04:38,502 INFO L284 TraceCheckUtils]: 185: Hoare quadruple {19776#(not (= |__VERIFIER_assert_#in~cond| 0))} {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} #88#return; {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} is VALID [2022-04-27 12:04:39,906 INFO L272 TraceCheckUtils]: 186: Hoare triple {20056#(and (not (= main_~y~0 0)) (< main_~x~0 main_~y~0) (= (mod (+ main_~b~0 main_~x~0) 2) 0) (< (+ main_~b~0 main_~x~0) (* main_~y~0 (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= main_~s~0 (* (- 2) (div (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0))) (= (+ (- 2) main_~q~0) 1) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= (mod (div (+ (* main_~x~0 3) (* (- 1) main_~b~0)) 2) main_~y~0) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20108#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:04:39,906 INFO L290 TraceCheckUtils]: 187: Hoare triple {20108#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20112#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:04:39,907 INFO L290 TraceCheckUtils]: 188: Hoare triple {20112#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19528#false} is VALID [2022-04-27 12:04:39,907 INFO L290 TraceCheckUtils]: 189: Hoare triple {19528#false} assume !false; {19528#false} is VALID [2022-04-27 12:04:39,908 INFO L134 CoverageAnalysis]: Checked inductivity of 1617 backedges. 303 proven. 264 refuted. 0 times theorem prover too weak. 1050 trivial. 0 not checked. [2022-04-27 12:04:39,908 INFO L328 TraceCheckSpWp]: Computing backward predicates...