/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-scaling/egcd2-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:02:20,613 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:02:20,615 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:02:20,654 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:02:20,654 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:02:20,655 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:02:20,657 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:02:20,659 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:02:20,660 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:02:20,663 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:02:20,663 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:02:20,664 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:02:20,665 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:02:20,666 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:02:20,667 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:02:20,669 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:02:20,669 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:02:20,670 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:02:20,671 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:02:20,675 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:02:20,676 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:02:20,677 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:02:20,678 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:02:20,678 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:02:20,679 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:02:20,684 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:02:20,684 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:02:20,684 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:02:20,685 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:02:20,685 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:02:20,686 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:02:20,686 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:02:20,687 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:02:20,687 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:02:20,688 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:02:20,688 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:02:20,689 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:02:20,689 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:02:20,689 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:02:20,689 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:02:20,690 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:02:20,691 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:02:20,691 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 13:02:20,713 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:02:20,713 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:02:20,713 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:02:20,713 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:02:20,714 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:02:20,714 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:02:20,714 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:02:20,714 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:02:20,714 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:02:20,715 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:02:20,715 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:02:20,715 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:02:20,715 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:02:20,715 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:02:20,715 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:02:20,716 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:02:20,716 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:02:20,716 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:02:20,716 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:02:20,717 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:02:20,717 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:02:20,717 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:02:20,718 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:02:20,718 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:02:20,718 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:02:20,718 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 13:02:20,877 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:02:20,892 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:02:20,894 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:02:20,894 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:02:20,898 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:02:20,899 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-04-27 13:02:20,940 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/003cb4085/fc659a4d07e64fbe8c756b9f70219341/FLAGe83d23104 [2022-04-27 13:02:21,312 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:02:21,313 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-04-27 13:02:21,319 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/003cb4085/fc659a4d07e64fbe8c756b9f70219341/FLAGe83d23104 [2022-04-27 13:02:21,329 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/003cb4085/fc659a4d07e64fbe8c756b9f70219341 [2022-04-27 13:02:21,331 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:02:21,332 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:02:21,334 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:02:21,334 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:02:21,336 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:02:21,337 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,337 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@22e4947d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21, skipping insertion in model container [2022-04-27 13:02:21,337 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,342 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:02:21,353 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:02:21,507 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c[490,503] [2022-04-27 13:02:21,536 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:02:21,541 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:02:21,557 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c[490,503] [2022-04-27 13:02:21,576 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:02:21,587 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:02:21,588 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21 WrapperNode [2022-04-27 13:02:21,588 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:02:21,588 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:02:21,588 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:02:21,588 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:02:21,595 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,596 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,605 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,605 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,618 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,621 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,622 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,623 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:02:21,623 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:02:21,623 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:02:21,623 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:02:21,627 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (1/1) ... [2022-04-27 13:02:21,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:02:21,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:21,648 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 13:02:21,664 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 13:02:21,685 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:02:21,685 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:02:21,686 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:02:21,686 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:02:21,688 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:02:21,688 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:02:21,688 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:02:21,689 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:02:21,689 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:02:21,689 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:02:21,737 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:02:21,738 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:02:21,921 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:02:21,925 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:02:21,926 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:02:21,927 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:02:21 BoogieIcfgContainer [2022-04-27 13:02:21,927 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:02:21,928 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:02:21,928 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:02:21,930 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:02:21,930 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:02:21" (1/3) ... [2022-04-27 13:02:21,930 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@66fbce96 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:02:21, skipping insertion in model container [2022-04-27 13:02:21,930 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:21" (2/3) ... [2022-04-27 13:02:21,931 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@66fbce96 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:02:21, skipping insertion in model container [2022-04-27 13:02:21,931 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:02:21" (3/3) ... [2022-04-27 13:02:21,931 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound2.c [2022-04-27 13:02:21,944 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:02:21,945 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:02:21,988 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:02:21,994 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@52778d34, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@17d181d1 [2022-04-27 13:02:21,995 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:02:22,001 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:02:22,006 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 13:02:22,007 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:22,008 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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 13:02:22,009 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:22,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:22,013 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-27 13:02:22,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:22,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2074304161] [2022-04-27 13:02:22,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:22,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:22,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:02:22,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,189 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:02:22,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:02:22,189 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-27 13:02:22,190 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:02:22,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,202 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,203 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-27 13:02:22,203 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:02:22,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-27 13:02:22,209 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:02:22,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-27 13:02:22,216 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 13:02:22,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,221 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,221 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-27 13:02:22,222 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 13:02:22,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,227 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-27 13:02:22,227 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-27 13:02:22,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-27 13:02:22,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:02:22,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:02:22,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:02:22,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-27 13:02:22,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-27 13:02:22,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;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; {43#true} is VALID [2022-04-27 13:02:22,241 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:22,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-27 13:02:22,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-27 13:02:22,243 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:22,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,244 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,244 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-27 13:02:22,244 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:22,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,245 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,245 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-27 13:02:22,246 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:22,246 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,248 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,249 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-27 13:02:22,249 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-27 13:02:22,251 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:22,251 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,252 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-27 13:02:22,252 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:22,253 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:22,254 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:22,255 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:22,255 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-27 13:02:22,255 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-27 13:02:22,256 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-27 13:02:22,256 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-27 13:02:22,256 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-27 13:02:22,256 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-27 13:02:22,256 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:02:22,257 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:22,257 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2074304161] [2022-04-27 13:02:22,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2074304161] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:02:22,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:02:22,258 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:02:22,258 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2025370399] [2022-04-27 13:02:22,259 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:02:22,262 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 13:02:22,263 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:22,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:22,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:22,313 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:02:22,313 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:22,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:02:22,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:02:22,332 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:22,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:22,474 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-27 13:02:22,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:02:22,474 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 13:02:22,474 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:22,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:22,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-27 13:02:22,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:22,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-27 13:02:22,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-27 13:02:22,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:22,663 INFO L225 Difference]: With dead ends: 73 [2022-04-27 13:02:22,664 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 13:02:22,665 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 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 13:02:22,667 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:22,668 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:02:22,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 13:02:22,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-27 13:02:22,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:22,706 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:22,707 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:22,708 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:22,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:22,718 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-27 13:02:22,718 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:02:22,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:22,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:22,719 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-27 13:02:22,720 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-27 13:02:22,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:22,723 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-27 13:02:22,724 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:02:22,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:22,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:22,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:22,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:22,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:22,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-27 13:02:22,728 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-27 13:02:22,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:22,728 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-27 13:02:22,728 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:22,729 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:02:22,729 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 13:02:22,729 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:22,730 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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 13:02:22,730 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:02:22,730 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:22,735 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:22,735 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-27 13:02:22,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:22,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [901293714] [2022-04-27 13:02:22,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:22,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:22,761 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:22,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1446454196] [2022-04-27 13:02:22,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:22,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:22,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:22,769 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 13:02:22,775 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 13:02:22,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,820 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:02:22,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:22,848 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:23,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2022-04-27 13:02:23,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {308#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); {308#true} is VALID [2022-04-27 13:02:23,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #103#return; {308#true} is VALID [2022-04-27 13:02:23,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret6 := main(); {308#true} is VALID [2022-04-27 13:02:23,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {308#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; {308#true} is VALID [2022-04-27 13:02:23,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {308#true} {308#true} #79#return; {308#true} is VALID [2022-04-27 13:02:23,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {308#true} is VALID [2022-04-27 13:02:23,024 INFO L272 TraceCheckUtils]: 12: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,024 INFO L290 TraceCheckUtils]: 15: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,025 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {308#true} {308#true} #81#return; {308#true} is VALID [2022-04-27 13:02:23,025 INFO L272 TraceCheckUtils]: 17: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,025 INFO L290 TraceCheckUtils]: 18: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,025 INFO L290 TraceCheckUtils]: 19: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,025 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,025 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {308#true} {308#true} #83#return; {308#true} is VALID [2022-04-27 13:02:23,025 INFO L272 TraceCheckUtils]: 22: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,026 INFO L290 TraceCheckUtils]: 23: Hoare triple {308#true} ~cond := #in~cond; {382#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:23,026 INFO L290 TraceCheckUtils]: 24: Hoare triple {382#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:23,027 INFO L290 TraceCheckUtils]: 25: Hoare triple {386#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:23,027 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {386#(not (= |assume_abort_if_not_#in~cond| 0))} {308#true} #85#return; {393#(<= 1 main_~y~0)} is VALID [2022-04-27 13:02:23,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {393#(<= 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; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,028 INFO L272 TraceCheckUtils]: 28: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,028 INFO L290 TraceCheckUtils]: 29: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,028 INFO L290 TraceCheckUtils]: 30: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,029 INFO L290 TraceCheckUtils]: 31: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,031 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #87#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,031 INFO L272 TraceCheckUtils]: 33: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,031 INFO L290 TraceCheckUtils]: 34: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,031 INFO L290 TraceCheckUtils]: 35: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,031 INFO L290 TraceCheckUtils]: 36: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,032 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #89#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,034 INFO L290 TraceCheckUtils]: 38: Hoare triple {397#(<= 1 main_~b~0)} assume !false; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,036 INFO L290 TraceCheckUtils]: 39: Hoare triple {397#(<= 1 main_~b~0)} assume !(0 != ~b~0); {309#false} is VALID [2022-04-27 13:02:23,036 INFO L272 TraceCheckUtils]: 40: Hoare triple {309#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {309#false} is VALID [2022-04-27 13:02:23,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {309#false} ~cond := #in~cond; {309#false} is VALID [2022-04-27 13:02:23,036 INFO L290 TraceCheckUtils]: 42: Hoare triple {309#false} assume 0 == ~cond; {309#false} is VALID [2022-04-27 13:02:23,036 INFO L290 TraceCheckUtils]: 43: Hoare triple {309#false} assume !false; {309#false} is VALID [2022-04-27 13:02:23,037 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:23,037 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:23,269 INFO L290 TraceCheckUtils]: 43: Hoare triple {309#false} assume !false; {309#false} is VALID [2022-04-27 13:02:23,270 INFO L290 TraceCheckUtils]: 42: Hoare triple {309#false} assume 0 == ~cond; {309#false} is VALID [2022-04-27 13:02:23,270 INFO L290 TraceCheckUtils]: 41: Hoare triple {309#false} ~cond := #in~cond; {309#false} is VALID [2022-04-27 13:02:23,271 INFO L272 TraceCheckUtils]: 40: Hoare triple {309#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {309#false} is VALID [2022-04-27 13:02:23,271 INFO L290 TraceCheckUtils]: 39: Hoare triple {397#(<= 1 main_~b~0)} assume !(0 != ~b~0); {309#false} is VALID [2022-04-27 13:02:23,278 INFO L290 TraceCheckUtils]: 38: Hoare triple {397#(<= 1 main_~b~0)} assume !false; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,281 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #89#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,281 INFO L290 TraceCheckUtils]: 35: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,281 INFO L290 TraceCheckUtils]: 34: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,281 INFO L272 TraceCheckUtils]: 33: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,282 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #87#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,282 INFO L290 TraceCheckUtils]: 31: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,282 INFO L290 TraceCheckUtils]: 30: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,282 INFO L290 TraceCheckUtils]: 29: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,282 INFO L272 TraceCheckUtils]: 28: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {393#(<= 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; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:23,283 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {386#(not (= |assume_abort_if_not_#in~cond| 0))} {308#true} #85#return; {393#(<= 1 main_~y~0)} is VALID [2022-04-27 13:02:23,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {386#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:23,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {506#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:23,285 INFO L290 TraceCheckUtils]: 23: Hoare triple {308#true} ~cond := #in~cond; {506#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:02:23,285 INFO L272 TraceCheckUtils]: 22: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,285 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {308#true} {308#true} #83#return; {308#true} is VALID [2022-04-27 13:02:23,285 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,285 INFO L290 TraceCheckUtils]: 19: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,285 INFO L290 TraceCheckUtils]: 18: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,285 INFO L272 TraceCheckUtils]: 17: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,285 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {308#true} {308#true} #81#return; {308#true} is VALID [2022-04-27 13:02:23,286 INFO L290 TraceCheckUtils]: 15: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,286 INFO L290 TraceCheckUtils]: 14: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,286 INFO L272 TraceCheckUtils]: 12: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {308#true} is VALID [2022-04-27 13:02:23,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {308#true} {308#true} #79#return; {308#true} is VALID [2022-04-27 13:02:23,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:23,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:23,287 INFO L272 TraceCheckUtils]: 6: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:23,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {308#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; {308#true} is VALID [2022-04-27 13:02:23,287 INFO L272 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret6 := main(); {308#true} is VALID [2022-04-27 13:02:23,287 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #103#return; {308#true} is VALID [2022-04-27 13:02:23,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:23,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {308#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); {308#true} is VALID [2022-04-27 13:02:23,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2022-04-27 13:02:23,288 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:23,288 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:23,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [901293714] [2022-04-27 13:02:23,289 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:23,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1446454196] [2022-04-27 13:02:23,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1446454196] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:02:23,289 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:02:23,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-27 13:02:23,290 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1565332366] [2022-04-27 13:02:23,290 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:02:23,290 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 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 13:02:23,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:23,291 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 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 13:02:23,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:23,314 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:02:23,314 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:23,314 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:02:23,314 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:02:23,315 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 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 13:02:23,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:23,558 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-27 13:02:23,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:02:23,558 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 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 13:02:23,558 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:23,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 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 13:02:23,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:02:23,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 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 13:02:23,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:02:23,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-27 13:02:23,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:23,609 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:02:23,609 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:02:23,610 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 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 13:02:23,610 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:23,611 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:02:23,611 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:02:23,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:02:23,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:23,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:23,624 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:23,624 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:23,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:23,626 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-27 13:02:23,626 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-27 13:02:23,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:23,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:23,627 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-27 13:02:23,628 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-27 13:02:23,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:23,630 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-27 13:02:23,630 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-27 13:02:23,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:23,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:23,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:23,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:23,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:23,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-27 13:02:23,633 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-27 13:02:23,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:23,633 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-27 13:02:23,633 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 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 13:02:23,633 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-27 13:02:23,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:02:23,634 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:23,634 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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 13:02:23,653 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 13:02:23,839 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 13:02:23,840 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:23,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:23,840 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-27 13:02:23,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:23,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1291685111] [2022-04-27 13:02:23,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:23,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:23,856 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:23,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [177895677] [2022-04-27 13:02:23,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:23,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:23,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:23,858 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 13:02:23,870 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 13:02:23,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:23,909 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:02:23,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:23,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:24,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {809#true} call ULTIMATE.init(); {809#true} is VALID [2022-04-27 13:02:24,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {809#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); {809#true} is VALID [2022-04-27 13:02:24,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {809#true} {809#true} #103#return; {809#true} is VALID [2022-04-27 13:02:24,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {809#true} call #t~ret6 := main(); {809#true} is VALID [2022-04-27 13:02:24,071 INFO L290 TraceCheckUtils]: 5: Hoare triple {809#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; {809#true} is VALID [2022-04-27 13:02:24,073 INFO L272 TraceCheckUtils]: 6: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,074 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,074 INFO L290 TraceCheckUtils]: 9: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,074 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {809#true} {809#true} #79#return; {809#true} is VALID [2022-04-27 13:02:24,074 INFO L290 TraceCheckUtils]: 11: Hoare triple {809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {809#true} is VALID [2022-04-27 13:02:24,074 INFO L272 TraceCheckUtils]: 12: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,074 INFO L290 TraceCheckUtils]: 15: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,075 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {809#true} {809#true} #81#return; {809#true} is VALID [2022-04-27 13:02:24,075 INFO L272 TraceCheckUtils]: 17: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,076 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {809#true} {809#true} #83#return; {809#true} is VALID [2022-04-27 13:02:24,076 INFO L272 TraceCheckUtils]: 22: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#true} ~cond := #in~cond; {883#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:24,077 INFO L290 TraceCheckUtils]: 24: Hoare triple {883#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {887#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:24,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {887#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {887#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:24,078 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {887#(not (= |assume_abort_if_not_#in~cond| 0))} {809#true} #85#return; {894#(<= 1 main_~y~0)} is VALID [2022-04-27 13:02:24,078 INFO L290 TraceCheckUtils]: 27: Hoare triple {894#(<= 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; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:24,078 INFO L272 TraceCheckUtils]: 28: Hoare triple {898#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,078 INFO L290 TraceCheckUtils]: 30: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,079 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {809#true} {898#(<= 1 main_~b~0)} #87#return; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:24,079 INFO L272 TraceCheckUtils]: 33: Hoare triple {898#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,079 INFO L290 TraceCheckUtils]: 34: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,079 INFO L290 TraceCheckUtils]: 35: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,080 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {809#true} {898#(<= 1 main_~b~0)} #89#return; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:24,080 INFO L290 TraceCheckUtils]: 38: Hoare triple {898#(<= 1 main_~b~0)} assume !false; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:24,080 INFO L290 TraceCheckUtils]: 39: Hoare triple {898#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 13:02:24,081 INFO L290 TraceCheckUtils]: 40: Hoare triple {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !false; {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 13:02:24,081 INFO L272 TraceCheckUtils]: 41: Hoare triple {935#(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)); {942#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:24,082 INFO L290 TraceCheckUtils]: 42: Hoare triple {942#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {946#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:24,082 INFO L290 TraceCheckUtils]: 43: Hoare triple {946#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {810#false} is VALID [2022-04-27 13:02:24,082 INFO L290 TraceCheckUtils]: 44: Hoare triple {810#false} assume !false; {810#false} is VALID [2022-04-27 13:02:24,083 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:24,083 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:24,269 INFO L290 TraceCheckUtils]: 44: Hoare triple {810#false} assume !false; {810#false} is VALID [2022-04-27 13:02:24,270 INFO L290 TraceCheckUtils]: 43: Hoare triple {946#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {810#false} is VALID [2022-04-27 13:02:24,270 INFO L290 TraceCheckUtils]: 42: Hoare triple {942#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {946#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:24,271 INFO L272 TraceCheckUtils]: 41: Hoare triple {962#(= 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)); {942#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:24,271 INFO L290 TraceCheckUtils]: 40: Hoare triple {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:02:24,272 INFO L290 TraceCheckUtils]: 39: Hoare triple {809#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:02:24,272 INFO L290 TraceCheckUtils]: 38: Hoare triple {809#true} assume !false; {809#true} is VALID [2022-04-27 13:02:24,272 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {809#true} {809#true} #89#return; {809#true} is VALID [2022-04-27 13:02:24,272 INFO L290 TraceCheckUtils]: 36: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,272 INFO L290 TraceCheckUtils]: 35: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,272 INFO L290 TraceCheckUtils]: 34: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,272 INFO L272 TraceCheckUtils]: 33: Hoare triple {809#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,272 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {809#true} {809#true} #87#return; {809#true} is VALID [2022-04-27 13:02:24,272 INFO L290 TraceCheckUtils]: 31: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,273 INFO L290 TraceCheckUtils]: 30: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,273 INFO L290 TraceCheckUtils]: 29: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,273 INFO L272 TraceCheckUtils]: 28: Hoare triple {809#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,273 INFO L290 TraceCheckUtils]: 27: Hoare triple {809#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; {809#true} is VALID [2022-04-27 13:02:24,273 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {809#true} {809#true} #85#return; {809#true} is VALID [2022-04-27 13:02:24,273 INFO L290 TraceCheckUtils]: 25: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,273 INFO L290 TraceCheckUtils]: 24: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,273 INFO L272 TraceCheckUtils]: 22: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,273 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {809#true} {809#true} #83#return; {809#true} is VALID [2022-04-27 13:02:24,274 INFO L290 TraceCheckUtils]: 20: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,274 INFO L272 TraceCheckUtils]: 17: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,274 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {809#true} {809#true} #81#return; {809#true} is VALID [2022-04-27 13:02:24,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,274 INFO L272 TraceCheckUtils]: 12: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {809#true} is VALID [2022-04-27 13:02:24,275 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {809#true} {809#true} #79#return; {809#true} is VALID [2022-04-27 13:02:24,275 INFO L290 TraceCheckUtils]: 9: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,275 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:24,275 INFO L290 TraceCheckUtils]: 7: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:24,275 INFO L272 TraceCheckUtils]: 6: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:24,275 INFO L290 TraceCheckUtils]: 5: Hoare triple {809#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; {809#true} is VALID [2022-04-27 13:02:24,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {809#true} call #t~ret6 := main(); {809#true} is VALID [2022-04-27 13:02:24,275 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {809#true} {809#true} #103#return; {809#true} is VALID [2022-04-27 13:02:24,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:24,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {809#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); {809#true} is VALID [2022-04-27 13:02:24,276 INFO L272 TraceCheckUtils]: 0: Hoare triple {809#true} call ULTIMATE.init(); {809#true} is VALID [2022-04-27 13:02:24,276 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:02:24,276 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:24,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1291685111] [2022-04-27 13:02:24,276 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:24,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [177895677] [2022-04-27 13:02:24,276 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [177895677] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:02:24,276 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:02:24,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:02:24,277 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1140901545] [2022-04-27 13:02:24,277 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:02:24,277 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-27 13:02:24,277 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:24,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:24,307 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 13:02:24,307 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:02:24,307 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:24,308 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:02:24,308 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:02:24,308 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:24,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:24,550 INFO L93 Difference]: Finished difference Result 43 states and 53 transitions. [2022-04-27 13:02:24,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:02:24,551 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-27 13:02:24,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:24,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:24,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 13:02:24,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:24,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 13:02:24,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-27 13:02:24,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:24,590 INFO L225 Difference]: With dead ends: 43 [2022-04-27 13:02:24,590 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 13:02:24,590 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:02:24,591 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 137 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 13:02:24,592 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 137 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:02:24,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 13:02:24,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2022-04-27 13:02:24,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:24,603 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:24,603 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:24,603 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:24,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:24,605 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-27 13:02:24,605 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:02:24,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:24,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:24,606 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 41 states. [2022-04-27 13:02:24,606 INFO L87 Difference]: Start difference. First operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 41 states. [2022-04-27 13:02:24,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:24,608 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-27 13:02:24,608 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:02:24,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:24,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:24,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:24,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:24,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:24,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2022-04-27 13:02:24,610 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 45 [2022-04-27 13:02:24,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:24,610 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2022-04-27 13:02:24,610 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:24,610 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:02:24,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-27 13:02:24,611 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:24,611 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:24,633 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 13:02:24,829 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 13:02:24,829 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:24,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:24,830 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-27 13:02:24,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:24,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1553657361] [2022-04-27 13:02:24,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:24,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:24,855 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:24,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1965140582] [2022-04-27 13:02:24,859 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:24,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:24,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:24,861 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 13:02:24,863 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 13:02:24,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:24,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 13:02:24,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:24,916 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:27,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {1300#true} call ULTIMATE.init(); {1300#true} is VALID [2022-04-27 13:02:27,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {1300#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); {1300#true} is VALID [2022-04-27 13:02:27,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:27,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1300#true} {1300#true} #103#return; {1300#true} is VALID [2022-04-27 13:02:27,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {1300#true} call #t~ret6 := main(); {1300#true} is VALID [2022-04-27 13:02:27,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {1300#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; {1300#true} is VALID [2022-04-27 13:02:27,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {1300#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L290 TraceCheckUtils]: 8: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1300#true} {1300#true} #79#return; {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {1300#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L272 TraceCheckUtils]: 12: Hoare triple {1300#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1300#true} {1300#true} #81#return; {1300#true} is VALID [2022-04-27 13:02:27,801 INFO L272 TraceCheckUtils]: 17: Hoare triple {1300#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:27,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {1300#true} ~cond := #in~cond; {1359#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:27,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {1359#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1363#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:27,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {1363#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1363#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:27,803 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1363#(not (= |assume_abort_if_not_#in~cond| 0))} {1300#true} #83#return; {1370#(<= 1 main_~x~0)} is VALID [2022-04-27 13:02:27,803 INFO L272 TraceCheckUtils]: 22: Hoare triple {1370#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:27,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:27,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:27,803 INFO L290 TraceCheckUtils]: 25: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:27,804 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1300#true} {1370#(<= 1 main_~x~0)} #85#return; {1370#(<= 1 main_~x~0)} is VALID [2022-04-27 13:02:27,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {1370#(<= 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; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:27,805 INFO L272 TraceCheckUtils]: 28: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 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)); {1300#true} is VALID [2022-04-27 13:02:27,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:27,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:27,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:27,806 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1300#true} {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:27,806 INFO L272 TraceCheckUtils]: 33: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 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)); {1300#true} is VALID [2022-04-27 13:02:27,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:27,806 INFO L290 TraceCheckUtils]: 35: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:27,806 INFO L290 TraceCheckUtils]: 36: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:27,807 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1300#true} {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:27,807 INFO L290 TraceCheckUtils]: 38: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:27,808 INFO L290 TraceCheckUtils]: 39: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:27,808 INFO L290 TraceCheckUtils]: 40: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:27,808 INFO L272 TraceCheckUtils]: 41: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 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)); {1300#true} is VALID [2022-04-27 13:02:27,808 INFO L290 TraceCheckUtils]: 42: Hoare triple {1300#true} ~cond := #in~cond; {1435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:27,809 INFO L290 TraceCheckUtils]: 43: Hoare triple {1435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:02:27,809 INFO L290 TraceCheckUtils]: 44: Hoare triple {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:02:27,810 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:27,810 INFO L272 TraceCheckUtils]: 46: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 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)); {1449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:27,811 INFO L290 TraceCheckUtils]: 47: Hoare triple {1449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:27,811 INFO L290 TraceCheckUtils]: 48: Hoare triple {1453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1301#false} is VALID [2022-04-27 13:02:27,811 INFO L290 TraceCheckUtils]: 49: Hoare triple {1301#false} assume !false; {1301#false} is VALID [2022-04-27 13:02:27,812 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 7 proven. 10 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:27,812 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:55,355 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:55,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1553657361] [2022-04-27 13:02:55,355 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:55,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1965140582] [2022-04-27 13:02:55,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1965140582] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:02:55,356 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:02:55,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-27 13:02:55,356 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1658736151] [2022-04-27 13:02:55,356 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:02:55,357 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-27 13:02:55,357 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:55,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:55,383 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:02:55,384 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:55,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:02:55,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:02:55,384 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:55,849 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-27 13:02:55,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:02:55,849 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-27 13:02:55,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:55,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-27 13:02:55,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-27 13:02:55,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-27 13:02:55,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:55,907 INFO L225 Difference]: With dead ends: 54 [2022-04-27 13:02:55,907 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 13:02:55,907 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:02:55,908 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 25 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 214 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 219 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 214 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:55,908 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 163 Invalid, 219 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 214 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:02:55,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 13:02:55,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-04-27 13:02:55,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:55,936 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,936 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,937 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:55,939 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:02:55,939 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 13:02:55,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:55,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:55,939 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 52 states. [2022-04-27 13:02:55,939 INFO L87 Difference]: Start difference. First operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 52 states. [2022-04-27 13:02:55,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:55,941 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:02:55,941 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 13:02:55,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:55,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:55,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:55,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:55,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 65 transitions. [2022-04-27 13:02:55,944 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 65 transitions. Word has length 50 [2022-04-27 13:02:55,944 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:55,944 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 65 transitions. [2022-04-27 13:02:55,944 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,944 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-27 13:02:55,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:02:55,945 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:55,945 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:55,964 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 13:02:56,159 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 13:02:56,159 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:56,160 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:56,160 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-27 13:02:56,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:56,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1741596043] [2022-04-27 13:02:56,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:56,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:56,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:56,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [81741167] [2022-04-27 13:02:56,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:56,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:56,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:56,179 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 13:02:56,180 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 13:02:56,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:56,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 13:02:56,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:56,240 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:56,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {1746#true} call ULTIMATE.init(); {1746#true} is VALID [2022-04-27 13:02:56,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {1746#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); {1746#true} is VALID [2022-04-27 13:02:56,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1746#true} {1746#true} #103#return; {1746#true} is VALID [2022-04-27 13:02:56,980 INFO L272 TraceCheckUtils]: 4: Hoare triple {1746#true} call #t~ret6 := main(); {1746#true} is VALID [2022-04-27 13:02:56,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {1746#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; {1746#true} is VALID [2022-04-27 13:02:56,980 INFO L272 TraceCheckUtils]: 6: Hoare triple {1746#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {1746#true} ~cond := #in~cond; {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:56,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} {1746#true} #79#return; {1783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {1783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,983 INFO L272 TraceCheckUtils]: 12: Hoare triple {1783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {1746#true} ~cond := #in~cond; {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:56,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,985 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} {1783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {1802#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,985 INFO L272 TraceCheckUtils]: 17: Hoare triple {1802#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,985 INFO L290 TraceCheckUtils]: 18: Hoare triple {1746#true} ~cond := #in~cond; {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:56,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,986 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} {1802#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {1818#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,986 INFO L272 TraceCheckUtils]: 22: Hoare triple {1818#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,986 INFO L290 TraceCheckUtils]: 23: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,986 INFO L290 TraceCheckUtils]: 24: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,986 INFO L290 TraceCheckUtils]: 25: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,987 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1746#true} {1818#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2))} #85#return; {1818#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {1818#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2))} ~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; {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,987 INFO L272 TraceCheckUtils]: 28: Hoare triple {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,988 INFO L290 TraceCheckUtils]: 29: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,988 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1746#true} {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} #87#return; {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,988 INFO L272 TraceCheckUtils]: 33: Hoare triple {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,988 INFO L290 TraceCheckUtils]: 34: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,989 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1746#true} {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} #89#return; {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} assume !false; {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,990 INFO L290 TraceCheckUtils]: 39: Hoare triple {1837#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,990 INFO L290 TraceCheckUtils]: 40: Hoare triple {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} assume !false; {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,990 INFO L272 TraceCheckUtils]: 41: Hoare triple {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,991 INFO L290 TraceCheckUtils]: 42: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,991 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1746#true} {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} #91#return; {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,991 INFO L272 TraceCheckUtils]: 46: Hoare triple {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,991 INFO L290 TraceCheckUtils]: 47: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,992 INFO L290 TraceCheckUtils]: 48: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,992 INFO L290 TraceCheckUtils]: 49: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,992 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1746#true} {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} #93#return; {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} is VALID [2022-04-27 13:02:56,993 INFO L272 TraceCheckUtils]: 51: Hoare triple {1874#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:56,993 INFO L290 TraceCheckUtils]: 52: Hoare triple {1911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:56,993 INFO L290 TraceCheckUtils]: 53: Hoare triple {1915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1747#false} is VALID [2022-04-27 13:02:56,993 INFO L290 TraceCheckUtils]: 54: Hoare triple {1747#false} assume !false; {1747#false} is VALID [2022-04-27 13:02:56,994 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 4 proven. 27 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-27 13:02:56,994 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:57,322 INFO L290 TraceCheckUtils]: 54: Hoare triple {1747#false} assume !false; {1747#false} is VALID [2022-04-27 13:02:57,323 INFO L290 TraceCheckUtils]: 53: Hoare triple {1915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1747#false} is VALID [2022-04-27 13:02:57,323 INFO L290 TraceCheckUtils]: 52: Hoare triple {1911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:57,324 INFO L272 TraceCheckUtils]: 51: Hoare triple {1931#(= 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)); {1911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:57,325 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1746#true} {1931#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #93#return; {1931#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:57,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,325 INFO L290 TraceCheckUtils]: 48: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,325 INFO L290 TraceCheckUtils]: 47: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,325 INFO L272 TraceCheckUtils]: 46: Hoare triple {1931#(= 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)); {1746#true} is VALID [2022-04-27 13:02:57,326 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1746#true} {1931#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #91#return; {1931#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:57,326 INFO L290 TraceCheckUtils]: 44: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,326 INFO L290 TraceCheckUtils]: 43: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,326 INFO L290 TraceCheckUtils]: 42: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,326 INFO L272 TraceCheckUtils]: 41: Hoare triple {1931#(= 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)); {1746#true} is VALID [2022-04-27 13:02:57,326 INFO L290 TraceCheckUtils]: 40: Hoare triple {1931#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1931#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:57,327 INFO L290 TraceCheckUtils]: 39: Hoare triple {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1931#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:57,327 INFO L290 TraceCheckUtils]: 38: Hoare triple {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} assume !false; {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} is VALID [2022-04-27 13:02:57,328 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1746#true} {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} #89#return; {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} is VALID [2022-04-27 13:02:57,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,328 INFO L290 TraceCheckUtils]: 35: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,328 INFO L290 TraceCheckUtils]: 34: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,328 INFO L272 TraceCheckUtils]: 33: Hoare triple {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:57,330 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1746#true} {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} #87#return; {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} is VALID [2022-04-27 13:02:57,330 INFO L290 TraceCheckUtils]: 31: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,330 INFO L290 TraceCheckUtils]: 30: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,330 INFO L290 TraceCheckUtils]: 29: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,330 INFO L272 TraceCheckUtils]: 28: Hoare triple {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {1746#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; {1968#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} is VALID [2022-04-27 13:02:57,332 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1746#true} {1746#true} #85#return; {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L290 TraceCheckUtils]: 24: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L290 TraceCheckUtils]: 23: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L272 TraceCheckUtils]: 22: Hoare triple {1746#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1746#true} {1746#true} #83#return; {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L290 TraceCheckUtils]: 20: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,332 INFO L290 TraceCheckUtils]: 19: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 18: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L272 TraceCheckUtils]: 17: Hoare triple {1746#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1746#true} {1746#true} #81#return; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L272 TraceCheckUtils]: 12: Hoare triple {1746#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {1746#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1746#true} {1746#true} #79#return; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 9: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 8: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L272 TraceCheckUtils]: 6: Hoare triple {1746#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:57,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {1746#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; {1746#true} is VALID [2022-04-27 13:02:57,334 INFO L272 TraceCheckUtils]: 4: Hoare triple {1746#true} call #t~ret6 := main(); {1746#true} is VALID [2022-04-27 13:02:57,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1746#true} {1746#true} #103#return; {1746#true} is VALID [2022-04-27 13:02:57,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:57,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {1746#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); {1746#true} is VALID [2022-04-27 13:02:57,334 INFO L272 TraceCheckUtils]: 0: Hoare triple {1746#true} call ULTIMATE.init(); {1746#true} is VALID [2022-04-27 13:02:57,334 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-27 13:02:57,334 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:57,334 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1741596043] [2022-04-27 13:02:57,334 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:57,334 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [81741167] [2022-04-27 13:02:57,334 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [81741167] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:02:57,334 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:02:57,335 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [11] total 13 [2022-04-27 13:02:57,335 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1217487508] [2022-04-27 13:02:57,335 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:02:57,335 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 55 [2022-04-27 13:02:57,335 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:57,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:02:57,360 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 13:02:57,360 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:02:57,360 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:57,360 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:02:57,360 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:02:57,361 INFO L87 Difference]: Start difference. First operand 51 states and 65 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:02:57,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:57,690 INFO L93 Difference]: Finished difference Result 58 states and 71 transitions. [2022-04-27 13:02:57,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:02:57,690 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 55 [2022-04-27 13:02:57,690 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:57,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:02:57,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:02:57,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:02:57,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:02:57,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-04-27 13:02:57,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:57,744 INFO L225 Difference]: With dead ends: 58 [2022-04-27 13:02:57,744 INFO L226 Difference]: Without dead ends: 56 [2022-04-27 13:02:57,744 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 97 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:02:57,745 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:57,745 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 172 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:02:57,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-27 13:02:57,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-27 13:02:57,776 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:57,776 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,776 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,776 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:57,778 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2022-04-27 13:02:57,778 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-27 13:02:57,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:57,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:57,779 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 56 states. [2022-04-27 13:02:57,779 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 56 states. [2022-04-27 13:02:57,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:57,781 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2022-04-27 13:02:57,781 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-27 13:02:57,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:57,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:57,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:57,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:57,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:02:57,783 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 55 [2022-04-27 13:02:57,783 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:57,784 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:02:57,784 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:02:57,785 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:02:57,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-27 13:02:57,786 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:57,786 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:57,807 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 13:02:57,992 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 13:02:57,992 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:57,993 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:57,993 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-27 13:02:57,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:57,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [916931185] [2022-04-27 13:02:57,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:57,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:58,013 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:58,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1123102086] [2022-04-27 13:02:58,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:58,013 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:58,013 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:58,017 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 13:02:58,018 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 13:02:58,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:58,056 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 13:02:58,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:58,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:03,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2022-04-27 13:03:03,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {2373#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); {2373#true} is VALID [2022-04-27 13:03:03,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #103#return; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret6 := main(); {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 5: Hoare triple {2373#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; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L272 TraceCheckUtils]: 6: Hoare triple {2373#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2373#true} {2373#true} #79#return; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {2373#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L272 TraceCheckUtils]: 12: Hoare triple {2373#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-27 13:03:03,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2373#true} {2373#true} #81#return; {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L272 TraceCheckUtils]: 17: Hoare triple {2373#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2373#true} {2373#true} #83#return; {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L272 TraceCheckUtils]: 22: Hoare triple {2373#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L290 TraceCheckUtils]: 23: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L290 TraceCheckUtils]: 24: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,950 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2373#true} {2373#true} #85#return; {2373#true} is VALID [2022-04-27 13:03:03,951 INFO L290 TraceCheckUtils]: 27: Hoare triple {2373#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; {2459#(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 13:03:03,951 INFO L272 TraceCheckUtils]: 28: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-27 13:03:03,951 INFO L290 TraceCheckUtils]: 29: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-27 13:03:03,951 INFO L290 TraceCheckUtils]: 30: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-27 13:03:03,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,952 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #87#return; {2459#(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 13:03:03,952 INFO L272 TraceCheckUtils]: 33: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-27 13:03:03,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-27 13:03:03,952 INFO L290 TraceCheckUtils]: 35: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-27 13:03:03,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,952 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #89#return; {2459#(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 13:03:03,953 INFO L290 TraceCheckUtils]: 38: Hoare triple {2459#(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; {2459#(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 13:03:03,953 INFO L290 TraceCheckUtils]: 39: Hoare triple {2459#(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; {2459#(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 13:03:03,953 INFO L290 TraceCheckUtils]: 40: Hoare triple {2459#(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; {2459#(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 13:03:03,954 INFO L272 TraceCheckUtils]: 41: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-27 13:03:03,954 INFO L290 TraceCheckUtils]: 42: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-27 13:03:03,954 INFO L290 TraceCheckUtils]: 43: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-27 13:03:03,954 INFO L290 TraceCheckUtils]: 44: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-27 13:03:03,954 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #91#return; {2459#(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 13:03:03,954 INFO L272 TraceCheckUtils]: 46: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-27 13:03:03,955 INFO L290 TraceCheckUtils]: 47: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:03,955 INFO L290 TraceCheckUtils]: 48: Hoare triple {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:03,955 INFO L290 TraceCheckUtils]: 49: Hoare triple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:03,956 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #93#return; {2459#(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 13:03:03,956 INFO L272 TraceCheckUtils]: 51: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-27 13:03:03,957 INFO L290 TraceCheckUtils]: 52: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:03,957 INFO L290 TraceCheckUtils]: 53: Hoare triple {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:03,957 INFO L290 TraceCheckUtils]: 54: Hoare triple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:03,958 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #95#return; {2459#(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 13:03:03,959 INFO L272 TraceCheckUtils]: 56: Hoare triple {2459#(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)); {2549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:03,959 INFO L290 TraceCheckUtils]: 57: Hoare triple {2549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:03,960 INFO L290 TraceCheckUtils]: 58: Hoare triple {2553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2374#false} is VALID [2022-04-27 13:03:03,960 INFO L290 TraceCheckUtils]: 59: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2022-04-27 13:03:03,960 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-27 13:03:03,960 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:43,607 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:43,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [916931185] [2022-04-27 13:03:43,607 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:43,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1123102086] [2022-04-27 13:03:43,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1123102086] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:03:43,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:03:43,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-27 13:03:43,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1475412830] [2022-04-27 13:03:43,607 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:43,608 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-27 13:03:43,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:43,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:43,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:43,640 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:03:43,640 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:43,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:03:43,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:03:43,640 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:43,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:43,988 INFO L93 Difference]: Finished difference Result 62 states and 74 transitions. [2022-04-27 13:03:43,988 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:03:43,988 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-27 13:03:43,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:43,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:43,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-27 13:03:43,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:43,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-27 13:03:43,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-27 13:03:44,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:44,043 INFO L225 Difference]: With dead ends: 62 [2022-04-27 13:03:44,043 INFO L226 Difference]: Without dead ends: 60 [2022-04-27 13:03:44,044 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 56 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 13:03:44,044 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 11 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 128 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 128 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:44,044 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 164 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 128 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:03:44,045 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-27 13:03:44,098 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-27 13:03:44,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:44,099 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:44,099 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:44,099 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:44,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:44,103 INFO L93 Difference]: Finished difference Result 60 states and 72 transitions. [2022-04-27 13:03:44,103 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-27 13:03:44,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:44,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:44,103 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 60 states. [2022-04-27 13:03:44,103 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 60 states. [2022-04-27 13:03:44,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:44,105 INFO L93 Difference]: Finished difference Result 60 states and 72 transitions. [2022-04-27 13:03:44,105 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-27 13:03:44,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:44,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:44,106 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:44,106 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:44,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:44,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-27 13:03:44,107 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 60 [2022-04-27 13:03:44,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:44,107 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-27 13:03:44,107 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:44,108 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-27 13:03:44,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-27 13:03:44,108 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:44,108 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 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, 1, 1, 1, 1, 1] [2022-04-27 13:03:44,135 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 13:03:44,319 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 13:03:44,319 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:44,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:44,320 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-27 13:03:44,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:44,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1163295752] [2022-04-27 13:03:44,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:44,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:44,331 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:44,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1179043504] [2022-04-27 13:03:44,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:44,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:44,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:44,332 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 13:03:44,335 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 13:03:44,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:44,373 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:03:44,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:44,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:44,560 INFO L272 TraceCheckUtils]: 0: Hoare triple {2881#true} call ULTIMATE.init(); {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {2881#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); {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2881#true} {2881#true} #103#return; {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {2881#true} call #t~ret6 := main(); {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {2881#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; {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L272 TraceCheckUtils]: 6: Hoare triple {2881#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L290 TraceCheckUtils]: 9: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2881#true} {2881#true} #79#return; {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {2881#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2881#true} is VALID [2022-04-27 13:03:44,560 INFO L272 TraceCheckUtils]: 12: Hoare triple {2881#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,561 INFO L290 TraceCheckUtils]: 14: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,561 INFO L290 TraceCheckUtils]: 15: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,561 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2881#true} {2881#true} #81#return; {2881#true} is VALID [2022-04-27 13:03:44,561 INFO L272 TraceCheckUtils]: 17: Hoare triple {2881#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,561 INFO L290 TraceCheckUtils]: 18: Hoare triple {2881#true} ~cond := #in~cond; {2940#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:44,561 INFO L290 TraceCheckUtils]: 19: Hoare triple {2940#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2944#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:44,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {2944#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2944#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:44,563 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2944#(not (= |assume_abort_if_not_#in~cond| 0))} {2881#true} #83#return; {2951#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:44,563 INFO L272 TraceCheckUtils]: 22: Hoare triple {2951#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,563 INFO L290 TraceCheckUtils]: 23: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,563 INFO L290 TraceCheckUtils]: 24: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,563 INFO L290 TraceCheckUtils]: 25: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,564 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2881#true} {2951#(<= 1 main_~x~0)} #85#return; {2951#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:44,564 INFO L290 TraceCheckUtils]: 27: Hoare triple {2951#(<= 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; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,564 INFO L272 TraceCheckUtils]: 28: Hoare triple {2970#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,564 INFO L290 TraceCheckUtils]: 29: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,564 INFO L290 TraceCheckUtils]: 30: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,565 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2881#true} {2970#(<= 1 main_~a~0)} #87#return; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,565 INFO L272 TraceCheckUtils]: 33: Hoare triple {2970#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,570 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2881#true} {2970#(<= 1 main_~a~0)} #89#return; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,571 INFO L290 TraceCheckUtils]: 38: Hoare triple {2970#(<= 1 main_~a~0)} assume !false; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {2970#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {3007#(<= 1 main_~c~0)} assume !false; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,571 INFO L272 TraceCheckUtils]: 41: Hoare triple {3007#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,571 INFO L290 TraceCheckUtils]: 42: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,572 INFO L290 TraceCheckUtils]: 43: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,572 INFO L290 TraceCheckUtils]: 44: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,572 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #91#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,572 INFO L272 TraceCheckUtils]: 46: Hoare triple {3007#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,572 INFO L290 TraceCheckUtils]: 47: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,572 INFO L290 TraceCheckUtils]: 48: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,572 INFO L290 TraceCheckUtils]: 49: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,573 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #93#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,573 INFO L272 TraceCheckUtils]: 51: Hoare triple {3007#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,573 INFO L290 TraceCheckUtils]: 52: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,573 INFO L290 TraceCheckUtils]: 53: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,573 INFO L290 TraceCheckUtils]: 54: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,574 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #95#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,574 INFO L272 TraceCheckUtils]: 56: Hoare triple {3007#(<= 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)); {2881#true} is VALID [2022-04-27 13:03:44,574 INFO L290 TraceCheckUtils]: 57: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,574 INFO L290 TraceCheckUtils]: 58: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,574 INFO L290 TraceCheckUtils]: 59: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,574 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #97#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,575 INFO L290 TraceCheckUtils]: 61: Hoare triple {3007#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,575 INFO L290 TraceCheckUtils]: 62: Hoare triple {3007#(<= 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; {3077#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:44,575 INFO L290 TraceCheckUtils]: 63: Hoare triple {3077#(<= 1 main_~b~0)} assume !false; {3077#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:44,576 INFO L290 TraceCheckUtils]: 64: Hoare triple {3077#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2882#false} is VALID [2022-04-27 13:03:44,576 INFO L272 TraceCheckUtils]: 65: Hoare triple {2882#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2882#false} is VALID [2022-04-27 13:03:44,576 INFO L290 TraceCheckUtils]: 66: Hoare triple {2882#false} ~cond := #in~cond; {2882#false} is VALID [2022-04-27 13:03:44,576 INFO L290 TraceCheckUtils]: 67: Hoare triple {2882#false} assume 0 == ~cond; {2882#false} is VALID [2022-04-27 13:03:44,576 INFO L290 TraceCheckUtils]: 68: Hoare triple {2882#false} assume !false; {2882#false} is VALID [2022-04-27 13:03:44,576 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-27 13:03:44,576 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:44,839 INFO L290 TraceCheckUtils]: 68: Hoare triple {2882#false} assume !false; {2882#false} is VALID [2022-04-27 13:03:44,840 INFO L290 TraceCheckUtils]: 67: Hoare triple {2882#false} assume 0 == ~cond; {2882#false} is VALID [2022-04-27 13:03:44,840 INFO L290 TraceCheckUtils]: 66: Hoare triple {2882#false} ~cond := #in~cond; {2882#false} is VALID [2022-04-27 13:03:44,840 INFO L272 TraceCheckUtils]: 65: Hoare triple {2882#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2882#false} is VALID [2022-04-27 13:03:44,840 INFO L290 TraceCheckUtils]: 64: Hoare triple {3077#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2882#false} is VALID [2022-04-27 13:03:44,840 INFO L290 TraceCheckUtils]: 63: Hoare triple {3077#(<= 1 main_~b~0)} assume !false; {3077#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:44,841 INFO L290 TraceCheckUtils]: 62: Hoare triple {3007#(<= 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; {3077#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:44,841 INFO L290 TraceCheckUtils]: 61: Hoare triple {3007#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,842 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #97#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,842 INFO L290 TraceCheckUtils]: 59: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,842 INFO L290 TraceCheckUtils]: 58: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,842 INFO L290 TraceCheckUtils]: 57: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,842 INFO L272 TraceCheckUtils]: 56: Hoare triple {3007#(<= 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)); {2881#true} is VALID [2022-04-27 13:03:44,843 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #95#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,843 INFO L290 TraceCheckUtils]: 54: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,843 INFO L290 TraceCheckUtils]: 53: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,843 INFO L290 TraceCheckUtils]: 52: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,843 INFO L272 TraceCheckUtils]: 51: Hoare triple {3007#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,844 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #93#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,844 INFO L290 TraceCheckUtils]: 49: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,844 INFO L290 TraceCheckUtils]: 48: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,844 INFO L290 TraceCheckUtils]: 47: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,844 INFO L272 TraceCheckUtils]: 46: Hoare triple {3007#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,844 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2881#true} {3007#(<= 1 main_~c~0)} #91#return; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,844 INFO L290 TraceCheckUtils]: 44: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,844 INFO L290 TraceCheckUtils]: 43: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,845 INFO L272 TraceCheckUtils]: 41: Hoare triple {3007#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,845 INFO L290 TraceCheckUtils]: 40: Hoare triple {3007#(<= 1 main_~c~0)} assume !false; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {2970#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3007#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:44,846 INFO L290 TraceCheckUtils]: 38: Hoare triple {2970#(<= 1 main_~a~0)} assume !false; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,846 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2881#true} {2970#(<= 1 main_~a~0)} #89#return; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,846 INFO L290 TraceCheckUtils]: 36: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,846 INFO L290 TraceCheckUtils]: 34: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,854 INFO L272 TraceCheckUtils]: 33: Hoare triple {2970#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,859 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2881#true} {2970#(<= 1 main_~a~0)} #87#return; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,859 INFO L290 TraceCheckUtils]: 31: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,859 INFO L290 TraceCheckUtils]: 30: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,859 INFO L290 TraceCheckUtils]: 29: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,859 INFO L272 TraceCheckUtils]: 28: Hoare triple {2970#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,860 INFO L290 TraceCheckUtils]: 27: Hoare triple {2951#(<= 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; {2970#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:44,860 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2881#true} {2951#(<= 1 main_~x~0)} #85#return; {2951#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:44,860 INFO L290 TraceCheckUtils]: 25: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,860 INFO L290 TraceCheckUtils]: 24: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,861 INFO L290 TraceCheckUtils]: 23: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,861 INFO L272 TraceCheckUtils]: 22: Hoare triple {2951#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,861 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2944#(not (= |assume_abort_if_not_#in~cond| 0))} {2881#true} #83#return; {2951#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:44,861 INFO L290 TraceCheckUtils]: 20: Hoare triple {2944#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2944#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:44,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {3246#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2944#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 18: Hoare triple {2881#true} ~cond := #in~cond; {3246#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:03:44,862 INFO L272 TraceCheckUtils]: 17: Hoare triple {2881#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2881#true} {2881#true} #81#return; {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L272 TraceCheckUtils]: 12: Hoare triple {2881#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {2881#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2881#true} {2881#true} #79#return; {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 9: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 8: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L290 TraceCheckUtils]: 7: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-04-27 13:03:44,862 INFO L272 TraceCheckUtils]: 6: Hoare triple {2881#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2881#true} is VALID [2022-04-27 13:03:44,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {2881#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; {2881#true} is VALID [2022-04-27 13:03:44,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {2881#true} call #t~ret6 := main(); {2881#true} is VALID [2022-04-27 13:03:44,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2881#true} {2881#true} #103#return; {2881#true} is VALID [2022-04-27 13:03:44,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-04-27 13:03:44,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {2881#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); {2881#true} is VALID [2022-04-27 13:03:44,863 INFO L272 TraceCheckUtils]: 0: Hoare triple {2881#true} call ULTIMATE.init(); {2881#true} is VALID [2022-04-27 13:03:44,863 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-27 13:03:44,863 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:44,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1163295752] [2022-04-27 13:03:44,863 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:44,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1179043504] [2022-04-27 13:03:44,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1179043504] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:03:44,863 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:03:44,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 13:03:44,864 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075892162] [2022-04-27 13:03:44,864 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:44,864 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-27 13:03:44,864 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:44,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:44,892 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 13:03:44,893 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:03:44,893 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:44,893 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:03:44,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:03:44,893 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:45,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:45,578 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-27 13:03:45,578 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:03:45,578 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-27 13:03:45,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:45,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:45,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-27 13:03:45,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:45,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-27 13:03:45,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-27 13:03:45,656 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:45,658 INFO L225 Difference]: With dead ends: 106 [2022-04-27 13:03:45,658 INFO L226 Difference]: Without dead ends: 98 [2022-04-27 13:03:45,658 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 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 13:03:45,659 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 239 mSDsCounter, 0 mSdLazyCounter, 206 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 299 SdHoareTripleChecker+Invalid, 259 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 206 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:45,659 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 299 Invalid, 259 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 206 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:03:45,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-27 13:03:45,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-27 13:03:45,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:45,730 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:45,731 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:45,731 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:45,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:45,734 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-27 13:03:45,734 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-27 13:03:45,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:45,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:45,734 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-27 13:03:45,735 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-27 13:03:45,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:45,737 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-27 13:03:45,738 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-27 13:03:45,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:45,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:45,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:45,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:45,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:45,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-27 13:03:45,746 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-27 13:03:45,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:45,746 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-27 13:03:45,746 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:45,746 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-27 13:03:45,749 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:03:45,749 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:45,749 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:03:45,767 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 13:03:45,959 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 13:03:45,959 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:45,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:45,960 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-27 13:03:45,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:45,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [803535916] [2022-04-27 13:03:45,960 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:45,960 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:45,974 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:45,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [301419111] [2022-04-27 13:03:45,974 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:45,974 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:45,974 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:45,979 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 13:03:45,980 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 13:03:46,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:46,021 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-27 13:03:46,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:46,033 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:46,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-27 13:03:46,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#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); {3818#true} is VALID [2022-04-27 13:03:46,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #103#return; {3818#true} is VALID [2022-04-27 13:03:46,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-27 13:03:46,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#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; {3818#true} is VALID [2022-04-27 13:03:46,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3818#true} {3818#true} #79#return; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {3818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L272 TraceCheckUtils]: 12: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3818#true} #81#return; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3818#true} #83#return; {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,238 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,239 INFO L290 TraceCheckUtils]: 24: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,239 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3818#true} {3818#true} #85#return; {3818#true} is VALID [2022-04-27 13:03:46,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#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; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,239 INFO L272 TraceCheckUtils]: 28: Hoare triple {3904#(= main_~q~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,240 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3818#true} {3904#(= main_~q~0 0)} #87#return; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,240 INFO L272 TraceCheckUtils]: 33: Hoare triple {3904#(= main_~q~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,240 INFO L290 TraceCheckUtils]: 34: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,241 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3818#true} {3904#(= main_~q~0 0)} #89#return; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {3904#(= main_~q~0 0)} assume !false; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,256 INFO L290 TraceCheckUtils]: 39: Hoare triple {3904#(= main_~q~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,256 INFO L290 TraceCheckUtils]: 40: Hoare triple {3904#(= main_~q~0 0)} assume !false; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,256 INFO L272 TraceCheckUtils]: 41: Hoare triple {3904#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,256 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,256 INFO L290 TraceCheckUtils]: 43: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,257 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3818#true} {3904#(= main_~q~0 0)} #91#return; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,257 INFO L272 TraceCheckUtils]: 46: Hoare triple {3904#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,257 INFO L290 TraceCheckUtils]: 47: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,258 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3818#true} {3904#(= main_~q~0 0)} #93#return; {3904#(= main_~q~0 0)} is VALID [2022-04-27 13:03:46,258 INFO L272 TraceCheckUtils]: 51: Hoare triple {3904#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:03:46,258 INFO L290 TraceCheckUtils]: 52: Hoare triple {3818#true} ~cond := #in~cond; {3980#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:46,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {3980#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:46,259 INFO L290 TraceCheckUtils]: 54: Hoare triple {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:46,259 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} {3904#(= main_~q~0 0)} #95#return; {3991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-27 13:03:46,260 INFO L272 TraceCheckUtils]: 56: Hoare triple {3991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~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)); {3818#true} is VALID [2022-04-27 13:03:46,260 INFO L290 TraceCheckUtils]: 57: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,260 INFO L290 TraceCheckUtils]: 59: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,260 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3818#true} {3991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #97#return; {3991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-27 13:03:46,261 INFO L290 TraceCheckUtils]: 61: Hoare triple {3991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {3991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-27 13:03:46,261 INFO L290 TraceCheckUtils]: 62: Hoare triple {3991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:46,261 INFO L290 TraceCheckUtils]: 63: Hoare triple {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:46,262 INFO L290 TraceCheckUtils]: 64: Hoare triple {4013#(and (= main_~p~0 0) (= 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; {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:46,262 INFO L290 TraceCheckUtils]: 65: Hoare triple {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:46,262 INFO L272 TraceCheckUtils]: 66: Hoare triple {4013#(and (= main_~p~0 0) (= 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)); {3818#true} is VALID [2022-04-27 13:03:46,262 INFO L290 TraceCheckUtils]: 67: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:03:46,262 INFO L290 TraceCheckUtils]: 68: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:03:46,262 INFO L290 TraceCheckUtils]: 69: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:03:46,263 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {3818#true} {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #91#return; {4013#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:46,264 INFO L272 TraceCheckUtils]: 71: Hoare triple {4013#(and (= main_~p~0 0) (= 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)); {4041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:46,264 INFO L290 TraceCheckUtils]: 72: Hoare triple {4041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:46,264 INFO L290 TraceCheckUtils]: 73: Hoare triple {4045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-27 13:03:46,264 INFO L290 TraceCheckUtils]: 74: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-27 13:03:46,264 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-27 13:03:46,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:04:04,008 INFO L290 TraceCheckUtils]: 74: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-27 13:04:04,009 INFO L290 TraceCheckUtils]: 73: Hoare triple {4045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-27 13:04:04,009 INFO L290 TraceCheckUtils]: 72: Hoare triple {4041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:04,009 INFO L272 TraceCheckUtils]: 71: Hoare triple {4061#(= 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)); {4041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:04:04,010 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {3818#true} {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #91#return; {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:04,010 INFO L290 TraceCheckUtils]: 69: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,010 INFO L290 TraceCheckUtils]: 68: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,010 INFO L290 TraceCheckUtils]: 67: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,010 INFO L272 TraceCheckUtils]: 66: Hoare triple {4061#(= 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)); {3818#true} is VALID [2022-04-27 13:04:04,011 INFO L290 TraceCheckUtils]: 65: Hoare triple {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:04,011 INFO L290 TraceCheckUtils]: 64: Hoare triple {4061#(= 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; {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:04,011 INFO L290 TraceCheckUtils]: 63: Hoare triple {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:04,012 INFO L290 TraceCheckUtils]: 62: Hoare triple {4089#(= 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; {4061#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:04,012 INFO L290 TraceCheckUtils]: 61: Hoare triple {4089#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {4089#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:04,012 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3818#true} {4089#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {4089#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:04,012 INFO L290 TraceCheckUtils]: 59: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,013 INFO L290 TraceCheckUtils]: 58: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,013 INFO L290 TraceCheckUtils]: 57: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,013 INFO L272 TraceCheckUtils]: 56: Hoare triple {4089#(= 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)); {3818#true} is VALID [2022-04-27 13:04:04,013 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} {3818#true} #95#return; {4089#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:04,013 INFO L290 TraceCheckUtils]: 54: Hoare triple {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:04,014 INFO L290 TraceCheckUtils]: 53: Hoare triple {4120#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3984#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:04,014 INFO L290 TraceCheckUtils]: 52: Hoare triple {3818#true} ~cond := #in~cond; {4120#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:04:04,014 INFO L272 TraceCheckUtils]: 51: Hoare triple {3818#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,014 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3818#true} {3818#true} #93#return; {3818#true} is VALID [2022-04-27 13:04:04,014 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,014 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,014 INFO L290 TraceCheckUtils]: 47: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,014 INFO L272 TraceCheckUtils]: 46: Hoare triple {3818#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3818#true} {3818#true} #91#return; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 44: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 43: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L272 TraceCheckUtils]: 41: Hoare triple {3818#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} assume !false; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 39: Hoare triple {3818#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {3818#true} assume !false; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3818#true} {3818#true} #89#return; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 34: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L272 TraceCheckUtils]: 33: Hoare triple {3818#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3818#true} {3818#true} #87#return; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 29: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L272 TraceCheckUtils]: 28: Hoare triple {3818#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#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; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3818#true} {3818#true} #85#return; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 24: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3818#true} #83#return; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3818#true} #81#return; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L272 TraceCheckUtils]: 12: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 11: Hoare triple {3818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3818#true} {3818#true} #79#return; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#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; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #103#return; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#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); {3818#true} is VALID [2022-04-27 13:04:04,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-27 13:04:04,018 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-27 13:04:04,018 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:04:04,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [803535916] [2022-04-27 13:04:04,018 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:04:04,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [301419111] [2022-04-27 13:04:04,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [301419111] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:04:04,018 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:04:04,018 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-27 13:04:04,018 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281639364] [2022-04-27 13:04:04,018 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:04:04,019 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 75 [2022-04-27 13:04:04,019 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:04:04,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:04,076 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 13:04:04,076 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:04:04,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:04:04,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:04:04,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:04:04,077 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:04,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:04,995 INFO L93 Difference]: Finished difference Result 132 states and 187 transitions. [2022-04-27 13:04:04,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 13:04:04,995 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 75 [2022-04-27 13:04:04,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:04:04,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:04,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-27 13:04:04,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:04,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-27 13:04:04,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-27 13:04:05,096 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:05,098 INFO L225 Difference]: With dead ends: 132 [2022-04-27 13:04:05,098 INFO L226 Difference]: Without dead ends: 128 [2022-04-27 13:04:05,098 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 141 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=214, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:04:05,099 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 35 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 294 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 224 SdHoareTripleChecker+Invalid, 333 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 294 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:04:05,099 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 224 Invalid, 333 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 294 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:04:05,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-27 13:04:05,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 96. [2022-04-27 13:04:05,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:04:05,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:05,191 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:05,192 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:05,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:05,195 INFO L93 Difference]: Finished difference Result 128 states and 181 transitions. [2022-04-27 13:04:05,195 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 181 transitions. [2022-04-27 13:04:05,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:05,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:05,196 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) Second operand 128 states. [2022-04-27 13:04:05,196 INFO L87 Difference]: Start difference. First operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) Second operand 128 states. [2022-04-27 13:04:05,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:05,200 INFO L93 Difference]: Finished difference Result 128 states and 181 transitions. [2022-04-27 13:04:05,200 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 181 transitions. [2022-04-27 13:04:05,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:05,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:05,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:04:05,201 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:04:05,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:05,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 130 transitions. [2022-04-27 13:04:05,204 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 130 transitions. Word has length 75 [2022-04-27 13:04:05,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:04:05,204 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 130 transitions. [2022-04-27 13:04:05,204 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:05,204 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 130 transitions. [2022-04-27 13:04:05,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-27 13:04:05,205 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:04:05,205 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:04:05,225 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 13:04:05,419 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 13:04:05,419 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:04:05,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:04:05,420 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 2 times [2022-04-27 13:04:05,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:04:05,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1165001172] [2022-04-27 13:04:05,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:04:05,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:04:05,437 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:04:05,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1790026973] [2022-04-27 13:04:05,437 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:04:05,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:04:05,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:04:05,440 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 13:04:05,441 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 13:04:05,488 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:04:05,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:04:05,489 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:04:05,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:04:05,504 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:04:08,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {4912#true} call ULTIMATE.init(); {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {4912#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); {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4912#true} {4912#true} #103#return; {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {4912#true} call #t~ret6 := main(); {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {4912#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; {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {4912#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4912#true} {4912#true} #79#return; {4912#true} is VALID [2022-04-27 13:04:08,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {4912#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4912#true} is VALID [2022-04-27 13:04:08,519 INFO L272 TraceCheckUtils]: 12: Hoare triple {4912#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4912#true} is VALID [2022-04-27 13:04:08,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {4912#true} ~cond := #in~cond; {4956#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:04:08,522 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4960#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:08,523 INFO L290 TraceCheckUtils]: 15: Hoare triple {4960#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4960#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:08,523 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4960#(not (= |assume_abort_if_not_#in~cond| 0))} {4912#true} #81#return; {4967#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:04:08,523 INFO L272 TraceCheckUtils]: 17: Hoare triple {4967#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4912#true} is VALID [2022-04-27 13:04:08,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {4912#true} ~cond := #in~cond; {4956#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:04:08,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4960#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:08,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {4960#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4960#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:08,524 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4960#(not (= |assume_abort_if_not_#in~cond| 0))} {4967#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {4983#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:04:08,524 INFO L272 TraceCheckUtils]: 22: Hoare triple {4983#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4912#true} is VALID [2022-04-27 13:04:08,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,525 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4912#true} {4983#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #85#return; {4983#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:04:08,525 INFO L290 TraceCheckUtils]: 27: Hoare triple {4983#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 13:04:08,525 INFO L272 TraceCheckUtils]: 28: Hoare triple {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {4912#true} is VALID [2022-04-27 13:04:08,526 INFO L290 TraceCheckUtils]: 29: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,526 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4912#true} {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 13:04:08,526 INFO L272 TraceCheckUtils]: 33: Hoare triple {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {4912#true} is VALID [2022-04-27 13:04:08,526 INFO L290 TraceCheckUtils]: 34: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,526 INFO L290 TraceCheckUtils]: 35: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,526 INFO L290 TraceCheckUtils]: 36: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,527 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4912#true} {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 13:04:08,527 INFO L290 TraceCheckUtils]: 38: Hoare triple {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 13:04:08,528 INFO L290 TraceCheckUtils]: 39: Hoare triple {5002#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:08,528 INFO L290 TraceCheckUtils]: 40: Hoare triple {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:08,528 INFO L272 TraceCheckUtils]: 41: Hoare triple {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {4912#true} is VALID [2022-04-27 13:04:08,528 INFO L290 TraceCheckUtils]: 42: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,528 INFO L290 TraceCheckUtils]: 43: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,528 INFO L290 TraceCheckUtils]: 44: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,529 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4912#true} {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:08,529 INFO L272 TraceCheckUtils]: 46: Hoare triple {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {4912#true} is VALID [2022-04-27 13:04:08,529 INFO L290 TraceCheckUtils]: 47: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,530 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4912#true} {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:08,530 INFO L272 TraceCheckUtils]: 51: Hoare triple {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {4912#true} is VALID [2022-04-27 13:04:08,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,530 INFO L290 TraceCheckUtils]: 54: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,531 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4912#true} {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:08,531 INFO L272 TraceCheckUtils]: 56: Hoare triple {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {4912#true} is VALID [2022-04-27 13:04:08,531 INFO L290 TraceCheckUtils]: 57: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,531 INFO L290 TraceCheckUtils]: 58: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,531 INFO L290 TraceCheckUtils]: 59: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,532 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4912#true} {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:08,532 INFO L290 TraceCheckUtils]: 61: Hoare triple {5039#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {5106#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:08,533 INFO L290 TraceCheckUtils]: 62: Hoare triple {5106#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 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; {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:04:08,534 INFO L290 TraceCheckUtils]: 63: Hoare triple {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:04:08,534 INFO L290 TraceCheckUtils]: 64: Hoare triple {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:04:08,534 INFO L290 TraceCheckUtils]: 65: Hoare triple {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:04:08,534 INFO L272 TraceCheckUtils]: 66: Hoare triple {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4912#true} is VALID [2022-04-27 13:04:08,534 INFO L290 TraceCheckUtils]: 67: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,535 INFO L290 TraceCheckUtils]: 68: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,535 INFO L290 TraceCheckUtils]: 69: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,535 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4912#true} {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:04:08,535 INFO L272 TraceCheckUtils]: 71: Hoare triple {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4912#true} is VALID [2022-04-27 13:04:08,535 INFO L290 TraceCheckUtils]: 72: Hoare triple {4912#true} ~cond := #in~cond; {4912#true} is VALID [2022-04-27 13:04:08,535 INFO L290 TraceCheckUtils]: 73: Hoare triple {4912#true} assume !(0 == ~cond); {4912#true} is VALID [2022-04-27 13:04:08,535 INFO L290 TraceCheckUtils]: 74: Hoare triple {4912#true} assume true; {4912#true} is VALID [2022-04-27 13:04:08,536 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4912#true} {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:04:08,537 INFO L272 TraceCheckUtils]: 76: Hoare triple {5110#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5153#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:04:08,537 INFO L290 TraceCheckUtils]: 77: Hoare triple {5153#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5157#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:08,537 INFO L290 TraceCheckUtils]: 78: Hoare triple {5157#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4913#false} is VALID [2022-04-27 13:04:08,537 INFO L290 TraceCheckUtils]: 79: Hoare triple {4913#false} assume !false; {4913#false} is VALID [2022-04-27 13:04:08,537 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 18 proven. 24 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-27 13:04:08,538 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:05:33,144 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:05:33,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1165001172] [2022-04-27 13:05:33,144 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:05:33,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1790026973] [2022-04-27 13:05:33,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1790026973] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:05:33,145 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:05:33,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-27 13:05:33,145 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1737485317] [2022-04-27 13:05:33,145 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:05:33,146 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-27 13:05:33,146 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:05:33,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 13:05:33,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:05:33,189 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:05:33,189 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:05:33,189 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:05:33,190 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:05:33,190 INFO L87 Difference]: Start difference. First operand 96 states and 130 transitions. Second operand has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 13:05:34,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:34,319 INFO L93 Difference]: Finished difference Result 128 states and 169 transitions. [2022-04-27 13:05:34,319 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:05:34,319 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-27 13:05:34,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:05:34,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 13:05:34,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 89 transitions. [2022-04-27 13:05:34,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 13:05:34,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 89 transitions. [2022-04-27 13:05:34,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 89 transitions. [2022-04-27 13:05:34,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:05:34,406 INFO L225 Difference]: With dead ends: 128 [2022-04-27 13:05:34,406 INFO L226 Difference]: Without dead ends: 126 [2022-04-27 13:05:34,406 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 85 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:05:34,407 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 30 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 307 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 325 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 307 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:05:34,407 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 217 Invalid, 325 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 307 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:05:34,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2022-04-27 13:05:34,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 123. [2022-04-27 13:05:34,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:05:34,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand has 123 states, 67 states have (on average 1.164179104477612) internal successors, (78), 69 states have internal predecessors, (78), 44 states have call successors, (44), 12 states have call predecessors, (44), 11 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:34,550 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand has 123 states, 67 states have (on average 1.164179104477612) internal successors, (78), 69 states have internal predecessors, (78), 44 states have call successors, (44), 12 states have call predecessors, (44), 11 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:34,550 INFO L87 Difference]: Start difference. First operand 126 states. Second operand has 123 states, 67 states have (on average 1.164179104477612) internal successors, (78), 69 states have internal predecessors, (78), 44 states have call successors, (44), 12 states have call predecessors, (44), 11 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:34,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:34,554 INFO L93 Difference]: Finished difference Result 126 states and 167 transitions. [2022-04-27 13:05:34,554 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 167 transitions. [2022-04-27 13:05:34,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:05:34,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:05:34,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 67 states have (on average 1.164179104477612) internal successors, (78), 69 states have internal predecessors, (78), 44 states have call successors, (44), 12 states have call predecessors, (44), 11 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) Second operand 126 states. [2022-04-27 13:05:34,555 INFO L87 Difference]: Start difference. First operand has 123 states, 67 states have (on average 1.164179104477612) internal successors, (78), 69 states have internal predecessors, (78), 44 states have call successors, (44), 12 states have call predecessors, (44), 11 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) Second operand 126 states. [2022-04-27 13:05:34,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:34,557 INFO L93 Difference]: Finished difference Result 126 states and 167 transitions. [2022-04-27 13:05:34,557 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 167 transitions. [2022-04-27 13:05:34,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:05:34,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:05:34,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:05:34,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:05:34,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 67 states have (on average 1.164179104477612) internal successors, (78), 69 states have internal predecessors, (78), 44 states have call successors, (44), 12 states have call predecessors, (44), 11 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:34,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 164 transitions. [2022-04-27 13:05:34,562 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 164 transitions. Word has length 80 [2022-04-27 13:05:34,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:05:34,562 INFO L495 AbstractCegarLoop]: Abstraction has 123 states and 164 transitions. [2022-04-27 13:05:34,562 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 13:05:34,562 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 164 transitions. [2022-04-27 13:05:34,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-27 13:05:34,562 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:05:34,563 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:05:34,580 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 13:05:34,779 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 13:05:34,779 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:05:34,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:05:34,779 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 3 times [2022-04-27 13:05:34,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:05:34,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972708957] [2022-04-27 13:05:34,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:05:34,780 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:05:34,791 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:05:34,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1084394733] [2022-04-27 13:05:34,791 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:05:34,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:05:34,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:05:34,792 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 13:05:34,793 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 13:05:34,843 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 13:05:34,843 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:05:34,844 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-27 13:05:34,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:05:34,857 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:05:38,721 INFO L272 TraceCheckUtils]: 0: Hoare triple {5877#true} call ULTIMATE.init(); {5877#true} is VALID [2022-04-27 13:05:38,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {5877#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); {5877#true} is VALID [2022-04-27 13:05:38,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5877#true} {5877#true} #103#return; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L272 TraceCheckUtils]: 4: Hoare triple {5877#true} call #t~ret6 := main(); {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 5: Hoare triple {5877#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; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L272 TraceCheckUtils]: 6: Hoare triple {5877#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5877#true} {5877#true} #79#return; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {5877#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L272 TraceCheckUtils]: 12: Hoare triple {5877#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5877#true} {5877#true} #81#return; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L272 TraceCheckUtils]: 17: Hoare triple {5877#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 18: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,722 INFO L290 TraceCheckUtils]: 19: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5877#true} {5877#true} #83#return; {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L272 TraceCheckUtils]: 22: Hoare triple {5877#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L290 TraceCheckUtils]: 23: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5877#true} {5877#true} #85#return; {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L290 TraceCheckUtils]: 27: Hoare triple {5877#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; {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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 13:05:38,723 INFO L272 TraceCheckUtils]: 28: Hoare triple {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {5877#true} is VALID [2022-04-27 13:05:38,723 INFO L290 TraceCheckUtils]: 29: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,724 INFO L290 TraceCheckUtils]: 30: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,724 INFO L290 TraceCheckUtils]: 31: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,724 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5877#true} {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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 13:05:38,724 INFO L272 TraceCheckUtils]: 33: Hoare triple {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {5877#true} is VALID [2022-04-27 13:05:38,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,724 INFO L290 TraceCheckUtils]: 35: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,724 INFO L290 TraceCheckUtils]: 36: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,725 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5877#true} {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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 13:05:38,725 INFO L290 TraceCheckUtils]: 38: Hoare triple {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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; {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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 13:05:38,726 INFO L290 TraceCheckUtils]: 39: Hoare triple {5963#(and (= main_~r~0 0) (= main_~s~0 1) (= 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; {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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 13:05:38,726 INFO L290 TraceCheckUtils]: 40: Hoare triple {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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; {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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 13:05:38,726 INFO L272 TraceCheckUtils]: 41: Hoare triple {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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)); {5877#true} is VALID [2022-04-27 13:05:38,726 INFO L290 TraceCheckUtils]: 42: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,726 INFO L290 TraceCheckUtils]: 43: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,726 INFO L290 TraceCheckUtils]: 44: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,727 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5877#true} {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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 13:05:38,727 INFO L272 TraceCheckUtils]: 46: Hoare triple {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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)); {5877#true} is VALID [2022-04-27 13:05:38,727 INFO L290 TraceCheckUtils]: 47: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,727 INFO L290 TraceCheckUtils]: 48: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,728 INFO L290 TraceCheckUtils]: 49: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,728 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5877#true} {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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 13:05:38,728 INFO L272 TraceCheckUtils]: 51: Hoare triple {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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)); {5877#true} is VALID [2022-04-27 13:05:38,729 INFO L290 TraceCheckUtils]: 52: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,729 INFO L290 TraceCheckUtils]: 53: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,729 INFO L290 TraceCheckUtils]: 54: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,729 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5877#true} {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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 13:05:38,730 INFO L272 TraceCheckUtils]: 56: Hoare triple {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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)); {5877#true} is VALID [2022-04-27 13:05:38,730 INFO L290 TraceCheckUtils]: 57: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,730 INFO L290 TraceCheckUtils]: 58: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,730 INFO L290 TraceCheckUtils]: 59: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,731 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5877#true} {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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 13:05:38,731 INFO L290 TraceCheckUtils]: 61: Hoare triple {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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); {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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 13:05:38,732 INFO L290 TraceCheckUtils]: 62: Hoare triple {6000#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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; {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:38,732 INFO L290 TraceCheckUtils]: 63: Hoare triple {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:38,732 INFO L290 TraceCheckUtils]: 64: Hoare triple {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~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; {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:38,733 INFO L290 TraceCheckUtils]: 65: Hoare triple {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:38,733 INFO L272 TraceCheckUtils]: 66: Hoare triple {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {5877#true} is VALID [2022-04-27 13:05:38,733 INFO L290 TraceCheckUtils]: 67: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,733 INFO L290 TraceCheckUtils]: 68: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,733 INFO L290 TraceCheckUtils]: 69: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,734 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5877#true} {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:38,734 INFO L272 TraceCheckUtils]: 71: Hoare triple {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {5877#true} is VALID [2022-04-27 13:05:38,734 INFO L290 TraceCheckUtils]: 72: Hoare triple {5877#true} ~cond := #in~cond; {5877#true} is VALID [2022-04-27 13:05:38,734 INFO L290 TraceCheckUtils]: 73: Hoare triple {5877#true} assume !(0 == ~cond); {5877#true} is VALID [2022-04-27 13:05:38,734 INFO L290 TraceCheckUtils]: 74: Hoare triple {5877#true} assume true; {5877#true} is VALID [2022-04-27 13:05:38,735 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5877#true} {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:38,735 INFO L272 TraceCheckUtils]: 76: Hoare triple {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {5877#true} is VALID [2022-04-27 13:05:38,735 INFO L290 TraceCheckUtils]: 77: Hoare triple {5877#true} ~cond := #in~cond; {6116#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:05:38,736 INFO L290 TraceCheckUtils]: 78: Hoare triple {6116#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6120#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:05:38,736 INFO L290 TraceCheckUtils]: 79: Hoare triple {6120#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6120#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:05:38,736 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6120#(not (= |__VERIFIER_assert_#in~cond| 0))} {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:38,737 INFO L272 TraceCheckUtils]: 81: Hoare triple {6070#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {6130#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:05:38,737 INFO L290 TraceCheckUtils]: 82: Hoare triple {6130#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6134#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:05:38,738 INFO L290 TraceCheckUtils]: 83: Hoare triple {6134#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5878#false} is VALID [2022-04-27 13:05:38,738 INFO L290 TraceCheckUtils]: 84: Hoare triple {5878#false} assume !false; {5878#false} is VALID [2022-04-27 13:05:38,738 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 31 proven. 8 refuted. 0 times theorem prover too weak. 126 trivial. 0 not checked. [2022-04-27 13:05:38,738 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:06:19,082 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:06:19,082 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [972708957] [2022-04-27 13:06:19,082 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:06:19,083 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1084394733] [2022-04-27 13:06:19,083 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1084394733] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:06:19,083 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:06:19,083 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 13:06:19,083 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1117747300] [2022-04-27 13:06:19,083 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:06:19,083 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), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-27 13:06:19,083 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:06:19,084 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), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:06:19,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:19,132 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:06:19,132 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:06:19,132 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:06:19,132 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:06:19,133 INFO L87 Difference]: Start difference. First operand 123 states and 164 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:06:19,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:19,940 INFO L93 Difference]: Finished difference Result 132 states and 172 transitions. [2022-04-27 13:06:19,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:06:19,940 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), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-27 13:06:19,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:06:19,941 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), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:06:19,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-27 13:06:19,942 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), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:06:19,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-27 13:06:19,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-27 13:06:20,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:20,040 INFO L225 Difference]: With dead ends: 132 [2022-04-27 13:06:20,040 INFO L226 Difference]: Without dead ends: 130 [2022-04-27 13:06:20,040 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:06:20,041 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 19 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 277 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 287 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 277 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:06:20,041 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 208 Invalid, 287 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 277 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:06:20,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-27 13:06:20,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 127. [2022-04-27 13:06:20,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:06:20,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 127 states, 70 states have (on average 1.1571428571428573) internal successors, (81), 72 states have internal predecessors, (81), 44 states have call successors, (44), 13 states have call predecessors, (44), 12 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:06:20,174 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 127 states, 70 states have (on average 1.1571428571428573) internal successors, (81), 72 states have internal predecessors, (81), 44 states have call successors, (44), 13 states have call predecessors, (44), 12 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:06:20,174 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 127 states, 70 states have (on average 1.1571428571428573) internal successors, (81), 72 states have internal predecessors, (81), 44 states have call successors, (44), 13 states have call predecessors, (44), 12 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:06:20,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:20,177 INFO L93 Difference]: Finished difference Result 130 states and 170 transitions. [2022-04-27 13:06:20,177 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 170 transitions. [2022-04-27 13:06:20,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:20,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:20,177 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 70 states have (on average 1.1571428571428573) internal successors, (81), 72 states have internal predecessors, (81), 44 states have call successors, (44), 13 states have call predecessors, (44), 12 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) Second operand 130 states. [2022-04-27 13:06:20,178 INFO L87 Difference]: Start difference. First operand has 127 states, 70 states have (on average 1.1571428571428573) internal successors, (81), 72 states have internal predecessors, (81), 44 states have call successors, (44), 13 states have call predecessors, (44), 12 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) Second operand 130 states. [2022-04-27 13:06:20,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:20,180 INFO L93 Difference]: Finished difference Result 130 states and 170 transitions. [2022-04-27 13:06:20,180 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 170 transitions. [2022-04-27 13:06:20,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:20,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:20,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:06:20,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:06:20,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 70 states have (on average 1.1571428571428573) internal successors, (81), 72 states have internal predecessors, (81), 44 states have call successors, (44), 13 states have call predecessors, (44), 12 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:06:20,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 167 transitions. [2022-04-27 13:06:20,183 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 167 transitions. Word has length 85 [2022-04-27 13:06:20,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:06:20,183 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 167 transitions. [2022-04-27 13:06:20,183 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), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:06:20,184 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 167 transitions. [2022-04-27 13:06:20,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:06:20,184 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:06:20,184 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:06:20,202 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 13:06:20,395 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 13:06:20,395 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:06:20,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:06:20,396 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-27 13:06:20,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:06:20,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1744975443] [2022-04-27 13:06:20,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:20,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:06:20,407 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:06:20,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [337004679] [2022-04-27 13:06:20,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:20,408 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:06:20,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:06:20,409 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 13:06:20,410 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 13:06:20,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:20,458 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:06:20,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:20,470 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:06:20,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {6824#true} call ULTIMATE.init(); {6824#true} is VALID [2022-04-27 13:06:20,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {6824#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); {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6824#true} {6824#true} #103#return; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {6824#true} call #t~ret6 := main(); {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {6824#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; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L272 TraceCheckUtils]: 6: Hoare triple {6824#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6824#true} {6824#true} #79#return; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {6824#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L272 TraceCheckUtils]: 12: Hoare triple {6824#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,958 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6824#true} {6824#true} #81#return; {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L272 TraceCheckUtils]: 17: Hoare triple {6824#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6824#true} {6824#true} #83#return; {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L272 TraceCheckUtils]: 22: Hoare triple {6824#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L290 TraceCheckUtils]: 23: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L290 TraceCheckUtils]: 24: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,959 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6824#true} {6824#true} #85#return; {6824#true} is VALID [2022-04-27 13:06:20,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {6824#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; {6910#(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 13:06:20,960 INFO L272 TraceCheckUtils]: 28: Hoare triple {6910#(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)); {6824#true} is VALID [2022-04-27 13:06:20,960 INFO L290 TraceCheckUtils]: 29: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,960 INFO L290 TraceCheckUtils]: 30: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,960 INFO L290 TraceCheckUtils]: 31: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,961 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6824#true} {6910#(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))} #87#return; {6910#(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 13:06:20,961 INFO L272 TraceCheckUtils]: 33: Hoare triple {6910#(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)); {6824#true} is VALID [2022-04-27 13:06:20,961 INFO L290 TraceCheckUtils]: 34: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,961 INFO L290 TraceCheckUtils]: 35: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,961 INFO L290 TraceCheckUtils]: 36: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,962 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6824#true} {6910#(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))} #89#return; {6910#(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 13:06:20,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {6910#(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; {6910#(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 13:06:20,962 INFO L290 TraceCheckUtils]: 39: Hoare triple {6910#(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; {6947#(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 13:06:20,963 INFO L290 TraceCheckUtils]: 40: Hoare triple {6947#(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; {6947#(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 13:06:20,963 INFO L272 TraceCheckUtils]: 41: Hoare triple {6947#(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)); {6824#true} is VALID [2022-04-27 13:06:20,963 INFO L290 TraceCheckUtils]: 42: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,963 INFO L290 TraceCheckUtils]: 43: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,963 INFO L290 TraceCheckUtils]: 44: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,964 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6824#true} {6947#(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))} #91#return; {6947#(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 13:06:20,964 INFO L272 TraceCheckUtils]: 46: Hoare triple {6947#(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)); {6824#true} is VALID [2022-04-27 13:06:20,964 INFO L290 TraceCheckUtils]: 47: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,964 INFO L290 TraceCheckUtils]: 48: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,964 INFO L290 TraceCheckUtils]: 49: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,964 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6824#true} {6947#(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))} #93#return; {6947#(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 13:06:20,964 INFO L272 TraceCheckUtils]: 51: Hoare triple {6947#(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)); {6824#true} is VALID [2022-04-27 13:06:20,965 INFO L290 TraceCheckUtils]: 52: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,965 INFO L290 TraceCheckUtils]: 53: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,965 INFO L290 TraceCheckUtils]: 54: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,965 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6824#true} {6947#(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))} #95#return; {6947#(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 13:06:20,965 INFO L272 TraceCheckUtils]: 56: Hoare triple {6947#(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)); {6824#true} is VALID [2022-04-27 13:06:20,965 INFO L290 TraceCheckUtils]: 57: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,965 INFO L290 TraceCheckUtils]: 58: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,965 INFO L290 TraceCheckUtils]: 59: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,966 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6824#true} {6947#(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))} #97#return; {6947#(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 13:06:20,967 INFO L290 TraceCheckUtils]: 61: Hoare triple {6947#(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; {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:20,967 INFO L290 TraceCheckUtils]: 62: Hoare triple {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:20,967 INFO L272 TraceCheckUtils]: 63: Hoare triple {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:20,967 INFO L290 TraceCheckUtils]: 64: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,967 INFO L290 TraceCheckUtils]: 65: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,967 INFO L290 TraceCheckUtils]: 66: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,968 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6824#true} {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:20,968 INFO L272 TraceCheckUtils]: 68: Hoare triple {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:20,968 INFO L290 TraceCheckUtils]: 69: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,968 INFO L290 TraceCheckUtils]: 70: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,968 INFO L290 TraceCheckUtils]: 71: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,969 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6824#true} {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #93#return; {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:20,969 INFO L272 TraceCheckUtils]: 73: Hoare triple {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= 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)); {6824#true} is VALID [2022-04-27 13:06:20,969 INFO L290 TraceCheckUtils]: 74: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,969 INFO L290 TraceCheckUtils]: 75: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,969 INFO L290 TraceCheckUtils]: 76: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,969 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6824#true} {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #95#return; {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:20,970 INFO L272 TraceCheckUtils]: 78: Hoare triple {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 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)); {6824#true} is VALID [2022-04-27 13:06:20,970 INFO L290 TraceCheckUtils]: 79: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:20,970 INFO L290 TraceCheckUtils]: 80: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:20,970 INFO L290 TraceCheckUtils]: 81: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:20,970 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6824#true} {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #97#return; {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:20,971 INFO L290 TraceCheckUtils]: 83: Hoare triple {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:20,971 INFO L290 TraceCheckUtils]: 84: Hoare triple {7014#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7084#(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 13:06:20,972 INFO L290 TraceCheckUtils]: 85: Hoare triple {7084#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !false; {7084#(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 13:06:20,972 INFO L290 TraceCheckUtils]: 86: Hoare triple {7084#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {7091#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:06:20,972 INFO L272 TraceCheckUtils]: 87: Hoare triple {7091#(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)); {7095#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:06:20,973 INFO L290 TraceCheckUtils]: 88: Hoare triple {7095#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7099#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:20,973 INFO L290 TraceCheckUtils]: 89: Hoare triple {7099#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6825#false} is VALID [2022-04-27 13:06:20,973 INFO L290 TraceCheckUtils]: 90: Hoare triple {6825#false} assume !false; {6825#false} is VALID [2022-04-27 13:06:20,973 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-27 13:06:20,973 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:06:21,499 INFO L290 TraceCheckUtils]: 90: Hoare triple {6825#false} assume !false; {6825#false} is VALID [2022-04-27 13:06:21,499 INFO L290 TraceCheckUtils]: 89: Hoare triple {7099#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6825#false} is VALID [2022-04-27 13:06:21,500 INFO L290 TraceCheckUtils]: 88: Hoare triple {7095#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7099#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:21,500 INFO L272 TraceCheckUtils]: 87: Hoare triple {7115#(= (+ (* 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)); {7095#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:06:21,501 INFO L290 TraceCheckUtils]: 86: Hoare triple {7119#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {7115#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 13:06:21,501 INFO L290 TraceCheckUtils]: 85: Hoare triple {7119#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {7119#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 13:06:23,245 INFO L290 TraceCheckUtils]: 84: Hoare triple {7126#(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; {7119#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 13:06:23,245 INFO L290 TraceCheckUtils]: 83: Hoare triple {7126#(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); {7126#(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 13:06:23,246 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6824#true} {7126#(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))} #97#return; {7126#(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 13:06:23,246 INFO L290 TraceCheckUtils]: 81: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,246 INFO L290 TraceCheckUtils]: 80: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,246 INFO L290 TraceCheckUtils]: 79: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,246 INFO L272 TraceCheckUtils]: 78: Hoare triple {7126#(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)); {6824#true} is VALID [2022-04-27 13:06:23,247 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6824#true} {7126#(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))} #95#return; {7126#(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 13:06:23,247 INFO L290 TraceCheckUtils]: 76: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,247 INFO L290 TraceCheckUtils]: 75: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,247 INFO L290 TraceCheckUtils]: 74: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,247 INFO L272 TraceCheckUtils]: 73: Hoare triple {7126#(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 ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,248 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6824#true} {7126#(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))} #93#return; {7126#(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 13:06:23,248 INFO L290 TraceCheckUtils]: 71: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,248 INFO L290 TraceCheckUtils]: 70: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,248 INFO L290 TraceCheckUtils]: 69: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,248 INFO L272 TraceCheckUtils]: 68: Hoare triple {7126#(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 ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,249 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6824#true} {7126#(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))} #91#return; {7126#(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 13:06:23,249 INFO L290 TraceCheckUtils]: 66: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,249 INFO L290 TraceCheckUtils]: 65: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,249 INFO L290 TraceCheckUtils]: 64: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,249 INFO L272 TraceCheckUtils]: 63: Hoare triple {7126#(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 ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,249 INFO L290 TraceCheckUtils]: 62: Hoare triple {7126#(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 !false; {7126#(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 13:06:23,838 INFO L290 TraceCheckUtils]: 61: Hoare triple {7196#(or (= (+ (* 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; {7126#(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 13:06:23,839 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6824#true} {7196#(or (= (+ (* 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)))} #97#return; {7196#(or (= (+ (* 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 13:06:23,839 INFO L290 TraceCheckUtils]: 59: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,839 INFO L290 TraceCheckUtils]: 58: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,839 INFO L290 TraceCheckUtils]: 57: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,839 INFO L272 TraceCheckUtils]: 56: Hoare triple {7196#(or (= (+ (* 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)); {6824#true} is VALID [2022-04-27 13:06:23,840 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6824#true} {7196#(or (= (+ (* 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)))} #95#return; {7196#(or (= (+ (* 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 13:06:23,840 INFO L290 TraceCheckUtils]: 54: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,840 INFO L290 TraceCheckUtils]: 53: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,840 INFO L290 TraceCheckUtils]: 52: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,840 INFO L272 TraceCheckUtils]: 51: Hoare triple {7196#(or (= (+ (* 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)); {6824#true} is VALID [2022-04-27 13:06:23,841 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6824#true} {7196#(or (= (+ (* 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)))} #93#return; {7196#(or (= (+ (* 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 13:06:23,841 INFO L290 TraceCheckUtils]: 49: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,841 INFO L290 TraceCheckUtils]: 48: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,841 INFO L290 TraceCheckUtils]: 47: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,841 INFO L272 TraceCheckUtils]: 46: Hoare triple {7196#(or (= (+ (* 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)); {6824#true} is VALID [2022-04-27 13:06:23,842 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6824#true} {7196#(or (= (+ (* 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)))} #91#return; {7196#(or (= (+ (* 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 13:06:23,842 INFO L290 TraceCheckUtils]: 44: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,842 INFO L290 TraceCheckUtils]: 43: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,842 INFO L290 TraceCheckUtils]: 42: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,842 INFO L272 TraceCheckUtils]: 41: Hoare triple {7196#(or (= (+ (* 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)); {6824#true} is VALID [2022-04-27 13:06:23,842 INFO L290 TraceCheckUtils]: 40: Hoare triple {7196#(or (= (+ (* 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; {7196#(or (= (+ (* 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 13:06:23,843 INFO L290 TraceCheckUtils]: 39: Hoare triple {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7196#(or (= (+ (* 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 13:06:23,843 INFO L290 TraceCheckUtils]: 38: Hoare triple {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !false; {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:06:23,844 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6824#true} {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #89#return; {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:06:23,844 INFO L290 TraceCheckUtils]: 36: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,844 INFO L290 TraceCheckUtils]: 35: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,844 INFO L290 TraceCheckUtils]: 34: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,844 INFO L272 TraceCheckUtils]: 33: Hoare triple {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,845 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6824#true} {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #87#return; {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:06:23,845 INFO L290 TraceCheckUtils]: 31: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,845 INFO L290 TraceCheckUtils]: 30: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,845 INFO L272 TraceCheckUtils]: 28: Hoare triple {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,845 INFO L290 TraceCheckUtils]: 27: Hoare triple {6824#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; {7263#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:06:23,845 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6824#true} {6824#true} #85#return; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 25: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 24: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 23: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L272 TraceCheckUtils]: 22: Hoare triple {6824#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6824#true} {6824#true} #83#return; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 18: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L272 TraceCheckUtils]: 17: Hoare triple {6824#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6824#true} {6824#true} #81#return; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 15: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L272 TraceCheckUtils]: 12: Hoare triple {6824#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,846 INFO L290 TraceCheckUtils]: 11: Hoare triple {6824#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6824#true} {6824#true} #79#return; {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {6824#true} assume !(0 == ~cond); {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {6824#true} ~cond := #in~cond; {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L272 TraceCheckUtils]: 6: Hoare triple {6824#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {6824#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; {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {6824#true} call #t~ret6 := main(); {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6824#true} {6824#true} #103#return; {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {6824#true} assume true; {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {6824#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); {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {6824#true} call ULTIMATE.init(); {6824#true} is VALID [2022-04-27 13:06:23,847 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-27 13:06:23,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:06:23,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1744975443] [2022-04-27 13:06:23,848 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:06:23,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [337004679] [2022-04-27 13:06:23,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [337004679] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:06:23,848 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:06:23,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-27 13:06:23,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [115933158] [2022-04-27 13:06:23,848 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:06:23,849 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 91 [2022-04-27 13:06:23,849 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:06:23,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:06:24,348 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 13:06:24,349 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 13:06:24,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:06:24,349 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 13:06:24,349 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:06:24,349 INFO L87 Difference]: Start difference. First operand 127 states and 167 transitions. Second operand has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:06:28,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:28,802 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-27 13:06:28,802 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-27 13:06:28,802 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 91 [2022-04-27 13:06:28,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:06:28,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:06:28,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 176 transitions. [2022-04-27 13:06:28,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:06:28,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 176 transitions. [2022-04-27 13:06:28,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 176 transitions. [2022-04-27 13:06:31,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:31,810 INFO L225 Difference]: With dead ends: 212 [2022-04-27 13:06:31,810 INFO L226 Difference]: Without dead ends: 208 [2022-04-27 13:06:31,814 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=178, Invalid=692, Unknown=0, NotChecked=0, Total=870 [2022-04-27 13:06:31,814 INFO L413 NwaCegarLoop]: 78 mSDtfsCounter, 53 mSDsluCounter, 240 mSDsCounter, 0 mSdLazyCounter, 557 mSolverCounterSat, 121 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 678 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 121 IncrementalHoareTripleChecker+Valid, 557 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:06:31,814 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 318 Invalid, 678 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [121 Valid, 557 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-27 13:06:31,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-27 13:06:32,070 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 204. [2022-04-27 13:06:32,070 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:06:32,070 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 204 states, 107 states have (on average 1.1962616822429906) internal successors, (128), 108 states have internal predecessors, (128), 81 states have call successors, (81), 16 states have call predecessors, (81), 15 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:32,071 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 204 states, 107 states have (on average 1.1962616822429906) internal successors, (128), 108 states have internal predecessors, (128), 81 states have call successors, (81), 16 states have call predecessors, (81), 15 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:32,071 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 204 states, 107 states have (on average 1.1962616822429906) internal successors, (128), 108 states have internal predecessors, (128), 81 states have call successors, (81), 16 states have call predecessors, (81), 15 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:32,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:32,075 INFO L93 Difference]: Finished difference Result 208 states and 292 transitions. [2022-04-27 13:06:32,075 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 292 transitions. [2022-04-27 13:06:32,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:32,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:32,076 INFO L74 IsIncluded]: Start isIncluded. First operand has 204 states, 107 states have (on average 1.1962616822429906) internal successors, (128), 108 states have internal predecessors, (128), 81 states have call successors, (81), 16 states have call predecessors, (81), 15 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) Second operand 208 states. [2022-04-27 13:06:32,077 INFO L87 Difference]: Start difference. First operand has 204 states, 107 states have (on average 1.1962616822429906) internal successors, (128), 108 states have internal predecessors, (128), 81 states have call successors, (81), 16 states have call predecessors, (81), 15 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) Second operand 208 states. [2022-04-27 13:06:32,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:32,081 INFO L93 Difference]: Finished difference Result 208 states and 292 transitions. [2022-04-27 13:06:32,081 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 292 transitions. [2022-04-27 13:06:32,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:32,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:32,082 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:06:32,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:06:32,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 204 states, 107 states have (on average 1.1962616822429906) internal successors, (128), 108 states have internal predecessors, (128), 81 states have call successors, (81), 16 states have call predecessors, (81), 15 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:32,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 204 states to 204 states and 288 transitions. [2022-04-27 13:06:32,087 INFO L78 Accepts]: Start accepts. Automaton has 204 states and 288 transitions. Word has length 91 [2022-04-27 13:06:32,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:06:32,087 INFO L495 AbstractCegarLoop]: Abstraction has 204 states and 288 transitions. [2022-04-27 13:06:32,087 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:06:32,087 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 288 transitions. [2022-04-27 13:06:32,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-27 13:06:32,088 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:06:32,088 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:06:32,104 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:06:32,303 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 13:06:32,303 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:06:32,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:06:32,304 INFO L85 PathProgramCache]: Analyzing trace with hash 703654790, now seen corresponding path program 4 times [2022-04-27 13:06:32,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:06:32,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1076569141] [2022-04-27 13:06:32,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:32,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:06:32,314 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:06:32,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [796155659] [2022-04-27 13:06:32,314 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 13:06:32,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:06:32,315 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:06:32,315 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 13:06:32,316 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 13:06:32,360 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 13:06:32,360 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:06:32,361 INFO L263 TraceCheckSpWp]: Trace formula consists of 232 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:06:32,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:32,377 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:06:32,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {8495#true} call ULTIMATE.init(); {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {8495#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); {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8495#true} {8495#true} #103#return; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {8495#true} call #t~ret6 := main(); {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {8495#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; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L272 TraceCheckUtils]: 6: Hoare triple {8495#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8495#true} {8495#true} #79#return; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {8495#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L272 TraceCheckUtils]: 12: Hoare triple {8495#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 15: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8495#true} {8495#true} #81#return; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L272 TraceCheckUtils]: 17: Hoare triple {8495#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 19: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8495#true} {8495#true} #83#return; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L272 TraceCheckUtils]: 22: Hoare triple {8495#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 23: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 24: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 25: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8495#true} {8495#true} #85#return; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 27: Hoare triple {8495#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; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L272 TraceCheckUtils]: 28: Hoare triple {8495#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 31: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8495#true} {8495#true} #87#return; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L272 TraceCheckUtils]: 33: Hoare triple {8495#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 34: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 35: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 36: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8495#true} {8495#true} #89#return; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 38: Hoare triple {8495#true} assume !false; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 39: Hoare triple {8495#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 40: Hoare triple {8495#true} assume !false; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L272 TraceCheckUtils]: 41: Hoare triple {8495#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 42: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 43: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 44: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8495#true} {8495#true} #91#return; {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L272 TraceCheckUtils]: 46: Hoare triple {8495#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,584 INFO L290 TraceCheckUtils]: 47: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 48: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 49: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8495#true} {8495#true} #93#return; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L272 TraceCheckUtils]: 51: Hoare triple {8495#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 52: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 53: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 54: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8495#true} {8495#true} #95#return; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L272 TraceCheckUtils]: 56: Hoare triple {8495#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)); {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 57: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 58: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L290 TraceCheckUtils]: 59: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,585 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8495#true} {8495#true} #97#return; {8495#true} is VALID [2022-04-27 13:06:32,594 INFO L290 TraceCheckUtils]: 61: Hoare triple {8495#true} assume !(~c~0 >= ~b~0); {8683#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:32,595 INFO L290 TraceCheckUtils]: 62: Hoare triple {8683#(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; {8687#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:06:32,595 INFO L290 TraceCheckUtils]: 63: Hoare triple {8687#(< main_~b~0 main_~a~0)} assume !false; {8687#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:06:32,595 INFO L290 TraceCheckUtils]: 64: Hoare triple {8687#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8694#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:32,595 INFO L290 TraceCheckUtils]: 65: Hoare triple {8694#(< main_~b~0 main_~c~0)} assume !false; {8694#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:32,595 INFO L272 TraceCheckUtils]: 66: Hoare triple {8694#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,596 INFO L290 TraceCheckUtils]: 67: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,596 INFO L290 TraceCheckUtils]: 68: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,596 INFO L290 TraceCheckUtils]: 69: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,596 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {8495#true} {8694#(< main_~b~0 main_~c~0)} #91#return; {8694#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:32,596 INFO L272 TraceCheckUtils]: 71: Hoare triple {8694#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,596 INFO L290 TraceCheckUtils]: 72: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,596 INFO L290 TraceCheckUtils]: 73: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,596 INFO L290 TraceCheckUtils]: 74: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,597 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {8495#true} {8694#(< main_~b~0 main_~c~0)} #93#return; {8694#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:32,597 INFO L272 TraceCheckUtils]: 76: Hoare triple {8694#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8495#true} is VALID [2022-04-27 13:06:32,597 INFO L290 TraceCheckUtils]: 77: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,597 INFO L290 TraceCheckUtils]: 78: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,597 INFO L290 TraceCheckUtils]: 79: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,598 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {8495#true} {8694#(< main_~b~0 main_~c~0)} #95#return; {8694#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:32,598 INFO L272 TraceCheckUtils]: 81: Hoare triple {8694#(< 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)); {8495#true} is VALID [2022-04-27 13:06:32,598 INFO L290 TraceCheckUtils]: 82: Hoare triple {8495#true} ~cond := #in~cond; {8495#true} is VALID [2022-04-27 13:06:32,598 INFO L290 TraceCheckUtils]: 83: Hoare triple {8495#true} assume !(0 == ~cond); {8495#true} is VALID [2022-04-27 13:06:32,598 INFO L290 TraceCheckUtils]: 84: Hoare triple {8495#true} assume true; {8495#true} is VALID [2022-04-27 13:06:32,598 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {8495#true} {8694#(< main_~b~0 main_~c~0)} #97#return; {8694#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 86: Hoare triple {8694#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 87: Hoare triple {8496#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; {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 88: Hoare triple {8496#false} assume !false; {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 89: Hoare triple {8496#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 90: Hoare triple {8496#false} assume !false; {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L272 TraceCheckUtils]: 91: Hoare triple {8496#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 92: Hoare triple {8496#false} ~cond := #in~cond; {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 93: Hoare triple {8496#false} assume !(0 == ~cond); {8496#false} is VALID [2022-04-27 13:06:32,599 INFO L290 TraceCheckUtils]: 94: Hoare triple {8496#false} assume true; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {8496#false} {8496#false} #91#return; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L272 TraceCheckUtils]: 96: Hoare triple {8496#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L290 TraceCheckUtils]: 97: Hoare triple {8496#false} ~cond := #in~cond; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L290 TraceCheckUtils]: 98: Hoare triple {8496#false} assume !(0 == ~cond); {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L290 TraceCheckUtils]: 99: Hoare triple {8496#false} assume true; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {8496#false} {8496#false} #93#return; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L272 TraceCheckUtils]: 101: Hoare triple {8496#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L290 TraceCheckUtils]: 102: Hoare triple {8496#false} ~cond := #in~cond; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L290 TraceCheckUtils]: 103: Hoare triple {8496#false} assume 0 == ~cond; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L290 TraceCheckUtils]: 104: Hoare triple {8496#false} assume !false; {8496#false} is VALID [2022-04-27 13:06:32,600 INFO L134 CoverageAnalysis]: Checked inductivity of 281 backedges. 101 proven. 0 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 13:06:32,600 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:06:32,601 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:06:32,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1076569141] [2022-04-27 13:06:32,601 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:06:32,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [796155659] [2022-04-27 13:06:32,601 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [796155659] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:06:32,601 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:06:32,601 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:06:32,601 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1975970615] [2022-04-27 13:06:32,601 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:06:32,601 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 105 [2022-04-27 13:06:32,602 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:06:32,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-27 13:06:32,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:32,646 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:06:32,646 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:06:32,646 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:06:32,646 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:06:32,647 INFO L87 Difference]: Start difference. First operand 204 states and 288 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-27 13:06:33,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:33,102 INFO L93 Difference]: Finished difference Result 257 states and 360 transitions. [2022-04-27 13:06:33,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:06:33,103 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 105 [2022-04-27 13:06:33,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:06:33,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-27 13:06:33,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-27 13:06:33,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-27 13:06:33,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-27 13:06:33,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 90 transitions. [2022-04-27 13:06:33,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:33,178 INFO L225 Difference]: With dead ends: 257 [2022-04-27 13:06:33,178 INFO L226 Difference]: Without dead ends: 185 [2022-04-27 13:06:33,181 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 101 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 13:06:33,182 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 6 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 161 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 13:06:33,182 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 161 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:06:33,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-27 13:06:33,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 171. [2022-04-27 13:06:33,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:06:33,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 171 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 91 states have internal predecessors, (103), 65 states have call successors, (65), 16 states have call predecessors, (65), 15 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:06:33,416 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 171 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 91 states have internal predecessors, (103), 65 states have call successors, (65), 16 states have call predecessors, (65), 15 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:06:33,416 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 171 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 91 states have internal predecessors, (103), 65 states have call successors, (65), 16 states have call predecessors, (65), 15 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:06:33,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:33,420 INFO L93 Difference]: Finished difference Result 185 states and 250 transitions. [2022-04-27 13:06:33,420 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 250 transitions. [2022-04-27 13:06:33,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:33,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:33,421 INFO L74 IsIncluded]: Start isIncluded. First operand has 171 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 91 states have internal predecessors, (103), 65 states have call successors, (65), 16 states have call predecessors, (65), 15 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) Second operand 185 states. [2022-04-27 13:06:33,422 INFO L87 Difference]: Start difference. First operand has 171 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 91 states have internal predecessors, (103), 65 states have call successors, (65), 16 states have call predecessors, (65), 15 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) Second operand 185 states. [2022-04-27 13:06:33,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:33,426 INFO L93 Difference]: Finished difference Result 185 states and 250 transitions. [2022-04-27 13:06:33,426 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 250 transitions. [2022-04-27 13:06:33,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:33,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:33,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:06:33,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:06:33,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 171 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 91 states have internal predecessors, (103), 65 states have call successors, (65), 16 states have call predecessors, (65), 15 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:06:33,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 231 transitions. [2022-04-27 13:06:33,430 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 231 transitions. Word has length 105 [2022-04-27 13:06:33,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:06:33,431 INFO L495 AbstractCegarLoop]: Abstraction has 171 states and 231 transitions. [2022-04-27 13:06:33,431 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-27 13:06:33,431 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 231 transitions. [2022-04-27 13:06:33,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-27 13:06:33,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:06:33,432 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:06:33,448 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 13:06:33,645 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 13:06:33,645 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:06:33,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:06:33,646 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 1 times [2022-04-27 13:06:33,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:06:33,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1193860645] [2022-04-27 13:06:33,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:33,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:06:33,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:06:33,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [525173307] [2022-04-27 13:06:33,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:33,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:06:33,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:06:33,660 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 13:06:33,662 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 13:06:33,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:33,711 INFO L263 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:06:33,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:33,726 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:06:34,137 INFO L272 TraceCheckUtils]: 0: Hoare triple {9867#true} call ULTIMATE.init(); {9867#true} is VALID [2022-04-27 13:06:34,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {9867#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); {9867#true} is VALID [2022-04-27 13:06:34,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9867#true} {9867#true} #103#return; {9867#true} is VALID [2022-04-27 13:06:34,138 INFO L272 TraceCheckUtils]: 4: Hoare triple {9867#true} call #t~ret6 := main(); {9867#true} is VALID [2022-04-27 13:06:34,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {9867#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; {9867#true} is VALID [2022-04-27 13:06:34,138 INFO L272 TraceCheckUtils]: 6: Hoare triple {9867#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {9867#true} ~cond := #in~cond; {9893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:06:34,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {9893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:34,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {9897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:34,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9897#(not (= |assume_abort_if_not_#in~cond| 0))} {9867#true} #79#return; {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:06:34,140 INFO L290 TraceCheckUtils]: 11: Hoare triple {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:06:34,140 INFO L272 TraceCheckUtils]: 12: Hoare triple {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,140 INFO L290 TraceCheckUtils]: 14: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,140 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9867#true} {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:06:34,140 INFO L272 TraceCheckUtils]: 17: Hoare triple {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,140 INFO L290 TraceCheckUtils]: 18: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,140 INFO L290 TraceCheckUtils]: 20: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,141 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9867#true} {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:06:34,141 INFO L272 TraceCheckUtils]: 22: Hoare triple {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,141 INFO L290 TraceCheckUtils]: 24: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,141 INFO L290 TraceCheckUtils]: 25: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,141 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9867#true} {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:06:34,142 INFO L290 TraceCheckUtils]: 27: Hoare triple {9904#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,142 INFO L272 TraceCheckUtils]: 28: Hoare triple {9956#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,142 INFO L290 TraceCheckUtils]: 29: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,142 INFO L290 TraceCheckUtils]: 30: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,142 INFO L290 TraceCheckUtils]: 31: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,143 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9867#true} {9956#(<= main_~a~0 2)} #87#return; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,143 INFO L272 TraceCheckUtils]: 33: Hoare triple {9956#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,143 INFO L290 TraceCheckUtils]: 34: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,143 INFO L290 TraceCheckUtils]: 35: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,143 INFO L290 TraceCheckUtils]: 36: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,143 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9867#true} {9956#(<= main_~a~0 2)} #89#return; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,143 INFO L290 TraceCheckUtils]: 38: Hoare triple {9956#(<= main_~a~0 2)} assume !false; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,144 INFO L290 TraceCheckUtils]: 39: Hoare triple {9956#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,144 INFO L290 TraceCheckUtils]: 40: Hoare triple {9993#(<= main_~c~0 2)} assume !false; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,144 INFO L272 TraceCheckUtils]: 41: Hoare triple {9993#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,144 INFO L290 TraceCheckUtils]: 42: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,144 INFO L290 TraceCheckUtils]: 43: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,144 INFO L290 TraceCheckUtils]: 44: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,145 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #91#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,145 INFO L272 TraceCheckUtils]: 46: Hoare triple {9993#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,145 INFO L290 TraceCheckUtils]: 47: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,145 INFO L290 TraceCheckUtils]: 48: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,145 INFO L290 TraceCheckUtils]: 49: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,145 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #93#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,145 INFO L272 TraceCheckUtils]: 51: Hoare triple {9993#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,146 INFO L290 TraceCheckUtils]: 52: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,146 INFO L290 TraceCheckUtils]: 53: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,146 INFO L290 TraceCheckUtils]: 54: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,146 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #95#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,146 INFO L272 TraceCheckUtils]: 56: Hoare triple {9993#(<= main_~c~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)); {9867#true} is VALID [2022-04-27 13:06:34,146 INFO L290 TraceCheckUtils]: 57: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,146 INFO L290 TraceCheckUtils]: 58: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,146 INFO L290 TraceCheckUtils]: 59: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,147 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #97#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,148 INFO L290 TraceCheckUtils]: 61: Hoare triple {9993#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-27 13:06:34,148 INFO L290 TraceCheckUtils]: 62: Hoare triple {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} assume !false; {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-27 13:06:34,148 INFO L272 TraceCheckUtils]: 63: Hoare triple {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,148 INFO L290 TraceCheckUtils]: 64: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,148 INFO L290 TraceCheckUtils]: 65: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,148 INFO L290 TraceCheckUtils]: 66: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,151 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9867#true} {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #91#return; {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-27 13:06:34,151 INFO L272 TraceCheckUtils]: 68: Hoare triple {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,151 INFO L290 TraceCheckUtils]: 69: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,151 INFO L290 TraceCheckUtils]: 70: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,151 INFO L290 TraceCheckUtils]: 71: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,152 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9867#true} {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #93#return; {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-27 13:06:34,166 INFO L272 TraceCheckUtils]: 73: Hoare triple {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,166 INFO L290 TraceCheckUtils]: 74: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,166 INFO L290 TraceCheckUtils]: 75: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,166 INFO L290 TraceCheckUtils]: 76: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,167 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9867#true} {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #95#return; {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-27 13:06:34,167 INFO L272 TraceCheckUtils]: 78: Hoare triple {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~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)); {9867#true} is VALID [2022-04-27 13:06:34,167 INFO L290 TraceCheckUtils]: 79: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,167 INFO L290 TraceCheckUtils]: 80: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,167 INFO L290 TraceCheckUtils]: 81: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,168 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9867#true} {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #97#return; {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-27 13:06:34,168 INFO L290 TraceCheckUtils]: 83: Hoare triple {10060#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} assume !(~c~0 >= ~b~0); {10127#(and (< (* main_~c~0 2) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:06:34,169 INFO L290 TraceCheckUtils]: 84: Hoare triple {10127#(and (< (* main_~c~0 2) 2) (<= 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; {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-27 13:06:34,169 INFO L290 TraceCheckUtils]: 85: Hoare triple {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !false; {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-27 13:06:34,169 INFO L290 TraceCheckUtils]: 86: Hoare triple {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9868#false} is VALID [2022-04-27 13:06:34,169 INFO L290 TraceCheckUtils]: 87: Hoare triple {9868#false} assume !false; {9868#false} is VALID [2022-04-27 13:06:34,169 INFO L272 TraceCheckUtils]: 88: Hoare triple {9868#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9868#false} is VALID [2022-04-27 13:06:34,169 INFO L290 TraceCheckUtils]: 89: Hoare triple {9868#false} ~cond := #in~cond; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 90: Hoare triple {9868#false} assume !(0 == ~cond); {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 91: Hoare triple {9868#false} assume true; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9868#false} {9868#false} #91#return; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L272 TraceCheckUtils]: 93: Hoare triple {9868#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 94: Hoare triple {9868#false} ~cond := #in~cond; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 95: Hoare triple {9868#false} assume !(0 == ~cond); {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 96: Hoare triple {9868#false} assume true; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9868#false} {9868#false} #93#return; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L272 TraceCheckUtils]: 98: Hoare triple {9868#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 99: Hoare triple {9868#false} ~cond := #in~cond; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 100: Hoare triple {9868#false} assume !(0 == ~cond); {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 101: Hoare triple {9868#false} assume true; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {9868#false} {9868#false} #95#return; {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L272 TraceCheckUtils]: 103: Hoare triple {9868#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)); {9868#false} is VALID [2022-04-27 13:06:34,170 INFO L290 TraceCheckUtils]: 104: Hoare triple {9868#false} ~cond := #in~cond; {9868#false} is VALID [2022-04-27 13:06:34,171 INFO L290 TraceCheckUtils]: 105: Hoare triple {9868#false} assume 0 == ~cond; {9868#false} is VALID [2022-04-27 13:06:34,171 INFO L290 TraceCheckUtils]: 106: Hoare triple {9868#false} assume !false; {9868#false} is VALID [2022-04-27 13:06:34,171 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 122 proven. 23 refuted. 0 times theorem prover too weak. 175 trivial. 0 not checked. [2022-04-27 13:06:34,171 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:06:34,640 INFO L290 TraceCheckUtils]: 106: Hoare triple {9868#false} assume !false; {9868#false} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 105: Hoare triple {9868#false} assume 0 == ~cond; {9868#false} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 104: Hoare triple {9868#false} ~cond := #in~cond; {9868#false} is VALID [2022-04-27 13:06:34,641 INFO L272 TraceCheckUtils]: 103: Hoare triple {9868#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)); {9868#false} is VALID [2022-04-27 13:06:34,641 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {9867#true} {9868#false} #95#return; {9868#false} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 101: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 100: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 99: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L272 TraceCheckUtils]: 98: Hoare triple {9868#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9867#true} {9868#false} #93#return; {9868#false} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 96: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 95: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L290 TraceCheckUtils]: 94: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L272 TraceCheckUtils]: 93: Hoare triple {9868#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,641 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9867#true} {9868#false} #91#return; {9868#false} is VALID [2022-04-27 13:06:34,642 INFO L290 TraceCheckUtils]: 91: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,642 INFO L290 TraceCheckUtils]: 90: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,642 INFO L290 TraceCheckUtils]: 89: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,642 INFO L272 TraceCheckUtils]: 88: Hoare triple {9868#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,642 INFO L290 TraceCheckUtils]: 87: Hoare triple {9868#false} assume !false; {9868#false} is VALID [2022-04-27 13:06:34,642 INFO L290 TraceCheckUtils]: 86: Hoare triple {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9868#false} is VALID [2022-04-27 13:06:34,651 INFO L290 TraceCheckUtils]: 85: Hoare triple {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !false; {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-27 13:06:34,652 INFO L290 TraceCheckUtils]: 84: Hoare triple {10127#(and (< (* main_~c~0 2) 2) (<= 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; {10131#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-27 13:06:34,652 INFO L290 TraceCheckUtils]: 83: Hoare triple {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {10127#(and (< (* main_~c~0 2) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:06:34,653 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9867#true} {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #97#return; {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:34,653 INFO L290 TraceCheckUtils]: 81: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,653 INFO L290 TraceCheckUtils]: 80: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,653 INFO L290 TraceCheckUtils]: 79: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,653 INFO L272 TraceCheckUtils]: 78: Hoare triple {10267#(or (and (< (* main_~c~0 2) 2) (<= 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)); {9867#true} is VALID [2022-04-27 13:06:34,654 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9867#true} {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #95#return; {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:34,654 INFO L290 TraceCheckUtils]: 76: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,654 INFO L290 TraceCheckUtils]: 75: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,654 INFO L290 TraceCheckUtils]: 74: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,654 INFO L272 TraceCheckUtils]: 73: Hoare triple {10267#(or (and (< (* main_~c~0 2) 2) (<= 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)); {9867#true} is VALID [2022-04-27 13:06:34,655 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9867#true} {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #93#return; {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:34,655 INFO L290 TraceCheckUtils]: 71: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,655 INFO L290 TraceCheckUtils]: 70: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,655 INFO L290 TraceCheckUtils]: 69: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,655 INFO L272 TraceCheckUtils]: 68: Hoare triple {10267#(or (and (< (* main_~c~0 2) 2) (<= 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)); {9867#true} is VALID [2022-04-27 13:06:34,655 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9867#true} {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #91#return; {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:34,656 INFO L290 TraceCheckUtils]: 66: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,656 INFO L290 TraceCheckUtils]: 65: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,656 INFO L290 TraceCheckUtils]: 64: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,656 INFO L272 TraceCheckUtils]: 63: Hoare triple {10267#(or (and (< (* main_~c~0 2) 2) (<= 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)); {9867#true} is VALID [2022-04-27 13:06:34,656 INFO L290 TraceCheckUtils]: 62: Hoare triple {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !false; {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:34,657 INFO L290 TraceCheckUtils]: 61: Hoare triple {9993#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {10267#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:34,657 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #97#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,657 INFO L290 TraceCheckUtils]: 59: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,658 INFO L290 TraceCheckUtils]: 57: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,658 INFO L272 TraceCheckUtils]: 56: Hoare triple {9993#(<= main_~c~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)); {9867#true} is VALID [2022-04-27 13:06:34,658 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #95#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,659 INFO L290 TraceCheckUtils]: 54: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,659 INFO L290 TraceCheckUtils]: 53: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,659 INFO L290 TraceCheckUtils]: 52: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,659 INFO L272 TraceCheckUtils]: 51: Hoare triple {9993#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,659 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #93#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,659 INFO L290 TraceCheckUtils]: 49: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,659 INFO L290 TraceCheckUtils]: 48: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,659 INFO L290 TraceCheckUtils]: 47: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,659 INFO L272 TraceCheckUtils]: 46: Hoare triple {9993#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,660 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9867#true} {9993#(<= main_~c~0 2)} #91#return; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,660 INFO L290 TraceCheckUtils]: 44: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,660 INFO L290 TraceCheckUtils]: 43: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,660 INFO L290 TraceCheckUtils]: 42: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,660 INFO L272 TraceCheckUtils]: 41: Hoare triple {9993#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,660 INFO L290 TraceCheckUtils]: 40: Hoare triple {9993#(<= main_~c~0 2)} assume !false; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,661 INFO L290 TraceCheckUtils]: 39: Hoare triple {9956#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9993#(<= main_~c~0 2)} is VALID [2022-04-27 13:06:34,661 INFO L290 TraceCheckUtils]: 38: Hoare triple {9956#(<= main_~a~0 2)} assume !false; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,661 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9867#true} {9956#(<= main_~a~0 2)} #89#return; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,661 INFO L290 TraceCheckUtils]: 36: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,661 INFO L290 TraceCheckUtils]: 35: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,661 INFO L290 TraceCheckUtils]: 34: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,662 INFO L272 TraceCheckUtils]: 33: Hoare triple {9956#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,662 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9867#true} {9956#(<= main_~a~0 2)} #87#return; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,662 INFO L272 TraceCheckUtils]: 28: Hoare triple {9956#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {10436#(<= main_~x~0 2)} ~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; {9956#(<= main_~a~0 2)} is VALID [2022-04-27 13:06:34,663 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9867#true} {10436#(<= main_~x~0 2)} #85#return; {10436#(<= main_~x~0 2)} is VALID [2022-04-27 13:06:34,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,663 INFO L272 TraceCheckUtils]: 22: Hoare triple {10436#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,663 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9867#true} {10436#(<= main_~x~0 2)} #83#return; {10436#(<= main_~x~0 2)} is VALID [2022-04-27 13:06:34,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L290 TraceCheckUtils]: 19: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L272 TraceCheckUtils]: 17: Hoare triple {10436#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9867#true} {10436#(<= main_~x~0 2)} #81#return; {10436#(<= main_~x~0 2)} is VALID [2022-04-27 13:06:34,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {9867#true} assume !(0 == ~cond); {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {9867#true} ~cond := #in~cond; {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L272 TraceCheckUtils]: 12: Hoare triple {10436#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {10436#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10436#(<= main_~x~0 2)} is VALID [2022-04-27 13:06:34,665 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9897#(not (= |assume_abort_if_not_#in~cond| 0))} {9867#true} #79#return; {10436#(<= main_~x~0 2)} is VALID [2022-04-27 13:06:34,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {9897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:34,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {10497#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:34,666 INFO L290 TraceCheckUtils]: 7: Hoare triple {9867#true} ~cond := #in~cond; {10497#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:06:34,666 INFO L272 TraceCheckUtils]: 6: Hoare triple {9867#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9867#true} is VALID [2022-04-27 13:06:34,666 INFO L290 TraceCheckUtils]: 5: Hoare triple {9867#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; {9867#true} is VALID [2022-04-27 13:06:34,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {9867#true} call #t~ret6 := main(); {9867#true} is VALID [2022-04-27 13:06:34,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9867#true} {9867#true} #103#return; {9867#true} is VALID [2022-04-27 13:06:34,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {9867#true} assume true; {9867#true} is VALID [2022-04-27 13:06:34,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {9867#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); {9867#true} is VALID [2022-04-27 13:06:34,666 INFO L272 TraceCheckUtils]: 0: Hoare triple {9867#true} call ULTIMATE.init(); {9867#true} is VALID [2022-04-27 13:06:34,667 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 32 proven. 23 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-27 13:06:34,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:06:34,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1193860645] [2022-04-27 13:06:34,667 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:06:34,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [525173307] [2022-04-27 13:06:34,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [525173307] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:06:34,667 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:06:34,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 13 [2022-04-27 13:06:34,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [267466043] [2022-04-27 13:06:34,667 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:06:34,668 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) Word has length 107 [2022-04-27 13:06:34,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:06:34,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:06:34,753 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:34,753 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:06:34,753 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:06:34,754 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:06:34,754 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:06:34,754 INFO L87 Difference]: Start difference. First operand 171 states and 231 transitions. Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:06:35,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:35,947 INFO L93 Difference]: Finished difference Result 215 states and 287 transitions. [2022-04-27 13:06:35,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-27 13:06:35,947 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) Word has length 107 [2022-04-27 13:06:35,947 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:06:35,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:06:35,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2022-04-27 13:06:35,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:06:35,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2022-04-27 13:06:35,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 121 transitions. [2022-04-27 13:06:36,057 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:36,059 INFO L225 Difference]: With dead ends: 215 [2022-04-27 13:06:36,059 INFO L226 Difference]: Without dead ends: 144 [2022-04-27 13:06:36,060 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 225 GetRequests, 200 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=144, Invalid=456, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:06:36,060 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 50 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 237 mSolverCounterSat, 85 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 278 SdHoareTripleChecker+Invalid, 322 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 85 IncrementalHoareTripleChecker+Valid, 237 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:06:36,060 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 278 Invalid, 322 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [85 Valid, 237 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:06:36,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-27 13:06:36,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 142. [2022-04-27 13:06:36,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:06:36,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 142 states, 75 states have (on average 1.12) internal successors, (84), 76 states have internal predecessors, (84), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:36,316 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 142 states, 75 states have (on average 1.12) internal successors, (84), 76 states have internal predecessors, (84), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:36,316 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 142 states, 75 states have (on average 1.12) internal successors, (84), 76 states have internal predecessors, (84), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:36,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:36,319 INFO L93 Difference]: Finished difference Result 144 states and 190 transitions. [2022-04-27 13:06:36,319 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 190 transitions. [2022-04-27 13:06:36,319 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:36,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:36,320 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 75 states have (on average 1.12) internal successors, (84), 76 states have internal predecessors, (84), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 144 states. [2022-04-27 13:06:36,320 INFO L87 Difference]: Start difference. First operand has 142 states, 75 states have (on average 1.12) internal successors, (84), 76 states have internal predecessors, (84), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 144 states. [2022-04-27 13:06:36,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:36,323 INFO L93 Difference]: Finished difference Result 144 states and 190 transitions. [2022-04-27 13:06:36,323 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 190 transitions. [2022-04-27 13:06:36,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:36,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:36,323 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:06:36,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:06:36,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 75 states have (on average 1.12) internal successors, (84), 76 states have internal predecessors, (84), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:36,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 188 transitions. [2022-04-27 13:06:36,326 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 188 transitions. Word has length 107 [2022-04-27 13:06:36,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:06:36,326 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 188 transitions. [2022-04-27 13:06:36,326 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:06:36,326 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 188 transitions. [2022-04-27 13:06:36,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-27 13:06:36,327 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:06:36,327 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 6, 6, 6, 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, 1, 1, 1, 1, 1] [2022-04-27 13:06:36,347 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-27 13:06:36,547 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 13:06:36,549 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:06:36,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:06:36,550 INFO L85 PathProgramCache]: Analyzing trace with hash 541794983, now seen corresponding path program 2 times [2022-04-27 13:06:36,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:06:36,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1941448901] [2022-04-27 13:06:36,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:36,550 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:06:36,560 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:06:36,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [43948855] [2022-04-27 13:06:36,561 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:06:36,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:06:36,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:06:36,561 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 13:06:36,562 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 13:06:36,616 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:06:36,617 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:06:36,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 313 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:06:36,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:36,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:06:37,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {11394#true} call ULTIMATE.init(); {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L290 TraceCheckUtils]: 1: Hoare triple {11394#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); {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L290 TraceCheckUtils]: 2: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11394#true} {11394#true} #103#return; {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L272 TraceCheckUtils]: 4: Hoare triple {11394#true} call #t~ret6 := main(); {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L290 TraceCheckUtils]: 5: Hoare triple {11394#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; {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L272 TraceCheckUtils]: 6: Hoare triple {11394#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11394#true} {11394#true} #79#return; {11394#true} is VALID [2022-04-27 13:06:37,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {11394#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11394#true} is VALID [2022-04-27 13:06:37,092 INFO L272 TraceCheckUtils]: 12: Hoare triple {11394#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {11394#true} ~cond := #in~cond; {11438#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:06:37,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {11438#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11442#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:37,094 INFO L290 TraceCheckUtils]: 15: Hoare triple {11442#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11442#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:37,094 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11442#(not (= |assume_abort_if_not_#in~cond| 0))} {11394#true} #81#return; {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:06:37,094 INFO L272 TraceCheckUtils]: 17: Hoare triple {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,095 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11394#true} {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:06:37,095 INFO L272 TraceCheckUtils]: 22: Hoare triple {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,096 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11394#true} {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:06:37,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {11449#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,096 INFO L272 TraceCheckUtils]: 28: Hoare triple {11483#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,096 INFO L290 TraceCheckUtils]: 29: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,096 INFO L290 TraceCheckUtils]: 30: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,096 INFO L290 TraceCheckUtils]: 31: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,097 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #87#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,097 INFO L272 TraceCheckUtils]: 33: Hoare triple {11483#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,097 INFO L290 TraceCheckUtils]: 35: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,097 INFO L290 TraceCheckUtils]: 36: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,097 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #89#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,097 INFO L290 TraceCheckUtils]: 38: Hoare triple {11483#(<= main_~b~0 2)} assume !false; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,098 INFO L290 TraceCheckUtils]: 39: Hoare triple {11483#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,098 INFO L290 TraceCheckUtils]: 40: Hoare triple {11483#(<= main_~b~0 2)} assume !false; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,098 INFO L272 TraceCheckUtils]: 41: Hoare triple {11483#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,098 INFO L290 TraceCheckUtils]: 42: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,098 INFO L290 TraceCheckUtils]: 43: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,098 INFO L290 TraceCheckUtils]: 44: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,098 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #91#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,099 INFO L272 TraceCheckUtils]: 46: Hoare triple {11483#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,099 INFO L290 TraceCheckUtils]: 47: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,099 INFO L290 TraceCheckUtils]: 48: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,099 INFO L290 TraceCheckUtils]: 49: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,099 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #93#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,099 INFO L272 TraceCheckUtils]: 51: Hoare triple {11483#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,099 INFO L290 TraceCheckUtils]: 52: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,099 INFO L290 TraceCheckUtils]: 53: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,099 INFO L290 TraceCheckUtils]: 54: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,100 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #95#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,100 INFO L272 TraceCheckUtils]: 56: Hoare triple {11483#(<= 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)); {11394#true} is VALID [2022-04-27 13:06:37,100 INFO L290 TraceCheckUtils]: 57: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,100 INFO L290 TraceCheckUtils]: 58: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,100 INFO L290 TraceCheckUtils]: 59: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,101 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #97#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,101 INFO L290 TraceCheckUtils]: 61: Hoare triple {11483#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {11586#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:06:37,102 INFO L290 TraceCheckUtils]: 62: Hoare triple {11586#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11590#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,102 INFO L290 TraceCheckUtils]: 63: Hoare triple {11590#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !false; {11590#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,102 INFO L290 TraceCheckUtils]: 64: Hoare triple {11590#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,102 INFO L290 TraceCheckUtils]: 65: Hoare triple {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !false; {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,103 INFO L272 TraceCheckUtils]: 66: Hoare triple {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,103 INFO L290 TraceCheckUtils]: 67: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,103 INFO L290 TraceCheckUtils]: 68: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,103 INFO L290 TraceCheckUtils]: 69: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,103 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {11394#true} {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #91#return; {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,103 INFO L272 TraceCheckUtils]: 71: Hoare triple {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,103 INFO L290 TraceCheckUtils]: 72: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,103 INFO L290 TraceCheckUtils]: 73: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,103 INFO L290 TraceCheckUtils]: 74: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,104 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {11394#true} {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #93#return; {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,104 INFO L272 TraceCheckUtils]: 76: Hoare triple {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,104 INFO L290 TraceCheckUtils]: 77: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,104 INFO L290 TraceCheckUtils]: 78: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,104 INFO L290 TraceCheckUtils]: 79: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,105 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {11394#true} {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #95#return; {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,105 INFO L272 TraceCheckUtils]: 81: Hoare triple {11597#(and (< main_~b~0 main_~c~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)); {11394#true} is VALID [2022-04-27 13:06:37,105 INFO L290 TraceCheckUtils]: 82: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,105 INFO L290 TraceCheckUtils]: 83: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,105 INFO L290 TraceCheckUtils]: 84: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,105 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {11394#true} {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #97#return; {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,106 INFO L290 TraceCheckUtils]: 86: Hoare triple {11597#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,106 INFO L290 TraceCheckUtils]: 87: Hoare triple {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} assume !false; {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,107 INFO L272 TraceCheckUtils]: 88: Hoare triple {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,107 INFO L290 TraceCheckUtils]: 89: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,107 INFO L290 TraceCheckUtils]: 90: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,107 INFO L290 TraceCheckUtils]: 91: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,107 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11394#true} {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} #91#return; {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,107 INFO L272 TraceCheckUtils]: 93: Hoare triple {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,107 INFO L290 TraceCheckUtils]: 94: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,107 INFO L290 TraceCheckUtils]: 95: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,107 INFO L290 TraceCheckUtils]: 96: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,108 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11394#true} {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} #93#return; {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,108 INFO L272 TraceCheckUtils]: 98: Hoare triple {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,108 INFO L290 TraceCheckUtils]: 99: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,108 INFO L290 TraceCheckUtils]: 100: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,108 INFO L290 TraceCheckUtils]: 101: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,109 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11394#true} {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} #95#return; {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,109 INFO L272 TraceCheckUtils]: 103: Hoare triple {11664#(and (< 0 main_~c~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)); {11394#true} is VALID [2022-04-27 13:06:37,109 INFO L290 TraceCheckUtils]: 104: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,109 INFO L290 TraceCheckUtils]: 105: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,109 INFO L290 TraceCheckUtils]: 106: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,109 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {11394#true} {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} #97#return; {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 108: Hoare triple {11664#(and (< 0 main_~c~0) (< main_~b~0 2))} assume !(~c~0 >= ~b~0); {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 109: Hoare triple {11395#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; {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 110: Hoare triple {11395#false} assume !false; {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 111: Hoare triple {11395#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 112: Hoare triple {11395#false} assume !false; {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L272 TraceCheckUtils]: 113: Hoare triple {11395#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 114: Hoare triple {11395#false} ~cond := #in~cond; {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 115: Hoare triple {11395#false} assume !(0 == ~cond); {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 116: Hoare triple {11395#false} assume true; {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {11395#false} {11395#false} #91#return; {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L272 TraceCheckUtils]: 118: Hoare triple {11395#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11395#false} is VALID [2022-04-27 13:06:37,110 INFO L290 TraceCheckUtils]: 119: Hoare triple {11395#false} ~cond := #in~cond; {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L290 TraceCheckUtils]: 120: Hoare triple {11395#false} assume !(0 == ~cond); {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L290 TraceCheckUtils]: 121: Hoare triple {11395#false} assume true; {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {11395#false} {11395#false} #93#return; {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L272 TraceCheckUtils]: 123: Hoare triple {11395#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L290 TraceCheckUtils]: 124: Hoare triple {11395#false} ~cond := #in~cond; {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L290 TraceCheckUtils]: 125: Hoare triple {11395#false} assume 0 == ~cond; {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L290 TraceCheckUtils]: 126: Hoare triple {11395#false} assume !false; {11395#false} is VALID [2022-04-27 13:06:37,111 INFO L134 CoverageAnalysis]: Checked inductivity of 489 backedges. 154 proven. 18 refuted. 0 times theorem prover too weak. 317 trivial. 0 not checked. [2022-04-27 13:06:37,111 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:06:37,564 INFO L290 TraceCheckUtils]: 126: Hoare triple {11395#false} assume !false; {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 125: Hoare triple {11395#false} assume 0 == ~cond; {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 124: Hoare triple {11395#false} ~cond := #in~cond; {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L272 TraceCheckUtils]: 123: Hoare triple {11395#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {11394#true} {11395#false} #93#return; {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 121: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 120: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 119: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L272 TraceCheckUtils]: 118: Hoare triple {11395#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {11394#true} {11395#false} #91#return; {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 116: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 115: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 114: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L272 TraceCheckUtils]: 113: Hoare triple {11395#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 112: Hoare triple {11395#false} assume !false; {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 111: Hoare triple {11395#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11395#false} is VALID [2022-04-27 13:06:37,565 INFO L290 TraceCheckUtils]: 110: Hoare triple {11395#false} assume !false; {11395#false} is VALID [2022-04-27 13:06:37,566 INFO L290 TraceCheckUtils]: 109: Hoare triple {11395#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; {11395#false} is VALID [2022-04-27 13:06:37,566 INFO L290 TraceCheckUtils]: 108: Hoare triple {11839#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {11395#false} is VALID [2022-04-27 13:06:37,566 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {11394#true} {11839#(<= main_~b~0 main_~c~0)} #97#return; {11839#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:37,566 INFO L290 TraceCheckUtils]: 106: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,567 INFO L290 TraceCheckUtils]: 105: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,567 INFO L290 TraceCheckUtils]: 104: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,567 INFO L272 TraceCheckUtils]: 103: Hoare triple {11839#(<= 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)); {11394#true} is VALID [2022-04-27 13:06:37,567 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11394#true} {11839#(<= main_~b~0 main_~c~0)} #95#return; {11839#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:37,567 INFO L290 TraceCheckUtils]: 101: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,567 INFO L290 TraceCheckUtils]: 100: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,567 INFO L290 TraceCheckUtils]: 99: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,567 INFO L272 TraceCheckUtils]: 98: Hoare triple {11839#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,568 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11394#true} {11839#(<= main_~b~0 main_~c~0)} #93#return; {11839#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:37,568 INFO L290 TraceCheckUtils]: 96: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,568 INFO L290 TraceCheckUtils]: 95: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,568 INFO L290 TraceCheckUtils]: 94: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,568 INFO L272 TraceCheckUtils]: 93: Hoare triple {11839#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,569 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11394#true} {11839#(<= main_~b~0 main_~c~0)} #91#return; {11839#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:37,569 INFO L290 TraceCheckUtils]: 91: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,569 INFO L290 TraceCheckUtils]: 90: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,569 INFO L290 TraceCheckUtils]: 89: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,569 INFO L272 TraceCheckUtils]: 88: Hoare triple {11839#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,569 INFO L290 TraceCheckUtils]: 87: Hoare triple {11839#(<= main_~b~0 main_~c~0)} assume !false; {11839#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:37,570 INFO L290 TraceCheckUtils]: 86: Hoare triple {11906#(<= (* main_~b~0 2) main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11839#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:37,571 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {11394#true} {11906#(<= (* main_~b~0 2) main_~c~0)} #97#return; {11906#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-27 13:06:37,571 INFO L290 TraceCheckUtils]: 84: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,571 INFO L290 TraceCheckUtils]: 83: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,571 INFO L290 TraceCheckUtils]: 82: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,571 INFO L272 TraceCheckUtils]: 81: Hoare triple {11906#(<= (* main_~b~0 2) 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)); {11394#true} is VALID [2022-04-27 13:06:37,571 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {11394#true} {11906#(<= (* main_~b~0 2) main_~c~0)} #95#return; {11906#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-27 13:06:37,571 INFO L290 TraceCheckUtils]: 79: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,572 INFO L290 TraceCheckUtils]: 78: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,572 INFO L290 TraceCheckUtils]: 77: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,572 INFO L272 TraceCheckUtils]: 76: Hoare triple {11906#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,572 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {11394#true} {11906#(<= (* main_~b~0 2) main_~c~0)} #93#return; {11906#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-27 13:06:37,572 INFO L290 TraceCheckUtils]: 74: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,572 INFO L290 TraceCheckUtils]: 73: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,572 INFO L290 TraceCheckUtils]: 72: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,572 INFO L272 TraceCheckUtils]: 71: Hoare triple {11906#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,573 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {11394#true} {11906#(<= (* main_~b~0 2) main_~c~0)} #91#return; {11906#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-27 13:06:37,573 INFO L290 TraceCheckUtils]: 69: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,573 INFO L290 TraceCheckUtils]: 68: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,573 INFO L290 TraceCheckUtils]: 67: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,573 INFO L272 TraceCheckUtils]: 66: Hoare triple {11906#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,573 INFO L290 TraceCheckUtils]: 65: Hoare triple {11906#(<= (* main_~b~0 2) main_~c~0)} assume !false; {11906#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-27 13:06:37,574 INFO L290 TraceCheckUtils]: 64: Hoare triple {11973#(<= (* main_~b~0 2) main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11906#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-27 13:06:37,574 INFO L290 TraceCheckUtils]: 63: Hoare triple {11973#(<= (* main_~b~0 2) main_~a~0)} assume !false; {11973#(<= (* main_~b~0 2) main_~a~0)} is VALID [2022-04-27 13:06:37,575 INFO L290 TraceCheckUtils]: 62: Hoare triple {11980#(<= main_~c~0 (div main_~b~0 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11973#(<= (* main_~b~0 2) main_~a~0)} is VALID [2022-04-27 13:06:37,575 INFO L290 TraceCheckUtils]: 61: Hoare triple {11483#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {11980#(<= main_~c~0 (div main_~b~0 2))} is VALID [2022-04-27 13:06:37,576 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #97#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,576 INFO L290 TraceCheckUtils]: 59: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,576 INFO L290 TraceCheckUtils]: 58: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,576 INFO L290 TraceCheckUtils]: 57: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,576 INFO L272 TraceCheckUtils]: 56: Hoare triple {11483#(<= 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)); {11394#true} is VALID [2022-04-27 13:06:37,577 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #95#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,577 INFO L290 TraceCheckUtils]: 54: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,577 INFO L290 TraceCheckUtils]: 53: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,577 INFO L290 TraceCheckUtils]: 52: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,577 INFO L272 TraceCheckUtils]: 51: Hoare triple {11483#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,577 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #93#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,577 INFO L290 TraceCheckUtils]: 49: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,577 INFO L290 TraceCheckUtils]: 48: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,578 INFO L290 TraceCheckUtils]: 47: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,578 INFO L272 TraceCheckUtils]: 46: Hoare triple {11483#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,578 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #91#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,578 INFO L290 TraceCheckUtils]: 44: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,578 INFO L290 TraceCheckUtils]: 43: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,578 INFO L290 TraceCheckUtils]: 42: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,578 INFO L272 TraceCheckUtils]: 41: Hoare triple {11483#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {11483#(<= main_~b~0 2)} assume !false; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,579 INFO L290 TraceCheckUtils]: 39: Hoare triple {11483#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,579 INFO L290 TraceCheckUtils]: 38: Hoare triple {11483#(<= main_~b~0 2)} assume !false; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,579 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #89#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,579 INFO L290 TraceCheckUtils]: 36: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,580 INFO L290 TraceCheckUtils]: 35: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,580 INFO L290 TraceCheckUtils]: 34: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,580 INFO L272 TraceCheckUtils]: 33: Hoare triple {11483#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,580 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11394#true} {11483#(<= main_~b~0 2)} #87#return; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,580 INFO L290 TraceCheckUtils]: 31: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,580 INFO L290 TraceCheckUtils]: 30: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,580 INFO L290 TraceCheckUtils]: 29: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,580 INFO L272 TraceCheckUtils]: 28: Hoare triple {11483#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,581 INFO L290 TraceCheckUtils]: 27: Hoare triple {12086#(<= main_~y~0 2)} ~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; {11483#(<= main_~b~0 2)} is VALID [2022-04-27 13:06:37,581 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11394#true} {12086#(<= main_~y~0 2)} #85#return; {12086#(<= main_~y~0 2)} is VALID [2022-04-27 13:06:37,581 INFO L290 TraceCheckUtils]: 25: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,581 INFO L290 TraceCheckUtils]: 24: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,581 INFO L272 TraceCheckUtils]: 22: Hoare triple {12086#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,582 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11394#true} {12086#(<= main_~y~0 2)} #83#return; {12086#(<= main_~y~0 2)} is VALID [2022-04-27 13:06:37,582 INFO L290 TraceCheckUtils]: 20: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,582 INFO L290 TraceCheckUtils]: 19: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,582 INFO L290 TraceCheckUtils]: 18: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,582 INFO L272 TraceCheckUtils]: 17: Hoare triple {12086#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,582 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11442#(not (= |assume_abort_if_not_#in~cond| 0))} {11394#true} #81#return; {12086#(<= main_~y~0 2)} is VALID [2022-04-27 13:06:37,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {11442#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11442#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:37,583 INFO L290 TraceCheckUtils]: 14: Hoare triple {12129#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {11442#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:37,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {11394#true} ~cond := #in~cond; {12129#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:06:37,583 INFO L272 TraceCheckUtils]: 12: Hoare triple {11394#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {11394#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11394#true} is VALID [2022-04-27 13:06:37,583 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11394#true} {11394#true} #79#return; {11394#true} is VALID [2022-04-27 13:06:37,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {11394#true} assume !(0 == ~cond); {11394#true} is VALID [2022-04-27 13:06:37,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {11394#true} ~cond := #in~cond; {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L272 TraceCheckUtils]: 6: Hoare triple {11394#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {11394#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; {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {11394#true} call #t~ret6 := main(); {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11394#true} {11394#true} #103#return; {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {11394#true} assume true; {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {11394#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); {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {11394#true} call ULTIMATE.init(); {11394#true} is VALID [2022-04-27 13:06:37,584 INFO L134 CoverageAnalysis]: Checked inductivity of 489 backedges. 48 proven. 32 refuted. 0 times theorem prover too weak. 409 trivial. 0 not checked. [2022-04-27 13:06:37,584 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:06:37,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1941448901] [2022-04-27 13:06:37,585 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:06:37,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [43948855] [2022-04-27 13:06:37,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [43948855] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:06:37,585 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:06:37,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 13:06:37,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2019604723] [2022-04-27 13:06:37,585 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:06:37,585 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 9 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (34), 9 states have call predecessors, (34), 9 states have call successors, (34) Word has length 127 [2022-04-27 13:06:37,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:06:37,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 9 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (34), 9 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-27 13:06:37,677 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 13:06:37,677 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:06:37,677 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:06:37,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:06:37,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:06:37,678 INFO L87 Difference]: Start difference. First operand 142 states and 188 transitions. Second operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 9 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (34), 9 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-27 13:06:39,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:39,189 INFO L93 Difference]: Finished difference Result 185 states and 244 transitions. [2022-04-27 13:06:39,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 13:06:39,189 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 9 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (34), 9 states have call predecessors, (34), 9 states have call successors, (34) Word has length 127 [2022-04-27 13:06:39,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:06:39,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 9 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (34), 9 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-27 13:06:39,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 104 transitions. [2022-04-27 13:06:39,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 9 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (34), 9 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-27 13:06:39,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 104 transitions. [2022-04-27 13:06:39,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 104 transitions. [2022-04-27 13:06:39,276 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 13:06:39,278 INFO L225 Difference]: With dead ends: 185 [2022-04-27 13:06:39,278 INFO L226 Difference]: Without dead ends: 146 [2022-04-27 13:06:39,278 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 264 GetRequests, 238 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=151, Invalid=551, Unknown=0, NotChecked=0, Total=702 [2022-04-27 13:06:39,279 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 26 mSDsluCounter, 285 mSDsCounter, 0 mSdLazyCounter, 429 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 340 SdHoareTripleChecker+Invalid, 474 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 429 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:06:39,279 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 340 Invalid, 474 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 429 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:06:39,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-27 13:06:39,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 142. [2022-04-27 13:06:39,571 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:06:39,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 142 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 76 states have internal predecessors, (82), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:39,572 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 142 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 76 states have internal predecessors, (82), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:39,572 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 142 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 76 states have internal predecessors, (82), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:39,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:39,575 INFO L93 Difference]: Finished difference Result 146 states and 191 transitions. [2022-04-27 13:06:39,575 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 191 transitions. [2022-04-27 13:06:39,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:39,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:39,575 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 76 states have internal predecessors, (82), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 146 states. [2022-04-27 13:06:39,576 INFO L87 Difference]: Start difference. First operand has 142 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 76 states have internal predecessors, (82), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 146 states. [2022-04-27 13:06:39,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:39,578 INFO L93 Difference]: Finished difference Result 146 states and 191 transitions. [2022-04-27 13:06:39,578 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 191 transitions. [2022-04-27 13:06:39,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:39,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:39,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:06:39,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:06:39,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 76 states have internal predecessors, (82), 53 states have call successors, (53), 14 states have call predecessors, (53), 13 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:39,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 186 transitions. [2022-04-27 13:06:39,582 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 186 transitions. Word has length 127 [2022-04-27 13:06:39,582 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:06:39,582 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 186 transitions. [2022-04-27 13:06:39,582 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 9 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (34), 9 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-27 13:06:39,582 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 186 transitions. [2022-04-27 13:06:39,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-27 13:06:39,583 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:06:39,583 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 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, 1, 1, 1, 1, 1] [2022-04-27 13:06:39,601 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 13:06:39,799 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 13:06:39,799 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:06:39,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:06:39,800 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 2 times [2022-04-27 13:06:39,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:06:39,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [956553794] [2022-04-27 13:06:39,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:39,800 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:06:39,813 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:06:39,813 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [432985324] [2022-04-27 13:06:39,813 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:06:39,813 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:06:39,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:06:39,814 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 13:06:39,814 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 13:06:39,878 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:06:39,878 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:06:39,886 INFO L263 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 96 conjunts are in the unsatisfiable core [2022-04-27 13:06:39,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:39,910 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:06:48,383 INFO L272 TraceCheckUtils]: 0: Hoare triple {12999#true} call ULTIMATE.init(); {12999#true} is VALID [2022-04-27 13:06:48,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {12999#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); {12999#true} is VALID [2022-04-27 13:06:48,383 INFO L290 TraceCheckUtils]: 2: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,383 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12999#true} {12999#true} #103#return; {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {12999#true} call #t~ret6 := main(); {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {12999#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; {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L272 TraceCheckUtils]: 6: Hoare triple {12999#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12999#true} {12999#true} #79#return; {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L290 TraceCheckUtils]: 11: Hoare triple {12999#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L272 TraceCheckUtils]: 12: Hoare triple {12999#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {12999#true} ~cond := #in~cond; {13043#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:06:48,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {13043#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13047#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:48,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {13047#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13047#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:48,385 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13047#(not (= |assume_abort_if_not_#in~cond| 0))} {12999#true} #81#return; {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:06:48,385 INFO L272 TraceCheckUtils]: 17: Hoare triple {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,386 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12999#true} {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:06:48,386 INFO L272 TraceCheckUtils]: 22: Hoare triple {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,386 INFO L290 TraceCheckUtils]: 23: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,386 INFO L290 TraceCheckUtils]: 24: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,386 INFO L290 TraceCheckUtils]: 25: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,387 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12999#true} {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:06:48,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {13054#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,387 INFO L272 TraceCheckUtils]: 28: Hoare triple {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,387 INFO L290 TraceCheckUtils]: 29: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,387 INFO L290 TraceCheckUtils]: 30: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,387 INFO L290 TraceCheckUtils]: 31: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,388 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12999#true} {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,388 INFO L272 TraceCheckUtils]: 33: Hoare triple {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,388 INFO L290 TraceCheckUtils]: 35: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,388 INFO L290 TraceCheckUtils]: 36: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,389 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12999#true} {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,389 INFO L290 TraceCheckUtils]: 39: Hoare triple {13088#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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 13:06:48,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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; {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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 13:06:48,390 INFO L272 TraceCheckUtils]: 41: Hoare triple {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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)); {12999#true} is VALID [2022-04-27 13:06:48,390 INFO L290 TraceCheckUtils]: 42: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,390 INFO L290 TraceCheckUtils]: 43: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,390 INFO L290 TraceCheckUtils]: 44: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,391 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12999#true} {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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))} #91#return; {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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 13:06:48,391 INFO L272 TraceCheckUtils]: 46: Hoare triple {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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)); {12999#true} is VALID [2022-04-27 13:06:48,391 INFO L290 TraceCheckUtils]: 47: Hoare triple {12999#true} ~cond := #in~cond; {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:48,391 INFO L290 TraceCheckUtils]: 48: Hoare triple {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,392 INFO L290 TraceCheckUtils]: 49: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,392 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13125#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= main_~y~0 2) (= 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))} #93#return; {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,393 INFO L272 TraceCheckUtils]: 51: Hoare triple {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,393 INFO L290 TraceCheckUtils]: 52: Hoare triple {12999#true} ~cond := #in~cond; {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:48,393 INFO L290 TraceCheckUtils]: 53: Hoare triple {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,393 INFO L290 TraceCheckUtils]: 54: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,394 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,394 INFO L272 TraceCheckUtils]: 56: Hoare triple {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= 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)); {12999#true} is VALID [2022-04-27 13:06:48,394 INFO L290 TraceCheckUtils]: 57: Hoare triple {12999#true} ~cond := #in~cond; {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:48,394 INFO L290 TraceCheckUtils]: 58: Hoare triple {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,395 INFO L290 TraceCheckUtils]: 59: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,395 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,396 INFO L290 TraceCheckUtils]: 61: Hoare triple {13161#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13195#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:48,396 INFO L290 TraceCheckUtils]: 62: Hoare triple {13195#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= 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; {13199#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,397 INFO L290 TraceCheckUtils]: 63: Hoare triple {13199#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {13199#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,397 INFO L290 TraceCheckUtils]: 64: Hoare triple {13199#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,398 INFO L290 TraceCheckUtils]: 65: Hoare triple {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,398 INFO L272 TraceCheckUtils]: 66: Hoare triple {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,398 INFO L290 TraceCheckUtils]: 67: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,398 INFO L290 TraceCheckUtils]: 68: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,398 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {12999#true} {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,399 INFO L272 TraceCheckUtils]: 71: Hoare triple {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,399 INFO L290 TraceCheckUtils]: 72: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,399 INFO L290 TraceCheckUtils]: 73: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,399 INFO L290 TraceCheckUtils]: 74: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,399 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {12999#true} {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,399 INFO L272 TraceCheckUtils]: 76: Hoare triple {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,399 INFO L290 TraceCheckUtils]: 77: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,400 INFO L290 TraceCheckUtils]: 78: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,400 INFO L290 TraceCheckUtils]: 79: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,400 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {12999#true} {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #95#return; {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,400 INFO L272 TraceCheckUtils]: 81: Hoare triple {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= 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)); {12999#true} is VALID [2022-04-27 13:06:48,400 INFO L290 TraceCheckUtils]: 82: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,400 INFO L290 TraceCheckUtils]: 83: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,400 INFO L290 TraceCheckUtils]: 84: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,401 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {12999#true} {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #97#return; {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,403 INFO L290 TraceCheckUtils]: 86: Hoare triple {13206#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,403 INFO L290 TraceCheckUtils]: 87: Hoare triple {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,403 INFO L272 TraceCheckUtils]: 88: Hoare triple {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 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)); {12999#true} is VALID [2022-04-27 13:06:48,403 INFO L290 TraceCheckUtils]: 89: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,403 INFO L290 TraceCheckUtils]: 90: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,403 INFO L290 TraceCheckUtils]: 91: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,404 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {12999#true} {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,404 INFO L272 TraceCheckUtils]: 93: Hoare triple {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,404 INFO L290 TraceCheckUtils]: 94: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,404 INFO L290 TraceCheckUtils]: 95: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,404 INFO L290 TraceCheckUtils]: 96: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,405 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {12999#true} {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,405 INFO L272 TraceCheckUtils]: 98: Hoare triple {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,405 INFO L290 TraceCheckUtils]: 99: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,405 INFO L290 TraceCheckUtils]: 100: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,405 INFO L290 TraceCheckUtils]: 101: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,406 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {12999#true} {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #95#return; {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,406 INFO L272 TraceCheckUtils]: 103: Hoare triple {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 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)); {12999#true} is VALID [2022-04-27 13:06:48,406 INFO L290 TraceCheckUtils]: 104: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,406 INFO L290 TraceCheckUtils]: 105: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,406 INFO L290 TraceCheckUtils]: 106: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,407 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {12999#true} {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #97#return; {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,408 INFO L290 TraceCheckUtils]: 108: Hoare triple {13273#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 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; {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-27 13:06:48,408 INFO L290 TraceCheckUtils]: 109: Hoare triple {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} assume !false; {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-27 13:06:48,408 INFO L272 TraceCheckUtils]: 110: Hoare triple {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,408 INFO L290 TraceCheckUtils]: 111: Hoare triple {12999#true} ~cond := #in~cond; {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:48,409 INFO L290 TraceCheckUtils]: 112: Hoare triple {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,409 INFO L290 TraceCheckUtils]: 113: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,409 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} #91#return; {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-27 13:06:48,410 INFO L272 TraceCheckUtils]: 115: Hoare triple {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,410 INFO L290 TraceCheckUtils]: 116: Hoare triple {12999#true} ~cond := #in~cond; {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:48,410 INFO L290 TraceCheckUtils]: 117: Hoare triple {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,410 INFO L290 TraceCheckUtils]: 118: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,412 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13340#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0))} #93#return; {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:06:48,412 INFO L272 TraceCheckUtils]: 120: Hoare triple {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:06:48,412 INFO L290 TraceCheckUtils]: 121: Hoare triple {12999#true} ~cond := #in~cond; {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:48,412 INFO L290 TraceCheckUtils]: 122: Hoare triple {13150#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,413 INFO L290 TraceCheckUtils]: 123: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:48,413 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #95#return; {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:06:48,413 INFO L272 TraceCheckUtils]: 125: Hoare triple {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~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)); {12999#true} is VALID [2022-04-27 13:06:48,413 INFO L290 TraceCheckUtils]: 126: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:06:48,413 INFO L290 TraceCheckUtils]: 127: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:06:48,414 INFO L290 TraceCheckUtils]: 128: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:06:48,414 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {12999#true} {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:06:48,415 INFO L290 TraceCheckUtils]: 130: Hoare triple {13374#(and (<= 0 main_~y~0) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {13408#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~x~0 2) main_~c~0)) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~k~0 2) (< main_~c~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:06:48,416 INFO L290 TraceCheckUtils]: 131: Hoare triple {13408#(and (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~x~0 2) main_~c~0)) (= main_~s~0 0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~k~0 2) (< main_~c~0 main_~x~0) (= 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; {13412#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= 2 (* (- 1) main_~q~0)) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-27 13:06:48,416 INFO L290 TraceCheckUtils]: 132: Hoare triple {13412#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= 2 (* (- 1) main_~q~0)) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~x~0 3)))} assume !false; {13412#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= 2 (* (- 1) main_~q~0)) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-27 13:06:48,416 INFO L290 TraceCheckUtils]: 133: Hoare triple {13412#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= 2 (* (- 1) main_~q~0)) (<= main_~y~0 2) (= main_~s~0 1) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~x~0 3)))} assume !(0 != ~b~0); {13419#(and (= (* main_~x~0 2) main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= (+ main_~q~0 2) 0) (< main_~y~0 (* main_~x~0 3)))} is VALID [2022-04-27 13:06:48,417 INFO L272 TraceCheckUtils]: 134: Hoare triple {13419#(and (= (* main_~x~0 2) main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= (+ main_~q~0 2) 0) (< main_~y~0 (* main_~x~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {13423#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:06:48,417 INFO L290 TraceCheckUtils]: 135: Hoare triple {13423#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13427#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:48,418 INFO L290 TraceCheckUtils]: 136: Hoare triple {13427#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13000#false} is VALID [2022-04-27 13:06:48,418 INFO L290 TraceCheckUtils]: 137: Hoare triple {13000#false} assume !false; {13000#false} is VALID [2022-04-27 13:06:48,418 INFO L134 CoverageAnalysis]: Checked inductivity of 615 backedges. 119 proven. 151 refuted. 0 times theorem prover too weak. 345 trivial. 0 not checked. [2022-04-27 13:06:48,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:09:47,628 INFO L290 TraceCheckUtils]: 137: Hoare triple {13000#false} assume !false; {13000#false} is VALID [2022-04-27 13:09:47,628 INFO L290 TraceCheckUtils]: 136: Hoare triple {13427#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13000#false} is VALID [2022-04-27 13:09:47,628 INFO L290 TraceCheckUtils]: 135: Hoare triple {13423#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13427#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:47,629 INFO L272 TraceCheckUtils]: 134: Hoare triple {13443#(= (+ (* 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)); {13423#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:47,629 INFO L290 TraceCheckUtils]: 133: Hoare triple {13447#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {13443#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 13:09:47,630 INFO L290 TraceCheckUtils]: 132: Hoare triple {13447#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {13447#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 13:09:49,631 WARN L290 TraceCheckUtils]: 131: Hoare triple {13454#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* 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)) 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; {13447#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-27 13:09:49,632 INFO L290 TraceCheckUtils]: 130: Hoare triple {13458#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {13454#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-27 13:09:49,632 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {12999#true} {13458#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {13458#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:09:49,632 INFO L290 TraceCheckUtils]: 128: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,632 INFO L290 TraceCheckUtils]: 127: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,632 INFO L290 TraceCheckUtils]: 126: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,633 INFO L272 TraceCheckUtils]: 125: Hoare triple {13458#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~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)); {12999#true} is VALID [2022-04-27 13:09:49,633 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13477#(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) (= (+ (* (+ (* (* 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)) 0))} #95#return; {13458#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:09:49,634 INFO L290 TraceCheckUtils]: 123: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:49,634 INFO L290 TraceCheckUtils]: 122: Hoare triple {13487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:49,634 INFO L290 TraceCheckUtils]: 121: Hoare triple {12999#true} ~cond := #in~cond; {13487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:09:49,634 INFO L272 TraceCheckUtils]: 120: Hoare triple {13477#(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) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,635 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {13494#(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) (= (+ (* (+ (* (* 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)) 0))} #93#return; {13477#(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) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-27 13:09:49,635 INFO L290 TraceCheckUtils]: 118: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:49,636 INFO L290 TraceCheckUtils]: 117: Hoare triple {13487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:49,636 INFO L290 TraceCheckUtils]: 116: Hoare triple {12999#true} ~cond := #in~cond; {13487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:09:49,636 INFO L272 TraceCheckUtils]: 115: Hoare triple {13494#(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) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,666 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} {12999#true} #91#return; {13494#(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) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-27 13:09:49,666 INFO L290 TraceCheckUtils]: 113: Hoare triple {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:49,666 INFO L290 TraceCheckUtils]: 112: Hoare triple {13487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13154#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 111: Hoare triple {12999#true} ~cond := #in~cond; {13487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:09:49,667 INFO L272 TraceCheckUtils]: 110: Hoare triple {12999#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 109: Hoare triple {12999#true} assume !false; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 108: Hoare triple {12999#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {12999#true} {12999#true} #97#return; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 106: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 105: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 104: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L272 TraceCheckUtils]: 103: Hoare triple {12999#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)); {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {12999#true} {12999#true} #95#return; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 101: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 100: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L290 TraceCheckUtils]: 99: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L272 TraceCheckUtils]: 98: Hoare triple {12999#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,667 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {12999#true} {12999#true} #93#return; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 96: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 95: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 94: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L272 TraceCheckUtils]: 93: Hoare triple {12999#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {12999#true} {12999#true} #91#return; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 91: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 90: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 89: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L272 TraceCheckUtils]: 88: Hoare triple {12999#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 87: Hoare triple {12999#true} assume !false; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 86: Hoare triple {12999#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {12999#true} {12999#true} #97#return; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 84: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 83: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L290 TraceCheckUtils]: 82: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L272 TraceCheckUtils]: 81: Hoare triple {12999#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)); {12999#true} is VALID [2022-04-27 13:09:49,668 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {12999#true} {12999#true} #95#return; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 79: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 78: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 77: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L272 TraceCheckUtils]: 76: Hoare triple {12999#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {12999#true} {12999#true} #93#return; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 74: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 73: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 72: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L272 TraceCheckUtils]: 71: Hoare triple {12999#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {12999#true} {12999#true} #91#return; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 69: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 68: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 67: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L272 TraceCheckUtils]: 66: Hoare triple {12999#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 65: Hoare triple {12999#true} assume !false; {12999#true} is VALID [2022-04-27 13:09:49,669 INFO L290 TraceCheckUtils]: 64: Hoare triple {12999#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L290 TraceCheckUtils]: 63: Hoare triple {12999#true} assume !false; {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L290 TraceCheckUtils]: 62: Hoare triple {12999#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; {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L290 TraceCheckUtils]: 61: Hoare triple {12999#true} assume !(~c~0 >= ~b~0); {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {12999#true} {12999#true} #97#return; {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L290 TraceCheckUtils]: 59: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L290 TraceCheckUtils]: 58: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L290 TraceCheckUtils]: 57: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L272 TraceCheckUtils]: 56: Hoare triple {12999#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)); {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12999#true} {12999#true} #95#return; {12999#true} is VALID [2022-04-27 13:09:49,670 INFO L290 TraceCheckUtils]: 54: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,675 INFO L290 TraceCheckUtils]: 53: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 52: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L272 TraceCheckUtils]: 51: Hoare triple {12999#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12999#true} {12999#true} #93#return; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 49: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 48: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 47: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L272 TraceCheckUtils]: 46: Hoare triple {12999#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12999#true} {12999#true} #91#return; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 44: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 43: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L272 TraceCheckUtils]: 41: Hoare triple {12999#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 40: Hoare triple {12999#true} assume !false; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 39: Hoare triple {12999#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L290 TraceCheckUtils]: 38: Hoare triple {12999#true} assume !false; {12999#true} is VALID [2022-04-27 13:09:49,676 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12999#true} {12999#true} #89#return; {12999#true} is VALID [2022-04-27 13:09:49,677 INFO L290 TraceCheckUtils]: 36: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,677 INFO L290 TraceCheckUtils]: 35: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,677 INFO L290 TraceCheckUtils]: 34: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,677 INFO L272 TraceCheckUtils]: 33: Hoare triple {12999#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12999#true} {12999#true} #87#return; {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L290 TraceCheckUtils]: 29: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L272 TraceCheckUtils]: 28: Hoare triple {12999#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L290 TraceCheckUtils]: 27: Hoare triple {12999#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; {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12999#true} {12999#true} #85#return; {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,679 INFO L290 TraceCheckUtils]: 24: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L272 TraceCheckUtils]: 22: Hoare triple {12999#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12999#true} {12999#true} #83#return; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L272 TraceCheckUtils]: 17: Hoare triple {12999#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12999#true} {12999#true} #81#return; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 14: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L272 TraceCheckUtils]: 12: Hoare triple {12999#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {12999#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12999#true} {12999#true} #79#return; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {12999#true} assume !(0 == ~cond); {12999#true} is VALID [2022-04-27 13:09:49,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {12999#true} ~cond := #in~cond; {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L272 TraceCheckUtils]: 6: Hoare triple {12999#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {12999#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; {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {12999#true} call #t~ret6 := main(); {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12999#true} {12999#true} #103#return; {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {12999#true} assume true; {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {12999#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); {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {12999#true} call ULTIMATE.init(); {12999#true} is VALID [2022-04-27 13:09:49,681 INFO L134 CoverageAnalysis]: Checked inductivity of 615 backedges. 154 proven. 12 refuted. 0 times theorem prover too weak. 449 trivial. 0 not checked. [2022-04-27 13:09:49,681 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:49,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [956553794] [2022-04-27 13:09:49,682 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:09:49,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [432985324] [2022-04-27 13:09:49,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [432985324] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:09:49,682 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:09:49,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 12] total 28 [2022-04-27 13:09:49,682 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1027388589] [2022-04-27 13:09:49,682 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:09:49,682 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 24 states have (on average 2.0416666666666665) internal successors, (49), 21 states have internal predecessors, (49), 14 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 12 states have call predecessors, (36), 12 states have call successors, (36) Word has length 138 [2022-04-27 13:09:49,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:49,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 24 states have (on average 2.0416666666666665) internal successors, (49), 21 states have internal predecessors, (49), 14 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 12 states have call predecessors, (36), 12 states have call successors, (36) [2022-04-27 13:09:50,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:50,163 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-27 13:09:50,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:50,163 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-27 13:09:50,163 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=620, Unknown=0, NotChecked=0, Total=756 [2022-04-27 13:09:50,164 INFO L87 Difference]: Start difference. First operand 142 states and 186 transitions. Second operand has 28 states, 24 states have (on average 2.0416666666666665) internal successors, (49), 21 states have internal predecessors, (49), 14 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 12 states have call predecessors, (36), 12 states have call successors, (36) [2022-04-27 13:09:55,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:55,985 INFO L93 Difference]: Finished difference Result 204 states and 264 transitions. [2022-04-27 13:09:55,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 13:09:55,986 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 24 states have (on average 2.0416666666666665) internal successors, (49), 21 states have internal predecessors, (49), 14 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 12 states have call predecessors, (36), 12 states have call successors, (36) Word has length 138 [2022-04-27 13:09:55,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:55,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 24 states have (on average 2.0416666666666665) internal successors, (49), 21 states have internal predecessors, (49), 14 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 12 states have call predecessors, (36), 12 states have call successors, (36) [2022-04-27 13:09:55,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 154 transitions. [2022-04-27 13:09:55,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 24 states have (on average 2.0416666666666665) internal successors, (49), 21 states have internal predecessors, (49), 14 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 12 states have call predecessors, (36), 12 states have call successors, (36) [2022-04-27 13:09:55,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 154 transitions. [2022-04-27 13:09:55,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 154 transitions. [2022-04-27 13:09:56,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:56,206 INFO L225 Difference]: With dead ends: 204 [2022-04-27 13:09:56,206 INFO L226 Difference]: Without dead ends: 159 [2022-04-27 13:09:56,207 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 289 GetRequests, 246 SyntacticMatches, 3 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 422 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=335, Invalid=1387, Unknown=0, NotChecked=0, Total=1722 [2022-04-27 13:09:56,207 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 89 mSDsluCounter, 236 mSDsCounter, 0 mSdLazyCounter, 979 mSolverCounterSat, 218 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 277 SdHoareTripleChecker+Invalid, 1197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 218 IncrementalHoareTripleChecker+Valid, 979 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:56,207 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 277 Invalid, 1197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [218 Valid, 979 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-27 13:09:56,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-27 13:09:56,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 146. [2022-04-27 13:09:56,513 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:56,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 146 states, 78 states have (on average 1.064102564102564) internal successors, (83), 78 states have internal predecessors, (83), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:09:56,514 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 146 states, 78 states have (on average 1.064102564102564) internal successors, (83), 78 states have internal predecessors, (83), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:09:56,514 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 146 states, 78 states have (on average 1.064102564102564) internal successors, (83), 78 states have internal predecessors, (83), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:09:56,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:56,517 INFO L93 Difference]: Finished difference Result 159 states and 205 transitions. [2022-04-27 13:09:56,517 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 205 transitions. [2022-04-27 13:09:56,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:56,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:56,517 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 78 states have (on average 1.064102564102564) internal successors, (83), 78 states have internal predecessors, (83), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 159 states. [2022-04-27 13:09:56,518 INFO L87 Difference]: Start difference. First operand has 146 states, 78 states have (on average 1.064102564102564) internal successors, (83), 78 states have internal predecessors, (83), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 159 states. [2022-04-27 13:09:56,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:56,520 INFO L93 Difference]: Finished difference Result 159 states and 205 transitions. [2022-04-27 13:09:56,520 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 205 transitions. [2022-04-27 13:09:56,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:56,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:56,521 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:56,521 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:56,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 78 states have (on average 1.064102564102564) internal successors, (83), 78 states have internal predecessors, (83), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:09:56,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 186 transitions. [2022-04-27 13:09:56,523 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 186 transitions. Word has length 138 [2022-04-27 13:09:56,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:56,524 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 186 transitions. [2022-04-27 13:09:56,524 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 24 states have (on average 2.0416666666666665) internal successors, (49), 21 states have internal predecessors, (49), 14 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 12 states have call predecessors, (36), 12 states have call successors, (36) [2022-04-27 13:09:56,524 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 186 transitions. [2022-04-27 13:09:56,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 147 [2022-04-27 13:09:56,525 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:56,525 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 6, 6, 6, 5, 5, 5, 5, 5, 5, 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] [2022-04-27 13:09:56,541 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 13:09:56,741 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 13:09:56,741 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:56,741 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:56,742 INFO L85 PathProgramCache]: Analyzing trace with hash 75042921, now seen corresponding path program 3 times [2022-04-27 13:09:56,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:56,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1980104265] [2022-04-27 13:09:56,742 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:56,742 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:56,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:56,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [28629792] [2022-04-27 13:09:56,764 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:09:56,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:56,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:56,767 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 13:09:56,768 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 13:09:56,831 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:09:56,831 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:09:56,833 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-27 13:09:56,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:56,853 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:58,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {14746#true} call ULTIMATE.init(); {14746#true} is VALID [2022-04-27 13:09:58,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {14746#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); {14746#true} is VALID [2022-04-27 13:09:58,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14746#true} {14746#true} #103#return; {14746#true} is VALID [2022-04-27 13:09:58,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {14746#true} call #t~ret6 := main(); {14746#true} is VALID [2022-04-27 13:09:58,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {14746#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; {14746#true} is VALID [2022-04-27 13:09:58,375 INFO L272 TraceCheckUtils]: 6: Hoare triple {14746#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {14746#true} ~cond := #in~cond; {14772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:58,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {14772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:58,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {14776#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:58,376 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14776#(not (= |assume_abort_if_not_#in~cond| 0))} {14746#true} #79#return; {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,376 INFO L272 TraceCheckUtils]: 12: Hoare triple {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,377 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14746#true} {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,377 INFO L272 TraceCheckUtils]: 17: Hoare triple {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,377 INFO L290 TraceCheckUtils]: 19: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,377 INFO L290 TraceCheckUtils]: 20: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,377 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14746#true} {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,378 INFO L272 TraceCheckUtils]: 22: Hoare triple {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,378 INFO L290 TraceCheckUtils]: 25: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,378 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14746#true} {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,379 INFO L290 TraceCheckUtils]: 27: Hoare triple {14783#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,379 INFO L272 TraceCheckUtils]: 28: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,379 INFO L290 TraceCheckUtils]: 29: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,379 INFO L290 TraceCheckUtils]: 30: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,379 INFO L290 TraceCheckUtils]: 31: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,379 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #87#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,379 INFO L272 TraceCheckUtils]: 33: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,380 INFO L290 TraceCheckUtils]: 34: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,380 INFO L290 TraceCheckUtils]: 35: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,380 INFO L290 TraceCheckUtils]: 36: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,380 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #89#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,381 INFO L290 TraceCheckUtils]: 38: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,381 INFO L272 TraceCheckUtils]: 41: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,381 INFO L290 TraceCheckUtils]: 42: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,382 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,382 INFO L272 TraceCheckUtils]: 46: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,382 INFO L290 TraceCheckUtils]: 47: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,382 INFO L290 TraceCheckUtils]: 48: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,382 INFO L290 TraceCheckUtils]: 49: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,383 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,383 INFO L272 TraceCheckUtils]: 51: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,383 INFO L290 TraceCheckUtils]: 52: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,383 INFO L290 TraceCheckUtils]: 53: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,383 INFO L290 TraceCheckUtils]: 54: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,384 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,384 INFO L272 TraceCheckUtils]: 56: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} 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)); {14746#true} is VALID [2022-04-27 13:09:58,384 INFO L290 TraceCheckUtils]: 57: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,384 INFO L290 TraceCheckUtils]: 58: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,384 INFO L290 TraceCheckUtils]: 59: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,385 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,385 INFO L290 TraceCheckUtils]: 61: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,385 INFO L290 TraceCheckUtils]: 62: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,385 INFO L272 TraceCheckUtils]: 63: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,385 INFO L290 TraceCheckUtils]: 64: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,386 INFO L290 TraceCheckUtils]: 65: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,386 INFO L290 TraceCheckUtils]: 66: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,386 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,386 INFO L272 TraceCheckUtils]: 68: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,386 INFO L290 TraceCheckUtils]: 69: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,386 INFO L290 TraceCheckUtils]: 70: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,386 INFO L290 TraceCheckUtils]: 71: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,387 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,387 INFO L272 TraceCheckUtils]: 73: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,387 INFO L290 TraceCheckUtils]: 74: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,387 INFO L290 TraceCheckUtils]: 75: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,387 INFO L290 TraceCheckUtils]: 76: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,388 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,388 INFO L272 TraceCheckUtils]: 78: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} 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)); {14746#true} is VALID [2022-04-27 13:09:58,388 INFO L290 TraceCheckUtils]: 79: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,388 INFO L290 TraceCheckUtils]: 80: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,388 INFO L290 TraceCheckUtils]: 81: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,389 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,389 INFO L290 TraceCheckUtils]: 83: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,389 INFO L290 TraceCheckUtils]: 84: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,389 INFO L272 TraceCheckUtils]: 85: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,389 INFO L290 TraceCheckUtils]: 86: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,389 INFO L290 TraceCheckUtils]: 87: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,390 INFO L290 TraceCheckUtils]: 88: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,390 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,390 INFO L272 TraceCheckUtils]: 90: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,390 INFO L290 TraceCheckUtils]: 91: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,390 INFO L290 TraceCheckUtils]: 92: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,390 INFO L290 TraceCheckUtils]: 93: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,391 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,391 INFO L272 TraceCheckUtils]: 95: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,391 INFO L290 TraceCheckUtils]: 96: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,391 INFO L290 TraceCheckUtils]: 97: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,391 INFO L290 TraceCheckUtils]: 98: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,395 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,395 INFO L272 TraceCheckUtils]: 100: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} 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)); {14746#true} is VALID [2022-04-27 13:09:58,395 INFO L290 TraceCheckUtils]: 101: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,395 INFO L290 TraceCheckUtils]: 102: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,395 INFO L290 TraceCheckUtils]: 103: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,396 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {14746#true} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,396 INFO L290 TraceCheckUtils]: 105: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,397 INFO L290 TraceCheckUtils]: 106: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,397 INFO L272 TraceCheckUtils]: 107: Hoare triple {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,397 INFO L290 TraceCheckUtils]: 108: Hoare triple {14746#true} ~cond := #in~cond; {15079#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:58,397 INFO L290 TraceCheckUtils]: 109: Hoare triple {15079#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:58,398 INFO L290 TraceCheckUtils]: 110: Hoare triple {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:58,398 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} {14835#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,398 INFO L272 TraceCheckUtils]: 112: Hoare triple {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,399 INFO L290 TraceCheckUtils]: 113: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,399 INFO L290 TraceCheckUtils]: 114: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,399 INFO L290 TraceCheckUtils]: 115: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,399 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {14746#true} {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,399 INFO L272 TraceCheckUtils]: 117: Hoare triple {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,399 INFO L290 TraceCheckUtils]: 118: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,399 INFO L290 TraceCheckUtils]: 119: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,400 INFO L290 TraceCheckUtils]: 120: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,400 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {14746#true} {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,400 INFO L272 TraceCheckUtils]: 122: Hoare triple {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= 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)); {14746#true} is VALID [2022-04-27 13:09:58,400 INFO L290 TraceCheckUtils]: 123: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,400 INFO L290 TraceCheckUtils]: 124: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,400 INFO L290 TraceCheckUtils]: 125: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,401 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {14746#true} {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,401 INFO L290 TraceCheckUtils]: 127: Hoare triple {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:58,404 INFO L290 TraceCheckUtils]: 128: Hoare triple {15090#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 2) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,404 INFO L290 TraceCheckUtils]: 129: Hoare triple {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} assume !false; {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,404 INFO L290 TraceCheckUtils]: 130: Hoare triple {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,405 INFO L290 TraceCheckUtils]: 131: Hoare triple {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} assume !false; {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,405 INFO L272 TraceCheckUtils]: 132: Hoare triple {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,405 INFO L290 TraceCheckUtils]: 133: Hoare triple {14746#true} ~cond := #in~cond; {14746#true} is VALID [2022-04-27 13:09:58,405 INFO L290 TraceCheckUtils]: 134: Hoare triple {14746#true} assume !(0 == ~cond); {14746#true} is VALID [2022-04-27 13:09:58,405 INFO L290 TraceCheckUtils]: 135: Hoare triple {14746#true} assume true; {14746#true} is VALID [2022-04-27 13:09:58,406 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {14746#true} {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} #91#return; {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,406 INFO L272 TraceCheckUtils]: 137: Hoare triple {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14746#true} is VALID [2022-04-27 13:09:58,406 INFO L290 TraceCheckUtils]: 138: Hoare triple {14746#true} ~cond := #in~cond; {15079#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:58,406 INFO L290 TraceCheckUtils]: 139: Hoare triple {15079#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:58,406 INFO L290 TraceCheckUtils]: 140: Hoare triple {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:58,407 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {15083#(not (= |__VERIFIER_assert_#in~cond| 0))} {15142#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (<= main_~x~0 2))} #93#return; {15182#(and (<= 0 main_~x~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:58,408 INFO L272 TraceCheckUtils]: 142: Hoare triple {15182#(and (<= 0 main_~x~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:58,408 INFO L290 TraceCheckUtils]: 143: Hoare triple {15186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:58,408 INFO L290 TraceCheckUtils]: 144: Hoare triple {15190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14747#false} is VALID [2022-04-27 13:09:58,408 INFO L290 TraceCheckUtils]: 145: Hoare triple {14747#false} assume !false; {14747#false} is VALID [2022-04-27 13:09:58,409 INFO L134 CoverageAnalysis]: Checked inductivity of 762 backedges. 118 proven. 59 refuted. 0 times theorem prover too weak. 585 trivial. 0 not checked. [2022-04-27 13:09:58,409 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:26,110 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:10:26,271 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:26,272 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1980104265] [2022-04-27 13:10:26,272 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:26,272 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [28629792] [2022-04-27 13:10:26,272 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [28629792] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:10:26,272 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:10:26,272 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-27 13:10:26,272 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1870979895] [2022-04-27 13:10:26,272 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:26,272 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (17), 6 states have call predecessors, (17), 5 states have call successors, (17) Word has length 146 [2022-04-27 13:10:26,273 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:26,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (17), 6 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:10:26,333 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 13:10:26,333 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:10:26,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:26,334 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:10:26,334 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:10:26,334 INFO L87 Difference]: Start difference. First operand 146 states and 186 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (17), 6 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:10:27,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:27,781 INFO L93 Difference]: Finished difference Result 182 states and 232 transitions. [2022-04-27 13:10:27,781 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:10:27,781 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (17), 6 states have call predecessors, (17), 5 states have call successors, (17) Word has length 146 [2022-04-27 13:10:27,782 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:27,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (17), 6 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:10:27,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-27 13:10:27,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (17), 6 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:10:27,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-27 13:10:27,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-27 13:10:27,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:27,876 INFO L225 Difference]: With dead ends: 182 [2022-04-27 13:10:27,877 INFO L226 Difference]: Without dead ends: 180 [2022-04-27 13:10:27,877 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 162 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-27 13:10:27,877 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 31 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 415 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 433 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 415 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:27,877 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 187 Invalid, 433 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 415 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 13:10:27,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2022-04-27 13:10:28,271 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 179. [2022-04-27 13:10:28,272 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:28,272 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand has 179 states, 96 states have (on average 1.0625) internal successors, (102), 96 states have internal predecessors, (102), 64 states have call successors, (64), 19 states have call predecessors, (64), 18 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:10:28,275 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand has 179 states, 96 states have (on average 1.0625) internal successors, (102), 96 states have internal predecessors, (102), 64 states have call successors, (64), 19 states have call predecessors, (64), 18 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:10:28,275 INFO L87 Difference]: Start difference. First operand 180 states. Second operand has 179 states, 96 states have (on average 1.0625) internal successors, (102), 96 states have internal predecessors, (102), 64 states have call successors, (64), 19 states have call predecessors, (64), 18 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:10:28,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:28,279 INFO L93 Difference]: Finished difference Result 180 states and 230 transitions. [2022-04-27 13:10:28,279 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 230 transitions. [2022-04-27 13:10:28,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:28,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:28,280 INFO L74 IsIncluded]: Start isIncluded. First operand has 179 states, 96 states have (on average 1.0625) internal successors, (102), 96 states have internal predecessors, (102), 64 states have call successors, (64), 19 states have call predecessors, (64), 18 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) Second operand 180 states. [2022-04-27 13:10:28,280 INFO L87 Difference]: Start difference. First operand has 179 states, 96 states have (on average 1.0625) internal successors, (102), 96 states have internal predecessors, (102), 64 states have call successors, (64), 19 states have call predecessors, (64), 18 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) Second operand 180 states. [2022-04-27 13:10:28,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:28,283 INFO L93 Difference]: Finished difference Result 180 states and 230 transitions. [2022-04-27 13:10:28,283 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 230 transitions. [2022-04-27 13:10:28,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:28,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:28,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:28,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:28,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 179 states, 96 states have (on average 1.0625) internal successors, (102), 96 states have internal predecessors, (102), 64 states have call successors, (64), 19 states have call predecessors, (64), 18 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:10:28,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 229 transitions. [2022-04-27 13:10:28,287 INFO L78 Accepts]: Start accepts. Automaton has 179 states and 229 transitions. Word has length 146 [2022-04-27 13:10:28,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:28,287 INFO L495 AbstractCegarLoop]: Abstraction has 179 states and 229 transitions. [2022-04-27 13:10:28,287 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (17), 6 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:10:28,287 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 229 transitions. [2022-04-27 13:10:28,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 152 [2022-04-27 13:10:28,288 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:28,288 INFO L195 NwaCegarLoop]: trace histogram [20, 19, 19, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 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] [2022-04-27 13:10:28,304 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-27 13:10:28,504 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 13:10:28,504 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:28,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:28,505 INFO L85 PathProgramCache]: Analyzing trace with hash -162755237, now seen corresponding path program 4 times [2022-04-27 13:10:28,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:28,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2051212928] [2022-04-27 13:10:28,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:28,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:28,516 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:28,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1822957996] [2022-04-27 13:10:28,516 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 13:10:28,516 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:28,516 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:28,517 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 13:10:28,518 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 13:10:28,568 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 13:10:28,568 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:10:28,569 INFO L263 TraceCheckSpWp]: Trace formula consists of 309 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:10:28,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:28,587 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:29,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {16237#true} call ULTIMATE.init(); {16237#true} is VALID [2022-04-27 13:10:29,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {16237#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); {16237#true} is VALID [2022-04-27 13:10:29,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16237#true} {16237#true} #103#return; {16237#true} is VALID [2022-04-27 13:10:29,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {16237#true} call #t~ret6 := main(); {16237#true} is VALID [2022-04-27 13:10:29,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {16237#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; {16237#true} is VALID [2022-04-27 13:10:29,065 INFO L272 TraceCheckUtils]: 6: Hoare triple {16237#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {16237#true} ~cond := #in~cond; {16263#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:29,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {16263#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16267#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {16267#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16267#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16267#(not (= |assume_abort_if_not_#in~cond| 0))} {16237#true} #79#return; {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:29,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:29,067 INFO L272 TraceCheckUtils]: 12: Hoare triple {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,067 INFO L290 TraceCheckUtils]: 15: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,067 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16237#true} {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:29,068 INFO L272 TraceCheckUtils]: 17: Hoare triple {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,068 INFO L290 TraceCheckUtils]: 18: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,068 INFO L290 TraceCheckUtils]: 19: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,068 INFO L290 TraceCheckUtils]: 20: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,068 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16237#true} {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:29,068 INFO L272 TraceCheckUtils]: 22: Hoare triple {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,068 INFO L290 TraceCheckUtils]: 23: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,068 INFO L290 TraceCheckUtils]: 24: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,068 INFO L290 TraceCheckUtils]: 25: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,069 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16237#true} {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:29,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {16274#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,069 INFO L272 TraceCheckUtils]: 28: Hoare triple {16326#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,069 INFO L290 TraceCheckUtils]: 29: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,069 INFO L290 TraceCheckUtils]: 30: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,069 INFO L290 TraceCheckUtils]: 31: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,070 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16237#true} {16326#(<= main_~a~0 2)} #87#return; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,070 INFO L272 TraceCheckUtils]: 33: Hoare triple {16326#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,070 INFO L290 TraceCheckUtils]: 34: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,070 INFO L290 TraceCheckUtils]: 35: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,070 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16237#true} {16326#(<= main_~a~0 2)} #89#return; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,071 INFO L290 TraceCheckUtils]: 38: Hoare triple {16326#(<= main_~a~0 2)} assume !false; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,071 INFO L290 TraceCheckUtils]: 39: Hoare triple {16326#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,071 INFO L290 TraceCheckUtils]: 40: Hoare triple {16363#(<= main_~c~0 2)} assume !false; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,071 INFO L272 TraceCheckUtils]: 41: Hoare triple {16363#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,072 INFO L290 TraceCheckUtils]: 42: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,072 INFO L290 TraceCheckUtils]: 43: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,072 INFO L290 TraceCheckUtils]: 44: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,072 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #91#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,072 INFO L272 TraceCheckUtils]: 46: Hoare triple {16363#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,072 INFO L290 TraceCheckUtils]: 47: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,072 INFO L290 TraceCheckUtils]: 48: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,072 INFO L290 TraceCheckUtils]: 49: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,073 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #93#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,073 INFO L272 TraceCheckUtils]: 51: Hoare triple {16363#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,073 INFO L290 TraceCheckUtils]: 52: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,073 INFO L290 TraceCheckUtils]: 53: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,073 INFO L290 TraceCheckUtils]: 54: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,074 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #95#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,074 INFO L272 TraceCheckUtils]: 56: Hoare triple {16363#(<= main_~c~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)); {16237#true} is VALID [2022-04-27 13:10:29,074 INFO L290 TraceCheckUtils]: 57: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,074 INFO L290 TraceCheckUtils]: 58: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,074 INFO L290 TraceCheckUtils]: 59: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,075 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #97#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,075 INFO L290 TraceCheckUtils]: 61: Hoare triple {16363#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16430#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:29,076 INFO L290 TraceCheckUtils]: 62: Hoare triple {16430#(<= (+ main_~c~0 main_~b~0) 2)} assume !false; {16430#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:29,076 INFO L272 TraceCheckUtils]: 63: Hoare triple {16430#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,076 INFO L290 TraceCheckUtils]: 64: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,076 INFO L290 TraceCheckUtils]: 65: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,076 INFO L290 TraceCheckUtils]: 66: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,076 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {16237#true} {16430#(<= (+ main_~c~0 main_~b~0) 2)} #91#return; {16430#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:29,076 INFO L272 TraceCheckUtils]: 68: Hoare triple {16430#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,077 INFO L290 TraceCheckUtils]: 69: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,077 INFO L290 TraceCheckUtils]: 70: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,077 INFO L290 TraceCheckUtils]: 71: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,077 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16237#true} {16430#(<= (+ main_~c~0 main_~b~0) 2)} #93#return; {16430#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:29,077 INFO L272 TraceCheckUtils]: 73: Hoare triple {16430#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,077 INFO L290 TraceCheckUtils]: 74: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,077 INFO L290 TraceCheckUtils]: 75: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,077 INFO L290 TraceCheckUtils]: 76: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,078 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16237#true} {16430#(<= (+ main_~c~0 main_~b~0) 2)} #95#return; {16430#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:29,078 INFO L272 TraceCheckUtils]: 78: Hoare triple {16430#(<= (+ main_~c~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)); {16237#true} is VALID [2022-04-27 13:10:29,078 INFO L290 TraceCheckUtils]: 79: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,078 INFO L290 TraceCheckUtils]: 80: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,078 INFO L290 TraceCheckUtils]: 81: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,079 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {16237#true} {16430#(<= (+ main_~c~0 main_~b~0) 2)} #97#return; {16430#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:29,080 INFO L290 TraceCheckUtils]: 83: Hoare triple {16430#(<= (+ main_~c~0 main_~b~0) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:29,080 INFO L290 TraceCheckUtils]: 84: Hoare triple {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !false; {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:29,081 INFO L272 TraceCheckUtils]: 85: Hoare triple {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,081 INFO L290 TraceCheckUtils]: 86: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,081 INFO L290 TraceCheckUtils]: 87: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,081 INFO L290 TraceCheckUtils]: 88: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,081 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {16237#true} {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #91#return; {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:29,081 INFO L272 TraceCheckUtils]: 90: Hoare triple {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,081 INFO L290 TraceCheckUtils]: 91: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,081 INFO L290 TraceCheckUtils]: 92: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,081 INFO L290 TraceCheckUtils]: 93: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,082 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {16237#true} {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #93#return; {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:29,082 INFO L272 TraceCheckUtils]: 95: Hoare triple {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,082 INFO L290 TraceCheckUtils]: 96: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,082 INFO L290 TraceCheckUtils]: 97: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,082 INFO L290 TraceCheckUtils]: 98: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,083 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {16237#true} {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #95#return; {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:29,083 INFO L272 TraceCheckUtils]: 100: Hoare triple {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 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)); {16237#true} is VALID [2022-04-27 13:10:29,083 INFO L290 TraceCheckUtils]: 101: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,083 INFO L290 TraceCheckUtils]: 102: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,083 INFO L290 TraceCheckUtils]: 103: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,084 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {16237#true} {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #97#return; {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:29,085 INFO L290 TraceCheckUtils]: 105: Hoare triple {16497#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:29,085 INFO L290 TraceCheckUtils]: 106: Hoare triple {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !false; {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:29,085 INFO L272 TraceCheckUtils]: 107: Hoare triple {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,085 INFO L290 TraceCheckUtils]: 108: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,085 INFO L290 TraceCheckUtils]: 109: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,086 INFO L290 TraceCheckUtils]: 110: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,086 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {16237#true} {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #91#return; {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:29,086 INFO L272 TraceCheckUtils]: 112: Hoare triple {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,086 INFO L290 TraceCheckUtils]: 113: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,086 INFO L290 TraceCheckUtils]: 114: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,086 INFO L290 TraceCheckUtils]: 115: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,087 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {16237#true} {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #93#return; {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:29,087 INFO L272 TraceCheckUtils]: 117: Hoare triple {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,087 INFO L290 TraceCheckUtils]: 118: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,087 INFO L290 TraceCheckUtils]: 119: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,087 INFO L290 TraceCheckUtils]: 120: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,088 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {16237#true} {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #95#return; {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:29,088 INFO L272 TraceCheckUtils]: 122: Hoare triple {16564#(and (<= (* main_~b~0 3) 2) (<= 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)); {16237#true} is VALID [2022-04-27 13:10:29,088 INFO L290 TraceCheckUtils]: 123: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,088 INFO L290 TraceCheckUtils]: 124: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,088 INFO L290 TraceCheckUtils]: 125: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,089 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {16237#true} {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #97#return; {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:29,089 INFO L290 TraceCheckUtils]: 127: Hoare triple {16564#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 128: Hoare triple {16238#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; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 129: Hoare triple {16238#false} assume !false; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 130: Hoare triple {16238#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 131: Hoare triple {16238#false} assume !false; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L272 TraceCheckUtils]: 132: Hoare triple {16238#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 133: Hoare triple {16238#false} ~cond := #in~cond; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 134: Hoare triple {16238#false} assume !(0 == ~cond); {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 135: Hoare triple {16238#false} assume true; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {16238#false} {16238#false} #91#return; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L272 TraceCheckUtils]: 137: Hoare triple {16238#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 138: Hoare triple {16238#false} ~cond := #in~cond; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 139: Hoare triple {16238#false} assume !(0 == ~cond); {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L290 TraceCheckUtils]: 140: Hoare triple {16238#false} assume true; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {16238#false} {16238#false} #93#return; {16238#false} is VALID [2022-04-27 13:10:29,090 INFO L272 TraceCheckUtils]: 142: Hoare triple {16238#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L290 TraceCheckUtils]: 143: Hoare triple {16238#false} ~cond := #in~cond; {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L290 TraceCheckUtils]: 144: Hoare triple {16238#false} assume !(0 == ~cond); {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L290 TraceCheckUtils]: 145: Hoare triple {16238#false} assume true; {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {16238#false} {16238#false} #95#return; {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L272 TraceCheckUtils]: 147: Hoare triple {16238#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)); {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L290 TraceCheckUtils]: 148: Hoare triple {16238#false} ~cond := #in~cond; {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L290 TraceCheckUtils]: 149: Hoare triple {16238#false} assume 0 == ~cond; {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L290 TraceCheckUtils]: 150: Hoare triple {16238#false} assume !false; {16238#false} is VALID [2022-04-27 13:10:29,091 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 246 proven. 51 refuted. 0 times theorem prover too weak. 543 trivial. 0 not checked. [2022-04-27 13:10:29,091 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:29,704 INFO L290 TraceCheckUtils]: 150: Hoare triple {16238#false} assume !false; {16238#false} is VALID [2022-04-27 13:10:29,704 INFO L290 TraceCheckUtils]: 149: Hoare triple {16238#false} assume 0 == ~cond; {16238#false} is VALID [2022-04-27 13:10:29,704 INFO L290 TraceCheckUtils]: 148: Hoare triple {16238#false} ~cond := #in~cond; {16238#false} is VALID [2022-04-27 13:10:29,704 INFO L272 TraceCheckUtils]: 147: Hoare triple {16238#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)); {16238#false} is VALID [2022-04-27 13:10:29,704 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {16237#true} {16238#false} #95#return; {16238#false} is VALID [2022-04-27 13:10:29,704 INFO L290 TraceCheckUtils]: 145: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,704 INFO L290 TraceCheckUtils]: 144: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,704 INFO L290 TraceCheckUtils]: 143: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L272 TraceCheckUtils]: 142: Hoare triple {16238#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {16237#true} {16238#false} #93#return; {16238#false} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 140: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 139: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 138: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L272 TraceCheckUtils]: 137: Hoare triple {16238#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {16237#true} {16238#false} #91#return; {16238#false} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 135: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 134: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 133: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L272 TraceCheckUtils]: 132: Hoare triple {16238#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 131: Hoare triple {16238#false} assume !false; {16238#false} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 130: Hoare triple {16238#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16238#false} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 129: Hoare triple {16238#false} assume !false; {16238#false} is VALID [2022-04-27 13:10:29,705 INFO L290 TraceCheckUtils]: 128: Hoare triple {16238#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; {16238#false} is VALID [2022-04-27 13:10:29,706 INFO L290 TraceCheckUtils]: 127: Hoare triple {16769#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {16238#false} is VALID [2022-04-27 13:10:29,706 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {16237#true} {16769#(<= main_~b~0 main_~c~0)} #97#return; {16769#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:29,706 INFO L290 TraceCheckUtils]: 125: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,706 INFO L290 TraceCheckUtils]: 124: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,706 INFO L290 TraceCheckUtils]: 123: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,706 INFO L272 TraceCheckUtils]: 122: Hoare triple {16769#(<= 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)); {16237#true} is VALID [2022-04-27 13:10:29,707 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {16237#true} {16769#(<= main_~b~0 main_~c~0)} #95#return; {16769#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:29,707 INFO L290 TraceCheckUtils]: 120: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,707 INFO L290 TraceCheckUtils]: 119: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,707 INFO L290 TraceCheckUtils]: 118: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,707 INFO L272 TraceCheckUtils]: 117: Hoare triple {16769#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,708 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {16237#true} {16769#(<= main_~b~0 main_~c~0)} #93#return; {16769#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:29,708 INFO L290 TraceCheckUtils]: 115: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,708 INFO L290 TraceCheckUtils]: 114: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,708 INFO L290 TraceCheckUtils]: 113: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,708 INFO L272 TraceCheckUtils]: 112: Hoare triple {16769#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,708 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {16237#true} {16769#(<= main_~b~0 main_~c~0)} #91#return; {16769#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:29,708 INFO L290 TraceCheckUtils]: 110: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,708 INFO L290 TraceCheckUtils]: 109: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,709 INFO L290 TraceCheckUtils]: 108: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,709 INFO L272 TraceCheckUtils]: 107: Hoare triple {16769#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,709 INFO L290 TraceCheckUtils]: 106: Hoare triple {16769#(<= main_~b~0 main_~c~0)} assume !false; {16769#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:29,710 INFO L290 TraceCheckUtils]: 105: Hoare triple {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16769#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:29,710 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {16237#true} {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:29,710 INFO L290 TraceCheckUtils]: 103: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,710 INFO L290 TraceCheckUtils]: 102: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,710 INFO L290 TraceCheckUtils]: 101: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,710 INFO L272 TraceCheckUtils]: 100: Hoare triple {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= 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)); {16237#true} is VALID [2022-04-27 13:10:29,711 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {16237#true} {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:29,711 INFO L290 TraceCheckUtils]: 98: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,711 INFO L290 TraceCheckUtils]: 97: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,711 INFO L290 TraceCheckUtils]: 96: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,711 INFO L272 TraceCheckUtils]: 95: Hoare triple {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,712 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {16237#true} {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:29,712 INFO L290 TraceCheckUtils]: 93: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,712 INFO L290 TraceCheckUtils]: 92: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,712 INFO L290 TraceCheckUtils]: 91: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,712 INFO L272 TraceCheckUtils]: 90: Hoare triple {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,712 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {16237#true} {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:29,712 INFO L290 TraceCheckUtils]: 88: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,713 INFO L290 TraceCheckUtils]: 87: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,713 INFO L290 TraceCheckUtils]: 86: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,713 INFO L272 TraceCheckUtils]: 85: Hoare triple {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,713 INFO L290 TraceCheckUtils]: 84: Hoare triple {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:29,714 INFO L290 TraceCheckUtils]: 83: Hoare triple {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16836#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:29,714 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {16237#true} {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #97#return; {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:29,714 INFO L290 TraceCheckUtils]: 81: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,714 INFO L290 TraceCheckUtils]: 80: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,714 INFO L290 TraceCheckUtils]: 79: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,714 INFO L272 TraceCheckUtils]: 78: Hoare triple {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= 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)); {16237#true} is VALID [2022-04-27 13:10:29,715 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16237#true} {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #95#return; {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:29,715 INFO L290 TraceCheckUtils]: 76: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,715 INFO L290 TraceCheckUtils]: 75: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,715 INFO L290 TraceCheckUtils]: 74: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,715 INFO L272 TraceCheckUtils]: 73: Hoare triple {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16237#true} {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #93#return; {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:29,716 INFO L290 TraceCheckUtils]: 71: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L290 TraceCheckUtils]: 70: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L290 TraceCheckUtils]: 69: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L272 TraceCheckUtils]: 68: Hoare triple {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {16237#true} {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #91#return; {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:29,716 INFO L290 TraceCheckUtils]: 66: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L290 TraceCheckUtils]: 65: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L290 TraceCheckUtils]: 64: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,716 INFO L272 TraceCheckUtils]: 63: Hoare triple {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,717 INFO L290 TraceCheckUtils]: 62: Hoare triple {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !false; {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:29,717 INFO L290 TraceCheckUtils]: 61: Hoare triple {16363#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16903#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:29,718 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #97#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,718 INFO L290 TraceCheckUtils]: 59: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,718 INFO L290 TraceCheckUtils]: 58: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,718 INFO L290 TraceCheckUtils]: 57: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,718 INFO L272 TraceCheckUtils]: 56: Hoare triple {16363#(<= main_~c~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)); {16237#true} is VALID [2022-04-27 13:10:29,725 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #95#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,725 INFO L290 TraceCheckUtils]: 54: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,725 INFO L290 TraceCheckUtils]: 53: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,725 INFO L290 TraceCheckUtils]: 52: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,725 INFO L272 TraceCheckUtils]: 51: Hoare triple {16363#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,726 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #93#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,726 INFO L290 TraceCheckUtils]: 48: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,726 INFO L290 TraceCheckUtils]: 47: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,726 INFO L272 TraceCheckUtils]: 46: Hoare triple {16363#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,727 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16237#true} {16363#(<= main_~c~0 2)} #91#return; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,727 INFO L290 TraceCheckUtils]: 44: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,727 INFO L290 TraceCheckUtils]: 43: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,727 INFO L290 TraceCheckUtils]: 42: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,727 INFO L272 TraceCheckUtils]: 41: Hoare triple {16363#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,727 INFO L290 TraceCheckUtils]: 40: Hoare triple {16363#(<= main_~c~0 2)} assume !false; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,727 INFO L290 TraceCheckUtils]: 39: Hoare triple {16326#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16363#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:29,728 INFO L290 TraceCheckUtils]: 38: Hoare triple {16326#(<= main_~a~0 2)} assume !false; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,728 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16237#true} {16326#(<= main_~a~0 2)} #89#return; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,728 INFO L290 TraceCheckUtils]: 36: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,728 INFO L290 TraceCheckUtils]: 35: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,728 INFO L290 TraceCheckUtils]: 34: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,728 INFO L272 TraceCheckUtils]: 33: Hoare triple {16326#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,729 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16237#true} {16326#(<= main_~a~0 2)} #87#return; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,729 INFO L290 TraceCheckUtils]: 31: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,729 INFO L290 TraceCheckUtils]: 29: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,729 INFO L272 TraceCheckUtils]: 28: Hoare triple {16326#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,729 INFO L290 TraceCheckUtils]: 27: Hoare triple {17072#(<= main_~x~0 2)} ~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; {16326#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:29,730 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16237#true} {17072#(<= main_~x~0 2)} #85#return; {17072#(<= main_~x~0 2)} is VALID [2022-04-27 13:10:29,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,730 INFO L290 TraceCheckUtils]: 23: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,730 INFO L272 TraceCheckUtils]: 22: Hoare triple {17072#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,730 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16237#true} {17072#(<= main_~x~0 2)} #83#return; {17072#(<= main_~x~0 2)} is VALID [2022-04-27 13:10:29,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,730 INFO L290 TraceCheckUtils]: 19: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,730 INFO L272 TraceCheckUtils]: 17: Hoare triple {17072#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,731 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16237#true} {17072#(<= main_~x~0 2)} #81#return; {17072#(<= main_~x~0 2)} is VALID [2022-04-27 13:10:29,731 INFO L290 TraceCheckUtils]: 15: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,731 INFO L290 TraceCheckUtils]: 14: Hoare triple {16237#true} assume !(0 == ~cond); {16237#true} is VALID [2022-04-27 13:10:29,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {16237#true} ~cond := #in~cond; {16237#true} is VALID [2022-04-27 13:10:29,731 INFO L272 TraceCheckUtils]: 12: Hoare triple {17072#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {17072#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17072#(<= main_~x~0 2)} is VALID [2022-04-27 13:10:29,732 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16267#(not (= |assume_abort_if_not_#in~cond| 0))} {16237#true} #79#return; {17072#(<= main_~x~0 2)} is VALID [2022-04-27 13:10:29,732 INFO L290 TraceCheckUtils]: 9: Hoare triple {16267#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16267#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {17133#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {16267#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,732 INFO L290 TraceCheckUtils]: 7: Hoare triple {16237#true} ~cond := #in~cond; {17133#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:10:29,733 INFO L272 TraceCheckUtils]: 6: Hoare triple {16237#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {16237#true} is VALID [2022-04-27 13:10:29,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {16237#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; {16237#true} is VALID [2022-04-27 13:10:29,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {16237#true} call #t~ret6 := main(); {16237#true} is VALID [2022-04-27 13:10:29,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16237#true} {16237#true} #103#return; {16237#true} is VALID [2022-04-27 13:10:29,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {16237#true} assume true; {16237#true} is VALID [2022-04-27 13:10:29,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {16237#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); {16237#true} is VALID [2022-04-27 13:10:29,733 INFO L272 TraceCheckUtils]: 0: Hoare triple {16237#true} call ULTIMATE.init(); {16237#true} is VALID [2022-04-27 13:10:29,733 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 60 proven. 51 refuted. 0 times theorem prover too weak. 729 trivial. 0 not checked. [2022-04-27 13:10:29,733 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:29,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2051212928] [2022-04-27 13:10:29,734 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:29,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1822957996] [2022-04-27 13:10:29,734 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1822957996] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:29,734 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:29,734 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-27 13:10:29,734 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [156459976] [2022-04-27 13:10:29,734 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:29,734 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 15 states have internal predecessors, (44), 12 states have call successors, (46), 2 states have call predecessors, (46), 3 states have return successors, (45), 12 states have call predecessors, (45), 12 states have call successors, (45) Word has length 151 [2022-04-27 13:10:29,735 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:29,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 15 states have internal predecessors, (44), 12 states have call successors, (46), 2 states have call predecessors, (46), 3 states have return successors, (45), 12 states have call predecessors, (45), 12 states have call successors, (45) [2022-04-27 13:10:29,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:29,842 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 13:10:29,842 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:29,842 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 13:10:29,842 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:10:29,842 INFO L87 Difference]: Start difference. First operand 179 states and 229 transitions. Second operand has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 15 states have internal predecessors, (44), 12 states have call successors, (46), 2 states have call predecessors, (46), 3 states have return successors, (45), 12 states have call predecessors, (45), 12 states have call successors, (45) [2022-04-27 13:10:31,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:31,294 INFO L93 Difference]: Finished difference Result 214 states and 274 transitions. [2022-04-27 13:10:31,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 13:10:31,294 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 15 states have internal predecessors, (44), 12 states have call successors, (46), 2 states have call predecessors, (46), 3 states have return successors, (45), 12 states have call predecessors, (45), 12 states have call successors, (45) Word has length 151 [2022-04-27 13:10:31,294 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:31,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 15 states have internal predecessors, (44), 12 states have call successors, (46), 2 states have call predecessors, (46), 3 states have return successors, (45), 12 states have call predecessors, (45), 12 states have call successors, (45) [2022-04-27 13:10:31,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-27 13:10:31,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 15 states have internal predecessors, (44), 12 states have call successors, (46), 2 states have call predecessors, (46), 3 states have return successors, (45), 12 states have call predecessors, (45), 12 states have call successors, (45) [2022-04-27 13:10:31,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-27 13:10:31,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 108 transitions. [2022-04-27 13:10:31,402 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:31,404 INFO L225 Difference]: With dead ends: 214 [2022-04-27 13:10:31,404 INFO L226 Difference]: Without dead ends: 124 [2022-04-27 13:10:31,404 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 310 GetRequests, 287 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=104, Invalid=448, Unknown=0, NotChecked=0, Total=552 [2022-04-27 13:10:31,405 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 26 mSDsluCounter, 281 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 67 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 343 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 67 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:31,405 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 343 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [67 Valid, 376 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:10:31,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-27 13:10:31,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2022-04-27 13:10:31,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:31,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 124 states, 69 states have (on average 1.0434782608695652) internal successors, (72), 69 states have internal predecessors, (72), 40 states have call successors, (40), 15 states have call predecessors, (40), 14 states have return successors, (39), 39 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:10:31,661 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 124 states, 69 states have (on average 1.0434782608695652) internal successors, (72), 69 states have internal predecessors, (72), 40 states have call successors, (40), 15 states have call predecessors, (40), 14 states have return successors, (39), 39 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:10:31,661 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 124 states, 69 states have (on average 1.0434782608695652) internal successors, (72), 69 states have internal predecessors, (72), 40 states have call successors, (40), 15 states have call predecessors, (40), 14 states have return successors, (39), 39 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:10:31,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:31,663 INFO L93 Difference]: Finished difference Result 124 states and 151 transitions. [2022-04-27 13:10:31,663 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 151 transitions. [2022-04-27 13:10:31,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:31,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:31,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 69 states have (on average 1.0434782608695652) internal successors, (72), 69 states have internal predecessors, (72), 40 states have call successors, (40), 15 states have call predecessors, (40), 14 states have return successors, (39), 39 states have call predecessors, (39), 39 states have call successors, (39) Second operand 124 states. [2022-04-27 13:10:31,664 INFO L87 Difference]: Start difference. First operand has 124 states, 69 states have (on average 1.0434782608695652) internal successors, (72), 69 states have internal predecessors, (72), 40 states have call successors, (40), 15 states have call predecessors, (40), 14 states have return successors, (39), 39 states have call predecessors, (39), 39 states have call successors, (39) Second operand 124 states. [2022-04-27 13:10:31,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:31,665 INFO L93 Difference]: Finished difference Result 124 states and 151 transitions. [2022-04-27 13:10:31,666 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 151 transitions. [2022-04-27 13:10:31,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:31,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:31,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:31,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:31,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 69 states have (on average 1.0434782608695652) internal successors, (72), 69 states have internal predecessors, (72), 40 states have call successors, (40), 15 states have call predecessors, (40), 14 states have return successors, (39), 39 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:10:31,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 151 transitions. [2022-04-27 13:10:31,668 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 151 transitions. Word has length 151 [2022-04-27 13:10:31,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:31,668 INFO L495 AbstractCegarLoop]: Abstraction has 124 states and 151 transitions. [2022-04-27 13:10:31,669 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.933333333333333) internal successors, (44), 15 states have internal predecessors, (44), 12 states have call successors, (46), 2 states have call predecessors, (46), 3 states have return successors, (45), 12 states have call predecessors, (45), 12 states have call successors, (45) [2022-04-27 13:10:31,669 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 151 transitions. [2022-04-27 13:10:31,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 172 [2022-04-27 13:10:31,669 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:31,669 INFO L195 NwaCegarLoop]: trace histogram [23, 22, 22, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:31,689 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-27 13:10:31,883 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-27 13:10:31,883 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:31,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:31,884 INFO L85 PathProgramCache]: Analyzing trace with hash 2136188073, now seen corresponding path program 5 times [2022-04-27 13:10:31,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:31,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1934734374] [2022-04-27 13:10:31,884 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:31,884 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:31,904 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:31,905 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [380601431] [2022-04-27 13:10:31,908 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 13:10:31,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:31,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:31,911 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:10:31,925 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-27 13:10:31,993 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2022-04-27 13:10:31,993 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:10:31,994 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 13:10:32,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:32,017 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:32,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {17947#true} call ULTIMATE.init(); {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {17947#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); {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17947#true} {17947#true} #103#return; {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {17947#true} call #t~ret6 := main(); {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {17947#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; {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {17947#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17947#true} {17947#true} #79#return; {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {17947#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17947#true} is VALID [2022-04-27 13:10:32,518 INFO L272 TraceCheckUtils]: 12: Hoare triple {17947#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {17947#true} ~cond := #in~cond; {17991#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:32,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {17991#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17995#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:32,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {17995#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17995#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:32,520 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17995#(not (= |assume_abort_if_not_#in~cond| 0))} {17947#true} #81#return; {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:10:32,520 INFO L272 TraceCheckUtils]: 17: Hoare triple {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,520 INFO L290 TraceCheckUtils]: 19: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,520 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17947#true} {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:10:32,520 INFO L272 TraceCheckUtils]: 22: Hoare triple {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,520 INFO L290 TraceCheckUtils]: 23: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,520 INFO L290 TraceCheckUtils]: 24: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,520 INFO L290 TraceCheckUtils]: 25: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,521 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17947#true} {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:10:32,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {18002#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,521 INFO L272 TraceCheckUtils]: 28: Hoare triple {18036#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,521 INFO L290 TraceCheckUtils]: 29: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,521 INFO L290 TraceCheckUtils]: 30: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,521 INFO L290 TraceCheckUtils]: 31: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,522 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17947#true} {18036#(<= main_~b~0 2)} #87#return; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,522 INFO L272 TraceCheckUtils]: 33: Hoare triple {18036#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,522 INFO L290 TraceCheckUtils]: 34: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,522 INFO L290 TraceCheckUtils]: 35: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,522 INFO L290 TraceCheckUtils]: 36: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,522 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17947#true} {18036#(<= main_~b~0 2)} #89#return; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,523 INFO L290 TraceCheckUtils]: 38: Hoare triple {18036#(<= main_~b~0 2)} assume !false; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,523 INFO L290 TraceCheckUtils]: 39: Hoare triple {18036#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,523 INFO L290 TraceCheckUtils]: 40: Hoare triple {18036#(<= main_~b~0 2)} assume !false; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,523 INFO L272 TraceCheckUtils]: 41: Hoare triple {18036#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,523 INFO L290 TraceCheckUtils]: 42: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,523 INFO L290 TraceCheckUtils]: 43: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,523 INFO L290 TraceCheckUtils]: 44: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,524 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {17947#true} {18036#(<= main_~b~0 2)} #91#return; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,524 INFO L272 TraceCheckUtils]: 46: Hoare triple {18036#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,524 INFO L290 TraceCheckUtils]: 47: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,524 INFO L290 TraceCheckUtils]: 48: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,524 INFO L290 TraceCheckUtils]: 49: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,524 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17947#true} {18036#(<= main_~b~0 2)} #93#return; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,525 INFO L272 TraceCheckUtils]: 51: Hoare triple {18036#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,525 INFO L290 TraceCheckUtils]: 52: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,525 INFO L290 TraceCheckUtils]: 53: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,525 INFO L290 TraceCheckUtils]: 54: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,525 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {17947#true} {18036#(<= main_~b~0 2)} #95#return; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,525 INFO L272 TraceCheckUtils]: 56: Hoare triple {18036#(<= 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)); {17947#true} is VALID [2022-04-27 13:10:32,525 INFO L290 TraceCheckUtils]: 57: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,525 INFO L290 TraceCheckUtils]: 58: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,525 INFO L290 TraceCheckUtils]: 59: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,526 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {17947#true} {18036#(<= main_~b~0 2)} #97#return; {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,526 INFO L290 TraceCheckUtils]: 61: Hoare triple {18036#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {18036#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:32,526 INFO L290 TraceCheckUtils]: 62: Hoare triple {18036#(<= main_~b~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18142#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:32,527 INFO L290 TraceCheckUtils]: 63: Hoare triple {18142#(<= main_~a~0 2)} assume !false; {18142#(<= main_~a~0 2)} is VALID [2022-04-27 13:10:32,527 INFO L290 TraceCheckUtils]: 64: Hoare triple {18142#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18149#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:32,527 INFO L290 TraceCheckUtils]: 65: Hoare triple {18149#(<= main_~c~0 2)} assume !false; {18149#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:32,527 INFO L272 TraceCheckUtils]: 66: Hoare triple {18149#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,527 INFO L290 TraceCheckUtils]: 67: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,527 INFO L290 TraceCheckUtils]: 68: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,528 INFO L290 TraceCheckUtils]: 69: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,528 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {17947#true} {18149#(<= main_~c~0 2)} #91#return; {18149#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:32,528 INFO L272 TraceCheckUtils]: 71: Hoare triple {18149#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,528 INFO L290 TraceCheckUtils]: 72: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,528 INFO L290 TraceCheckUtils]: 73: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,528 INFO L290 TraceCheckUtils]: 74: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,529 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {17947#true} {18149#(<= main_~c~0 2)} #93#return; {18149#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:32,529 INFO L272 TraceCheckUtils]: 76: Hoare triple {18149#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,529 INFO L290 TraceCheckUtils]: 77: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,529 INFO L290 TraceCheckUtils]: 78: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,529 INFO L290 TraceCheckUtils]: 79: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,529 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {17947#true} {18149#(<= main_~c~0 2)} #95#return; {18149#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:32,529 INFO L272 TraceCheckUtils]: 81: Hoare triple {18149#(<= main_~c~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)); {17947#true} is VALID [2022-04-27 13:10:32,530 INFO L290 TraceCheckUtils]: 82: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,530 INFO L290 TraceCheckUtils]: 83: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,530 INFO L290 TraceCheckUtils]: 84: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,530 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {17947#true} {18149#(<= main_~c~0 2)} #97#return; {18149#(<= main_~c~0 2)} is VALID [2022-04-27 13:10:32,531 INFO L290 TraceCheckUtils]: 86: Hoare triple {18149#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18216#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:32,531 INFO L290 TraceCheckUtils]: 87: Hoare triple {18216#(<= (+ main_~c~0 main_~b~0) 2)} assume !false; {18216#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:32,531 INFO L272 TraceCheckUtils]: 88: Hoare triple {18216#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,531 INFO L290 TraceCheckUtils]: 89: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,531 INFO L290 TraceCheckUtils]: 90: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,531 INFO L290 TraceCheckUtils]: 91: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,532 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {17947#true} {18216#(<= (+ main_~c~0 main_~b~0) 2)} #91#return; {18216#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:32,532 INFO L272 TraceCheckUtils]: 93: Hoare triple {18216#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,532 INFO L290 TraceCheckUtils]: 94: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,532 INFO L290 TraceCheckUtils]: 95: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,532 INFO L290 TraceCheckUtils]: 96: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,533 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {17947#true} {18216#(<= (+ main_~c~0 main_~b~0) 2)} #93#return; {18216#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:32,533 INFO L272 TraceCheckUtils]: 98: Hoare triple {18216#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,533 INFO L290 TraceCheckUtils]: 99: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,533 INFO L290 TraceCheckUtils]: 100: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,533 INFO L290 TraceCheckUtils]: 101: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,533 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {17947#true} {18216#(<= (+ main_~c~0 main_~b~0) 2)} #95#return; {18216#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:32,533 INFO L272 TraceCheckUtils]: 103: Hoare triple {18216#(<= (+ main_~c~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)); {17947#true} is VALID [2022-04-27 13:10:32,533 INFO L290 TraceCheckUtils]: 104: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,534 INFO L290 TraceCheckUtils]: 105: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,534 INFO L290 TraceCheckUtils]: 106: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,534 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {17947#true} {18216#(<= (+ main_~c~0 main_~b~0) 2)} #97#return; {18216#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-27 13:10:32,535 INFO L290 TraceCheckUtils]: 108: Hoare triple {18216#(<= (+ main_~c~0 main_~b~0) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:32,536 INFO L290 TraceCheckUtils]: 109: Hoare triple {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !false; {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:32,536 INFO L272 TraceCheckUtils]: 110: Hoare triple {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,536 INFO L290 TraceCheckUtils]: 111: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,536 INFO L290 TraceCheckUtils]: 112: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,536 INFO L290 TraceCheckUtils]: 113: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,552 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {17947#true} {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #91#return; {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:32,552 INFO L272 TraceCheckUtils]: 115: Hoare triple {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,552 INFO L290 TraceCheckUtils]: 116: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,552 INFO L290 TraceCheckUtils]: 117: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,552 INFO L290 TraceCheckUtils]: 118: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,553 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {17947#true} {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #93#return; {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:32,553 INFO L272 TraceCheckUtils]: 120: Hoare triple {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,553 INFO L290 TraceCheckUtils]: 121: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,553 INFO L290 TraceCheckUtils]: 122: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,553 INFO L290 TraceCheckUtils]: 123: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,554 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {17947#true} {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #95#return; {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:32,554 INFO L272 TraceCheckUtils]: 125: Hoare triple {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 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)); {17947#true} is VALID [2022-04-27 13:10:32,554 INFO L290 TraceCheckUtils]: 126: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,554 INFO L290 TraceCheckUtils]: 127: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,554 INFO L290 TraceCheckUtils]: 128: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,555 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {17947#true} {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #97#return; {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-27 13:10:32,556 INFO L290 TraceCheckUtils]: 130: Hoare triple {18283#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:32,557 INFO L290 TraceCheckUtils]: 131: Hoare triple {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !false; {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:32,557 INFO L272 TraceCheckUtils]: 132: Hoare triple {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,557 INFO L290 TraceCheckUtils]: 133: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,557 INFO L290 TraceCheckUtils]: 134: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,557 INFO L290 TraceCheckUtils]: 135: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,557 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {17947#true} {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #91#return; {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:32,558 INFO L272 TraceCheckUtils]: 137: Hoare triple {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,558 INFO L290 TraceCheckUtils]: 138: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,558 INFO L290 TraceCheckUtils]: 139: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,558 INFO L290 TraceCheckUtils]: 140: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,558 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {17947#true} {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #93#return; {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:32,558 INFO L272 TraceCheckUtils]: 142: Hoare triple {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:32,558 INFO L290 TraceCheckUtils]: 143: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,558 INFO L290 TraceCheckUtils]: 144: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,558 INFO L290 TraceCheckUtils]: 145: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,559 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {17947#true} {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #95#return; {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:32,559 INFO L272 TraceCheckUtils]: 147: Hoare triple {18350#(and (<= (* main_~b~0 3) 2) (<= 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)); {17947#true} is VALID [2022-04-27 13:10:32,559 INFO L290 TraceCheckUtils]: 148: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:32,559 INFO L290 TraceCheckUtils]: 149: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:32,559 INFO L290 TraceCheckUtils]: 150: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:32,560 INFO L284 TraceCheckUtils]: 151: Hoare quadruple {17947#true} {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #97#return; {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-27 13:10:32,560 INFO L290 TraceCheckUtils]: 152: Hoare triple {18350#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {17948#false} is VALID [2022-04-27 13:10:32,560 INFO L290 TraceCheckUtils]: 153: Hoare triple {17948#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; {17948#false} is VALID [2022-04-27 13:10:32,560 INFO L290 TraceCheckUtils]: 154: Hoare triple {17948#false} assume !false; {17948#false} is VALID [2022-04-27 13:10:32,560 INFO L290 TraceCheckUtils]: 155: Hoare triple {17948#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {17948#false} is VALID [2022-04-27 13:10:32,560 INFO L290 TraceCheckUtils]: 156: Hoare triple {17948#false} assume !false; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L272 TraceCheckUtils]: 157: Hoare triple {17948#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 158: Hoare triple {17948#false} ~cond := #in~cond; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 159: Hoare triple {17948#false} assume !(0 == ~cond); {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 160: Hoare triple {17948#false} assume true; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L284 TraceCheckUtils]: 161: Hoare quadruple {17948#false} {17948#false} #91#return; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L272 TraceCheckUtils]: 162: Hoare triple {17948#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 163: Hoare triple {17948#false} ~cond := #in~cond; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 164: Hoare triple {17948#false} assume !(0 == ~cond); {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 165: Hoare triple {17948#false} assume true; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L284 TraceCheckUtils]: 166: Hoare quadruple {17948#false} {17948#false} #93#return; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L272 TraceCheckUtils]: 167: Hoare triple {17948#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 168: Hoare triple {17948#false} ~cond := #in~cond; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 169: Hoare triple {17948#false} assume 0 == ~cond; {17948#false} is VALID [2022-04-27 13:10:32,561 INFO L290 TraceCheckUtils]: 170: Hoare triple {17948#false} assume !false; {17948#false} is VALID [2022-04-27 13:10:32,562 INFO L134 CoverageAnalysis]: Checked inductivity of 1115 backedges. 234 proven. 68 refuted. 0 times theorem prover too weak. 813 trivial. 0 not checked. [2022-04-27 13:10:32,562 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:33,551 INFO L290 TraceCheckUtils]: 170: Hoare triple {17948#false} assume !false; {17948#false} is VALID [2022-04-27 13:10:33,551 INFO L290 TraceCheckUtils]: 169: Hoare triple {17948#false} assume 0 == ~cond; {17948#false} is VALID [2022-04-27 13:10:33,551 INFO L290 TraceCheckUtils]: 168: Hoare triple {17948#false} ~cond := #in~cond; {17948#false} is VALID [2022-04-27 13:10:33,551 INFO L272 TraceCheckUtils]: 167: Hoare triple {17948#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17948#false} is VALID [2022-04-27 13:10:33,551 INFO L284 TraceCheckUtils]: 166: Hoare quadruple {17947#true} {17948#false} #93#return; {17948#false} is VALID [2022-04-27 13:10:33,551 INFO L290 TraceCheckUtils]: 165: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,551 INFO L290 TraceCheckUtils]: 164: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,551 INFO L290 TraceCheckUtils]: 163: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,551 INFO L272 TraceCheckUtils]: 162: Hoare triple {17948#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,551 INFO L284 TraceCheckUtils]: 161: Hoare quadruple {17947#true} {17948#false} #91#return; {17948#false} is VALID [2022-04-27 13:10:33,551 INFO L290 TraceCheckUtils]: 160: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,552 INFO L290 TraceCheckUtils]: 159: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,552 INFO L290 TraceCheckUtils]: 158: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,552 INFO L272 TraceCheckUtils]: 157: Hoare triple {17948#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,552 INFO L290 TraceCheckUtils]: 156: Hoare triple {17948#false} assume !false; {17948#false} is VALID [2022-04-27 13:10:33,552 INFO L290 TraceCheckUtils]: 155: Hoare triple {17948#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {17948#false} is VALID [2022-04-27 13:10:33,552 INFO L290 TraceCheckUtils]: 154: Hoare triple {17948#false} assume !false; {17948#false} is VALID [2022-04-27 13:10:33,552 INFO L290 TraceCheckUtils]: 153: Hoare triple {17948#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; {17948#false} is VALID [2022-04-27 13:10:33,552 INFO L290 TraceCheckUtils]: 152: Hoare triple {18525#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {17948#false} is VALID [2022-04-27 13:10:33,553 INFO L284 TraceCheckUtils]: 151: Hoare quadruple {17947#true} {18525#(<= main_~b~0 main_~c~0)} #97#return; {18525#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:33,553 INFO L290 TraceCheckUtils]: 150: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,553 INFO L290 TraceCheckUtils]: 149: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,553 INFO L290 TraceCheckUtils]: 148: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,553 INFO L272 TraceCheckUtils]: 147: Hoare triple {18525#(<= 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)); {17947#true} is VALID [2022-04-27 13:10:33,553 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {17947#true} {18525#(<= main_~b~0 main_~c~0)} #95#return; {18525#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:33,553 INFO L290 TraceCheckUtils]: 145: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,554 INFO L290 TraceCheckUtils]: 144: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,554 INFO L290 TraceCheckUtils]: 143: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,554 INFO L272 TraceCheckUtils]: 142: Hoare triple {18525#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,554 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {17947#true} {18525#(<= main_~b~0 main_~c~0)} #93#return; {18525#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:33,554 INFO L290 TraceCheckUtils]: 140: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,554 INFO L290 TraceCheckUtils]: 139: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,554 INFO L290 TraceCheckUtils]: 138: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,554 INFO L272 TraceCheckUtils]: 137: Hoare triple {18525#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,555 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {17947#true} {18525#(<= main_~b~0 main_~c~0)} #91#return; {18525#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:33,555 INFO L290 TraceCheckUtils]: 135: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,555 INFO L290 TraceCheckUtils]: 134: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,555 INFO L290 TraceCheckUtils]: 133: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,555 INFO L272 TraceCheckUtils]: 132: Hoare triple {18525#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,555 INFO L290 TraceCheckUtils]: 131: Hoare triple {18525#(<= main_~b~0 main_~c~0)} assume !false; {18525#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:33,556 INFO L290 TraceCheckUtils]: 130: Hoare triple {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18525#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:33,557 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {17947#true} {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:33,557 INFO L290 TraceCheckUtils]: 128: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,557 INFO L290 TraceCheckUtils]: 127: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,557 INFO L290 TraceCheckUtils]: 126: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,557 INFO L272 TraceCheckUtils]: 125: Hoare triple {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= 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)); {17947#true} is VALID [2022-04-27 13:10:33,558 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {17947#true} {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:33,558 INFO L290 TraceCheckUtils]: 123: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,558 INFO L290 TraceCheckUtils]: 122: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,558 INFO L290 TraceCheckUtils]: 121: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,558 INFO L272 TraceCheckUtils]: 120: Hoare triple {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,558 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {17947#true} {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:33,558 INFO L290 TraceCheckUtils]: 118: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,559 INFO L290 TraceCheckUtils]: 117: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,559 INFO L290 TraceCheckUtils]: 116: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,559 INFO L272 TraceCheckUtils]: 115: Hoare triple {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,560 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {17947#true} {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:33,561 INFO L290 TraceCheckUtils]: 113: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,561 INFO L290 TraceCheckUtils]: 112: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,561 INFO L290 TraceCheckUtils]: 111: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,561 INFO L272 TraceCheckUtils]: 110: Hoare triple {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,561 INFO L290 TraceCheckUtils]: 109: Hoare triple {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:33,562 INFO L290 TraceCheckUtils]: 108: Hoare triple {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18592#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:33,562 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {17947#true} {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #97#return; {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,562 INFO L290 TraceCheckUtils]: 106: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,562 INFO L290 TraceCheckUtils]: 105: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,562 INFO L290 TraceCheckUtils]: 104: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,563 INFO L272 TraceCheckUtils]: 103: Hoare triple {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= 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)); {17947#true} is VALID [2022-04-27 13:10:33,563 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {17947#true} {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #95#return; {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,563 INFO L290 TraceCheckUtils]: 101: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,563 INFO L290 TraceCheckUtils]: 100: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,563 INFO L290 TraceCheckUtils]: 99: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,563 INFO L272 TraceCheckUtils]: 98: Hoare triple {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,564 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {17947#true} {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #93#return; {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,564 INFO L290 TraceCheckUtils]: 96: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,564 INFO L290 TraceCheckUtils]: 95: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,564 INFO L290 TraceCheckUtils]: 94: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,564 INFO L272 TraceCheckUtils]: 93: Hoare triple {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,564 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {17947#true} {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #91#return; {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,564 INFO L290 TraceCheckUtils]: 91: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,565 INFO L290 TraceCheckUtils]: 90: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,565 INFO L290 TraceCheckUtils]: 89: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,565 INFO L272 TraceCheckUtils]: 88: Hoare triple {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,565 INFO L290 TraceCheckUtils]: 87: Hoare triple {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !false; {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,566 INFO L290 TraceCheckUtils]: 86: Hoare triple {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18659#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,566 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {17947#true} {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} #97#return; {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} is VALID [2022-04-27 13:10:33,566 INFO L290 TraceCheckUtils]: 84: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,566 INFO L290 TraceCheckUtils]: 83: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,566 INFO L290 TraceCheckUtils]: 82: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,566 INFO L272 TraceCheckUtils]: 81: Hoare triple {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} 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)); {17947#true} is VALID [2022-04-27 13:10:33,567 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {17947#true} {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} #95#return; {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} is VALID [2022-04-27 13:10:33,567 INFO L290 TraceCheckUtils]: 79: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,567 INFO L290 TraceCheckUtils]: 78: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,567 INFO L290 TraceCheckUtils]: 77: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,567 INFO L272 TraceCheckUtils]: 76: Hoare triple {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,568 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {17947#true} {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} #93#return; {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} is VALID [2022-04-27 13:10:33,568 INFO L290 TraceCheckUtils]: 74: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,568 INFO L290 TraceCheckUtils]: 73: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,568 INFO L290 TraceCheckUtils]: 72: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,568 INFO L272 TraceCheckUtils]: 71: Hoare triple {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,568 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {17947#true} {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} #91#return; {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} is VALID [2022-04-27 13:10:33,568 INFO L290 TraceCheckUtils]: 69: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,568 INFO L290 TraceCheckUtils]: 68: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,568 INFO L290 TraceCheckUtils]: 67: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,569 INFO L272 TraceCheckUtils]: 66: Hoare triple {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,569 INFO L290 TraceCheckUtils]: 65: Hoare triple {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} assume !false; {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} is VALID [2022-04-27 13:10:33,569 INFO L290 TraceCheckUtils]: 64: Hoare triple {18793#(or (< main_~a~0 (* main_~b~0 3)) (<= main_~b~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18726#(or (<= main_~b~0 0) (< main_~c~0 (* main_~b~0 3)))} is VALID [2022-04-27 13:10:33,569 INFO L290 TraceCheckUtils]: 63: Hoare triple {18793#(or (< main_~a~0 (* main_~b~0 3)) (<= main_~b~0 0))} assume !false; {18793#(or (< main_~a~0 (* main_~b~0 3)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,570 INFO L290 TraceCheckUtils]: 62: Hoare triple {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} ~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; {18793#(or (< main_~a~0 (* main_~b~0 3)) (<= main_~b~0 0))} is VALID [2022-04-27 13:10:33,570 INFO L290 TraceCheckUtils]: 61: Hoare triple {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} assume !(~c~0 >= ~b~0); {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} is VALID [2022-04-27 13:10:33,571 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {17947#true} {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} #97#return; {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} is VALID [2022-04-27 13:10:33,571 INFO L290 TraceCheckUtils]: 59: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,571 INFO L290 TraceCheckUtils]: 58: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,571 INFO L290 TraceCheckUtils]: 57: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,572 INFO L272 TraceCheckUtils]: 56: Hoare triple {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} 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)); {17947#true} is VALID [2022-04-27 13:10:33,573 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {17947#true} {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} #95#return; {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} is VALID [2022-04-27 13:10:33,573 INFO L290 TraceCheckUtils]: 54: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,573 INFO L290 TraceCheckUtils]: 53: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,573 INFO L290 TraceCheckUtils]: 52: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,573 INFO L272 TraceCheckUtils]: 51: Hoare triple {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,573 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17947#true} {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} #93#return; {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} is VALID [2022-04-27 13:10:33,573 INFO L290 TraceCheckUtils]: 49: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,573 INFO L290 TraceCheckUtils]: 48: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,574 INFO L272 TraceCheckUtils]: 46: Hoare triple {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,574 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {17947#true} {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} #91#return; {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} is VALID [2022-04-27 13:10:33,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,574 INFO L290 TraceCheckUtils]: 43: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,574 INFO L290 TraceCheckUtils]: 42: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,574 INFO L272 TraceCheckUtils]: 41: Hoare triple {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,575 INFO L290 TraceCheckUtils]: 40: Hoare triple {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} assume !false; {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} is VALID [2022-04-27 13:10:33,575 INFO L290 TraceCheckUtils]: 39: Hoare triple {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18800#(or (<= main_~c~0 0) (< main_~b~0 (* main_~c~0 3)))} is VALID [2022-04-27 13:10:33,575 INFO L290 TraceCheckUtils]: 38: Hoare triple {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} assume !false; {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} is VALID [2022-04-27 13:10:33,576 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17947#true} {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} #89#return; {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} is VALID [2022-04-27 13:10:33,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,576 INFO L272 TraceCheckUtils]: 33: Hoare triple {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,576 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17947#true} {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} #87#return; {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} is VALID [2022-04-27 13:10:33,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,576 INFO L272 TraceCheckUtils]: 28: Hoare triple {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} ~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; {18870#(or (< main_~b~0 (* main_~a~0 3)) (<= main_~a~0 0))} is VALID [2022-04-27 13:10:33,577 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17947#true} {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} #85#return; {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} is VALID [2022-04-27 13:10:33,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,578 INFO L272 TraceCheckUtils]: 22: Hoare triple {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,578 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17947#true} {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} #83#return; {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} is VALID [2022-04-27 13:10:33,578 INFO L290 TraceCheckUtils]: 20: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,578 INFO L290 TraceCheckUtils]: 19: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,578 INFO L290 TraceCheckUtils]: 18: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,578 INFO L272 TraceCheckUtils]: 17: Hoare triple {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,579 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17995#(not (= |assume_abort_if_not_#in~cond| 0))} {17947#true} #81#return; {18907#(<= (div (+ (- 1) (* (- 1) main_~y~0)) (- 3)) 1)} is VALID [2022-04-27 13:10:33,579 INFO L290 TraceCheckUtils]: 15: Hoare triple {17995#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17995#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:33,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {18950#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {17995#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {17947#true} ~cond := #in~cond; {18950#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:10:33,580 INFO L272 TraceCheckUtils]: 12: Hoare triple {17947#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 11: Hoare triple {17947#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17947#true} {17947#true} #79#return; {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {17947#true} assume !(0 == ~cond); {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {17947#true} ~cond := #in~cond; {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L272 TraceCheckUtils]: 6: Hoare triple {17947#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {17947#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; {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {17947#true} call #t~ret6 := main(); {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17947#true} {17947#true} #103#return; {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {17947#true} assume true; {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {17947#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); {17947#true} is VALID [2022-04-27 13:10:33,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {17947#true} call ULTIMATE.init(); {17947#true} is VALID [2022-04-27 13:10:33,581 INFO L134 CoverageAnalysis]: Checked inductivity of 1115 backedges. 84 proven. 62 refuted. 0 times theorem prover too weak. 969 trivial. 0 not checked. [2022-04-27 13:10:33,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:33,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1934734374] [2022-04-27 13:10:33,581 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:33,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [380601431] [2022-04-27 13:10:33,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [380601431] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:33,581 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:33,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 20 [2022-04-27 13:10:33,581 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [559335350] [2022-04-27 13:10:33,582 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:33,582 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 2.8) internal successors, (56), 18 states have internal predecessors, (56), 15 states have call successors, (57), 2 states have call predecessors, (57), 3 states have return successors, (56), 15 states have call predecessors, (56), 15 states have call successors, (56) Word has length 171 [2022-04-27 13:10:33,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:33,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 2.8) internal successors, (56), 18 states have internal predecessors, (56), 15 states have call successors, (57), 2 states have call predecessors, (57), 3 states have return successors, (56), 15 states have call predecessors, (56), 15 states have call successors, (56) [2022-04-27 13:10:33,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 169 edges. 169 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:33,721 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-27 13:10:33,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:33,721 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-27 13:10:33,722 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=319, Unknown=0, NotChecked=0, Total=380 [2022-04-27 13:10:33,722 INFO L87 Difference]: Start difference. First operand 124 states and 151 transitions. Second operand has 20 states, 20 states have (on average 2.8) internal successors, (56), 18 states have internal predecessors, (56), 15 states have call successors, (57), 2 states have call predecessors, (57), 3 states have return successors, (56), 15 states have call predecessors, (56), 15 states have call successors, (56) [2022-04-27 13:10:35,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:35,643 INFO L93 Difference]: Finished difference Result 128 states and 154 transitions. [2022-04-27 13:10:35,643 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 13:10:35,644 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 2.8) internal successors, (56), 18 states have internal predecessors, (56), 15 states have call successors, (57), 2 states have call predecessors, (57), 3 states have return successors, (56), 15 states have call predecessors, (56), 15 states have call successors, (56) Word has length 171 [2022-04-27 13:10:35,644 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:35,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 2.8) internal successors, (56), 18 states have internal predecessors, (56), 15 states have call successors, (57), 2 states have call predecessors, (57), 3 states have return successors, (56), 15 states have call predecessors, (56), 15 states have call successors, (56) [2022-04-27 13:10:35,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-27 13:10:35,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 2.8) internal successors, (56), 18 states have internal predecessors, (56), 15 states have call successors, (57), 2 states have call predecessors, (57), 3 states have return successors, (56), 15 states have call predecessors, (56), 15 states have call successors, (56) [2022-04-27 13:10:35,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-27 13:10:35,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 101 transitions. [2022-04-27 13:10:35,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:35,741 INFO L225 Difference]: With dead ends: 128 [2022-04-27 13:10:35,741 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:10:35,741 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 350 GetRequests, 323 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=168, Invalid=644, Unknown=0, NotChecked=0, Total=812 [2022-04-27 13:10:35,742 INFO L413 NwaCegarLoop]: 65 mSDtfsCounter, 21 mSDsluCounter, 342 mSDsCounter, 0 mSdLazyCounter, 612 mSolverCounterSat, 98 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 407 SdHoareTripleChecker+Invalid, 710 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 98 IncrementalHoareTripleChecker+Valid, 612 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:35,742 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 407 Invalid, 710 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [98 Valid, 612 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:10:35,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:10:35,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:10:35,742 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:35,742 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:10:35,742 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:10:35,742 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:10:35,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:35,743 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:10:35,743 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:10:35,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:35,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:35,743 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:10:35,743 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:10:35,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:35,743 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:10:35,743 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:10:35,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:35,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:35,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:35,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:35,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:10:35,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:10:35,743 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 171 [2022-04-27 13:10:35,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:35,744 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:10:35,744 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 2.8) internal successors, (56), 18 states have internal predecessors, (56), 15 states have call successors, (57), 2 states have call predecessors, (57), 3 states have return successors, (56), 15 states have call predecessors, (56), 15 states have call successors, (56) [2022-04-27 13:10:35,744 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:10:35,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:35,746 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:10:35,764 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-27 13:10:35,946 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-27 13:10:35,948 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:10:46,348 WARN L232 SmtUtils]: Spent 5.03s on a formula simplification. DAG size of input: 123 DAG size of output: 74 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:10:55,991 WARN L232 SmtUtils]: Spent 7.52s on a formula simplification. DAG size of input: 112 DAG size of output: 73 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:10:58,112 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-27 13:10:58,112 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-27 13:10:58,112 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-27 13:10:58,113 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-27 13:10:58,113 INFO L899 garLoopResultBuilder]: For program point L8(line 8) no Hoare annotation was computed. [2022-04-27 13:10:58,113 INFO L899 garLoopResultBuilder]: For program point L8-2(lines 7 9) no Hoare annotation was computed. [2022-04-27 13:10:58,113 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 7 9) no Hoare annotation was computed. [2022-04-27 13:10:58,113 INFO L895 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2)) [2022-04-27 13:10:58,113 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 18 74) no Hoare annotation was computed. [2022-04-27 13:10:58,113 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse21 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse11 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse12 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (.cse13 (<= 1 main_~x~0)) (.cse14 (= main_~r~0 1)) (.cse15 (= main_~a~0 main_~y~0)) (.cse16 (< main_~x~0 main_~a~0)) (.cse17 (<= 1 main_~b~0)) (.cse18 (= main_~q~0 1)) (.cse19 (< main_~b~0 2)) (.cse2 (<= 1 main_~a~0)) (.cse20 (<= (+ main_~c~0 (* main_~b~0 2)) 2)) (.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 .cse21)) (.cse22 (<= 0 main_~c~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~xy~0 (* main_~y~0 main_~x~0))) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~x~0 2)) (.cse10 (= main_~p~0 1))) (or (and (<= main_~y~0 2) (= main_~k~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8 (= main_~c~0 main_~x~0) .cse9 .cse10) (and .cse11 (<= 1 main_~c~0) .cse12 .cse13 .cse1 .cse14 .cse15 (<= main_~c~0 2) .cse16 (<= main_~a~0 2) .cse17 .cse18 .cse19 .cse7) (and .cse11 .cse12 .cse13 .cse1 .cse14 .cse15 .cse16 (= main_~k~0 2) .cse20 .cse17 .cse18 .cse19 .cse7) (and (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) .cse21) .cse0 .cse1 .cse2 .cse22 .cse3 .cse4 .cse20 .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 .cse22 .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8 (= main_~x~0 (+ main_~c~0 main_~y~0)) .cse9 .cse10)))) [2022-04-27 13:10:58,113 INFO L895 garLoopResultBuilder]: At program point L48(line 48) the Hoare annotation is: (let ((.cse20 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse1 (<= 1 main_~x~0)) (.cse3 (= main_~r~0 1)) (.cse4 (= main_~a~0 main_~y~0)) (.cse5 (< main_~x~0 main_~a~0)) (.cse6 (<= 1 main_~b~0)) (.cse7 (= main_~q~0 1)) (.cse8 (< main_~b~0 2)) (.cse11 (<= 1 main_~a~0)) (.cse19 (<= (+ main_~c~0 (* main_~b~0 2)) 2)) (.cse10 (= main_~s~0 1)) (.cse2 (= main_~a~0 .cse20)) (.cse21 (<= 0 main_~c~0)) (.cse12 (= main_~b~0 main_~y~0)) (.cse13 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse14 (= main_~q~0 0)) (.cse15 (<= 1 main_~y~0)) (.cse9 (= main_~xy~0 (* main_~y~0 main_~x~0))) (.cse16 (= main_~a~0 main_~x~0)) (.cse17 (<= main_~x~0 2)) (.cse18 (= main_~p~0 1))) (or (and .cse0 (<= 1 main_~c~0) .cse1 (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) .cse2 .cse3 .cse4 (<= main_~c~0 2) .cse5 (<= main_~a~0 2) .cse6 .cse7 .cse8 .cse9) (and (<= main_~y~0 2) (= main_~k~0 0) .cse10 .cse2 .cse11 .cse12 .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~c~0 main_~x~0) .cse17 .cse18) (and .cse0 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) .cse1 .cse2 .cse3 .cse4 .cse5 (= main_~k~0 2) .cse19 .cse6 .cse7 .cse8 .cse9) (and (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) .cse20) .cse10 .cse2 .cse11 .cse21 .cse12 .cse13 .cse19 .cse14 .cse15 .cse9 .cse16 .cse17 .cse18) (and .cse10 .cse2 .cse21 .cse12 (= main_~k~0 1) .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~x~0 (+ main_~c~0 main_~y~0)) .cse17 .cse18)))) [2022-04-27 13:10:58,113 INFO L895 garLoopResultBuilder]: At program point L48-1(line 48) the Hoare annotation is: (let ((.cse20 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse1 (<= 1 main_~x~0)) (.cse3 (= main_~r~0 1)) (.cse4 (= main_~a~0 main_~y~0)) (.cse5 (< main_~x~0 main_~a~0)) (.cse6 (<= 1 main_~b~0)) (.cse7 (= main_~q~0 1)) (.cse8 (< main_~b~0 2)) (.cse11 (<= 1 main_~a~0)) (.cse19 (<= (+ main_~c~0 (* main_~b~0 2)) 2)) (.cse10 (= main_~s~0 1)) (.cse2 (= main_~a~0 .cse20)) (.cse21 (<= 0 main_~c~0)) (.cse12 (= main_~b~0 main_~y~0)) (.cse13 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse14 (= main_~q~0 0)) (.cse15 (<= 1 main_~y~0)) (.cse9 (= main_~xy~0 (* main_~y~0 main_~x~0))) (.cse16 (= main_~a~0 main_~x~0)) (.cse17 (<= main_~x~0 2)) (.cse18 (= main_~p~0 1))) (or (and .cse0 (<= 1 main_~c~0) .cse1 (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) .cse2 .cse3 .cse4 (<= main_~c~0 2) .cse5 (<= main_~a~0 2) .cse6 .cse7 .cse8 .cse9) (and (<= main_~y~0 2) (= main_~k~0 0) .cse10 .cse2 .cse11 .cse12 .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~c~0 main_~x~0) .cse17 .cse18) (and .cse0 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) .cse1 .cse2 .cse3 .cse4 .cse5 (= main_~k~0 2) .cse19 .cse6 .cse7 .cse8 .cse9) (and (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) .cse20) .cse10 .cse2 .cse11 .cse21 .cse12 .cse13 .cse19 .cse14 .cse15 .cse9 .cse16 .cse17 .cse18) (and .cse10 .cse2 .cse21 .cse12 (= main_~k~0 1) .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~x~0 (+ main_~c~0 main_~y~0)) .cse17 .cse18)))) [2022-04-27 13:10:58,113 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 18 74) no Hoare annotation was computed. [2022-04-27 13:10:58,113 INFO L899 garLoopResultBuilder]: For program point L42(lines 42 43) no Hoare annotation was computed. [2022-04-27 13:10:58,113 INFO L895 garLoopResultBuilder]: At program point L71(line 71) the Hoare annotation is: (and (<= 1 main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0)) (<= 1 main_~y~0)) [2022-04-27 13:10:58,114 INFO L895 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (<= (+ main_~c~0 main_~b~0) 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1)) [2022-04-27 13:10:58,114 INFO L895 garLoopResultBuilder]: At program point L38-1(line 38) the Hoare annotation is: (and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (<= (+ main_~c~0 main_~b~0) 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1)) [2022-04-27 13:10:58,114 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 18 74) the Hoare annotation is: true [2022-04-27 13:10:58,114 INFO L899 garLoopResultBuilder]: For program point L26(line 26) no Hoare annotation was computed. [2022-04-27 13:10:58,114 INFO L895 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-27 13:10:58,114 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-27 13:10:58,114 INFO L902 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-27 13:10:58,114 INFO L899 garLoopResultBuilder]: For program point L22-1(line 22) no Hoare annotation was computed. [2022-04-27 13:10:58,114 INFO L899 garLoopResultBuilder]: For program point L51(lines 47 56) no Hoare annotation was computed. [2022-04-27 13:10:58,114 INFO L895 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse20 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse1 (<= 1 main_~x~0)) (.cse3 (= main_~r~0 1)) (.cse4 (= main_~a~0 main_~y~0)) (.cse5 (< main_~x~0 main_~a~0)) (.cse6 (<= 1 main_~b~0)) (.cse7 (= main_~q~0 1)) (.cse8 (< main_~b~0 2)) (.cse11 (<= 1 main_~a~0)) (.cse19 (<= (+ main_~c~0 (* main_~b~0 2)) 2)) (.cse10 (= main_~s~0 1)) (.cse2 (= main_~a~0 .cse20)) (.cse21 (<= 0 main_~c~0)) (.cse12 (= main_~b~0 main_~y~0)) (.cse13 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse14 (= main_~q~0 0)) (.cse15 (<= 1 main_~y~0)) (.cse9 (= main_~xy~0 (* main_~y~0 main_~x~0))) (.cse16 (= main_~a~0 main_~x~0)) (.cse17 (<= main_~x~0 2)) (.cse18 (= main_~p~0 1))) (or (and .cse0 (<= 1 main_~c~0) .cse1 (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) .cse2 .cse3 .cse4 (<= main_~c~0 2) .cse5 (<= main_~a~0 2) .cse6 .cse7 .cse8 .cse9) (and (<= main_~y~0 2) (= main_~k~0 0) .cse10 .cse2 .cse11 .cse12 .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~c~0 main_~x~0) .cse17 .cse18) (and .cse0 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) .cse1 .cse2 .cse3 .cse4 .cse5 (= main_~k~0 2) .cse19 .cse6 .cse7 .cse8 .cse9) (and (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) .cse20) .cse10 .cse2 .cse11 .cse21 .cse12 .cse13 .cse19 .cse14 .cse15 .cse9 .cse16 .cse17 .cse18) (and .cse10 .cse2 .cse21 .cse12 (= main_~k~0 1) .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~x~0 (+ main_~c~0 main_~y~0)) .cse17 .cse18)))) [2022-04-27 13:10:58,114 INFO L895 garLoopResultBuilder]: At program point L47-2(lines 47 56) the Hoare annotation is: (let ((.cse20 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse1 (<= 1 main_~x~0)) (.cse3 (= main_~r~0 1)) (.cse4 (= main_~a~0 main_~y~0)) (.cse5 (< main_~x~0 main_~a~0)) (.cse6 (<= 1 main_~b~0)) (.cse7 (= main_~q~0 1)) (.cse8 (< main_~b~0 2)) (.cse11 (<= 1 main_~a~0)) (.cse19 (<= (+ main_~c~0 (* main_~b~0 2)) 2)) (.cse10 (= main_~s~0 1)) (.cse2 (= main_~a~0 .cse20)) (.cse21 (<= 0 main_~c~0)) (.cse12 (= main_~b~0 main_~y~0)) (.cse13 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse14 (= main_~q~0 0)) (.cse15 (<= 1 main_~y~0)) (.cse9 (= main_~xy~0 (* main_~y~0 main_~x~0))) (.cse16 (= main_~a~0 main_~x~0)) (.cse17 (<= main_~x~0 2)) (.cse18 (= main_~p~0 1))) (or (and .cse0 (<= 1 main_~c~0) .cse1 (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) .cse2 .cse3 .cse4 (<= main_~c~0 2) .cse5 (<= main_~a~0 2) .cse6 .cse7 .cse8 .cse9) (and (<= main_~y~0 2) (= main_~k~0 0) .cse10 .cse2 .cse11 .cse12 .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~c~0 main_~x~0) .cse17 .cse18) (and .cse0 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) .cse1 .cse2 .cse3 .cse4 .cse5 (= main_~k~0 2) .cse19 .cse6 .cse7 .cse8 .cse9) (and (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) .cse20) .cse10 .cse2 .cse11 .cse21 .cse12 .cse13 .cse19 .cse14 .cse15 .cse9 .cse16 .cse17 .cse18) (and .cse10 .cse2 .cse21 .cse12 (= main_~k~0 1) .cse13 .cse14 .cse15 .cse9 .cse16 (= main_~x~0 (+ main_~c~0 main_~y~0)) .cse17 .cse18)))) [2022-04-27 13:10:58,114 INFO L899 garLoopResultBuilder]: For program point L47-3(lines 47 56) no Hoare annotation was computed. [2022-04-27 13:10:58,114 INFO L895 garLoopResultBuilder]: At program point L41-1(lines 39 68) the Hoare annotation is: (let ((.cse0 (< main_~b~0 main_~a~0)) (.cse1 (<= 1 main_~x~0)) (.cse2 (<= main_~y~0 2)) (.cse6 (<= 1 main_~y~0)) (.cse7 (* main_~b~0 2)) (.cse5 (<= main_~b~0 main_~c~0)) (.cse3 (= main_~s~0 1)) (.cse4 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse8 (<= 0 main_~c~0)) (.cse10 (= main_~xy~0 (* main_~y~0 main_~x~0))) (.cse9 (<= main_~x~0 2))) (or (and .cse0 (= (+ (* main_~x~0 2) main_~b~0) main_~y~0) .cse1 .cse2 .cse3 .cse4 (< main_~x~0 main_~y~0) (= (+ main_~q~0 2) 0) .cse5 .cse6) (and .cse0 (< (* main_~c~0 2) 2) .cse1 .cse2 (< .cse7 2) .cse4 .cse8 (<= 0 main_~b~0) .cse6 (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0) .cse9) (and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~c~0 .cse7) (= main_~b~0 main_~x~0) .cse5 (< main_~x~0 main_~a~0) (<= main_~a~0 2) (= main_~q~0 1) .cse10) (and .cse3 .cse4 (<= 1 main_~a~0) .cse8 (= main_~b~0 main_~y~0) (<= (+ main_~c~0 main_~b~0) 2) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (< main_~c~0 main_~b~0) .cse10 (= main_~a~0 main_~x~0) .cse9 (= main_~p~0 1)))) [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point L72(line 72) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L895 garLoopResultBuilder]: At program point L41-2(lines 41 68) the Hoare annotation is: (and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 main_~y~0) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)) [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:10:58,115 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point L12(lines 12 13) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point L11(lines 11 14) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 10 16) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point L11-2(lines 10 16) no Hoare annotation was computed. [2022-04-27 13:10:58,115 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) no Hoare annotation was computed. [2022-04-27 13:10:58,117 INFO L356 BasicCegarLoop]: Path program histogram: [5, 4, 2, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:58,118 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:10:58,120 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:10:58,120 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L8-2 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:10:58,121 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 13:10:58,122 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 13:10:58,128 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L72 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L72 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-27 13:10:58,129 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-27 13:10:58,134 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:10:58,134 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:10:58,134 INFO L163 areAnnotationChecker]: CFG has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:10:58,144 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:10:58 BoogieIcfgContainer [2022-04-27 13:10:58,144 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:10:58,145 INFO L158 Benchmark]: Toolchain (without parser) took 516813.12ms. Allocated memory was 196.1MB in the beginning and 276.8MB in the end (delta: 80.7MB). Free memory was 148.7MB in the beginning and 131.3MB in the end (delta: 17.4MB). Peak memory consumption was 140.7MB. Max. memory is 8.0GB. [2022-04-27 13:10:58,145 INFO L158 Benchmark]: CDTParser took 0.24ms. Allocated memory is still 196.1MB. Free memory is still 165.3MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:10:58,145 INFO L158 Benchmark]: CACSL2BoogieTranslator took 253.98ms. Allocated memory is still 196.1MB. Free memory was 148.6MB in the beginning and 172.3MB in the end (delta: -23.7MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-27 13:10:58,145 INFO L158 Benchmark]: Boogie Preprocessor took 34.59ms. Allocated memory is still 196.1MB. Free memory was 172.3MB in the beginning and 170.9MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 13:10:58,145 INFO L158 Benchmark]: RCFGBuilder took 303.48ms. Allocated memory is still 196.1MB. Free memory was 170.9MB in the beginning and 158.0MB in the end (delta: 12.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 13:10:58,146 INFO L158 Benchmark]: TraceAbstraction took 516216.37ms. Allocated memory was 196.1MB in the beginning and 276.8MB in the end (delta: 80.7MB). Free memory was 157.2MB in the beginning and 131.3MB in the end (delta: 26.0MB). Peak memory consumption was 149.2MB. Max. memory is 8.0GB. [2022-04-27 13:10:58,146 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.24ms. Allocated memory is still 196.1MB. Free memory is still 165.3MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 253.98ms. Allocated memory is still 196.1MB. Free memory was 148.6MB in the beginning and 172.3MB in the end (delta: -23.7MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 34.59ms. Allocated memory is still 196.1MB. Free memory was 172.3MB in the beginning and 170.9MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 303.48ms. Allocated memory is still 196.1MB. Free memory was 170.9MB in the beginning and 158.0MB in the end (delta: 12.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 516216.37ms. Allocated memory was 196.1MB in the beginning and 276.8MB in the end (delta: 80.7MB). Free memory was 157.2MB in the beginning and 131.3MB in the end (delta: 26.0MB). Peak memory consumption was 149.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 516.1s, OverallIterations: 18, TraceHistogramMax: 23, PathProgramHistogramMax: 5, EmptinessCheckTime: 0.0s, AutomataDifference: 28.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 22.2s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 600 SdHoareTripleChecker+Valid, 8.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 507 mSDsluCounter, 4065 SdHoareTripleChecker+Invalid, 8.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 3208 mSDsCounter, 813 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 5308 IncrementalHoareTripleChecker+Invalid, 6121 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 813 mSolverCounterUnsat, 857 mSDtfsCounter, 5308 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 2853 GetRequests, 2538 SyntacticMatches, 19 SemanticMatches, 296 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1024 ImplicationChecksByTransitivity, 3.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=204occurred in iteration=11, InterpolantAutomatonStates: 201, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 2.8s AutomataMinimizationTime, 18 MinimizatonAttempts, 95 StatesRemovedByMinimization, 14 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 20 LocationsWithAnnotation, 193 PreInvPairs, 249 NumberOfFragments, 1890 HoareAnnotationTreeSize, 193 FomulaSimplifications, 2296 FormulaSimplificationTreeSizeReduction, 0.7s HoareSimplificationTime, 20 FomulaSimplificationsInter, 7197 FormulaSimplificationTreeSizeReductionInter, 21.4s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.5s SatisfiabilityAnalysisTime, 456.0s InterpolantComputationTime, 1642 NumberOfCodeBlocks, 1520 NumberOfCodeBlocksAsserted, 35 NumberOfCheckSat, 2686 ConstructedInterpolants, 0 QuantifiedInterpolants, 9132 SizeOfPredicates, 113 NumberOfNonLiveVariables, 3743 ConjunctsInSsa, 435 ConjunctsInUnsatCore, 29 InterpolantComputations, 4 PerfectInterpolantSequences, 8794/9490 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 47]: Loop Invariant Derived loop invariant: ((((((((((((((((a == c + b * k && 1 <= c) && 1 <= x) && b == x + a * s) && a == y * r + p * x) && r == 1) && a == y) && c <= 2) && x < a) && a <= 2) && 1 <= b) && q == 1) && b < 2) && xy == y * x) || (((((((((((((y <= 2 && k == 0) && s == 1) && a == y * r + p * x) && 1 <= a) && b == y) && yy == y * y) && q == 0) && 1 <= y) && xy == y * x) && a == x) && c == x) && x <= 2) && p == 1)) || ((((((((((((a == c + b * k && b == q * x + y * s) && 1 <= x) && a == y * r + p * x) && r == 1) && a == y) && x < a) && k == 2) && c + b * 2 <= 2) && 1 <= b) && q == 1) && b < 2) && xy == y * x)) || (((((((((((((k * y * s + q * k * x == y * r + p * x && s == 1) && a == y * r + p * x) && 1 <= a) && 0 <= c) && b == y) && yy == y * y) && c + b * 2 <= 2) && q == 0) && 1 <= y) && xy == y * x) && a == x) && x <= 2) && p == 1)) || ((((((((((((s == 1 && a == y * r + p * x) && 0 <= c) && b == y) && k == 1) && yy == y * y) && q == 0) && 1 <= y) && xy == y * x) && a == x) && x == c + y) && x <= 2) && p == 1) - InvariantResult [Line: 39]: Loop Invariant Derived loop invariant: (((((((((((b < a && x * 2 + b == y) && 1 <= x) && y <= 2) && s == 1) && a == y * r + p * x) && x < y) && q + 2 == 0) && b <= c) && 1 <= y) || ((((((((((b < a && c * 2 < 2) && 1 <= x) && y <= 2) && b * 2 < 2) && a == y * r + p * x) && 0 <= c) && 0 <= b) && 1 <= y) && q * x + y * s == 0) && x <= 2)) || ((((((((((p == 0 && b == x + a * s) && r == 1) && a == y) && c < b * 2) && b == x) && b <= c) && x < a) && a <= 2) && q == 1) && xy == y * x)) || ((((((((((((s == 1 && a == y * r + p * x) && 1 <= a) && 0 <= c) && b == y) && c + b <= 2) && yy == y * y) && q == 0) && c < b) && xy == y * x) && a == x) && x <= 2) && p == 1) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:10:58,216 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...